[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062] 本发明的目的是提供一种公共自行车调度方法,来实现对公共自行车的调度,解决生活中公共自行车站点的自行车数量过饱和以及自行车数量过少不够用的问题。
[0063] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0064] 图1为本发明实施例公共自行车调度方法流程图,如图1所示,所述方法包括:
[0065] 步骤101:获取子区域内各公共自行车站点的位置信息以及需求量信息;所述子区域为对各所述公共自行车站点进行划分后形成的子区域;每个所述子区域包含一个调度中心;
[0066] 步骤102:根据所述公共自行车站点的位置信息以及需求量信息采用智能水滴算法对同一子区域内的公共自行车进行调度,得到最优路径,具体步骤如下:
[0067] 步骤1011、将智能水滴算法中的参数进行初始化,并初始化迭代次数a=1;
[0068] 步骤1012、构造调度方案,具体包括:
[0069] 步骤10121、水滴根据概率矩阵,优先选择概率较大的公共自行车站点作为要服务站点,所述概率矩阵公式如下:
[0070] 其中,τij为启发式算子, dij表示从站点i到站点j之间的距离;ε为大于零的自然数,δ为大零的自然数,FV为需要服务的站点集合,uij为节约算子,表示路径的节约量,uij=di0+d0j‑dij,0∈depot,i,j∈(1,2,…N),di0表示站点i到所述调度中心的距离,d0j表示站点j到所述调度中心的距离;
其中r=0.01,sw(i,j)为从站点i到
站点j的路径arc(i,j)中的泥土量;
[0071] 判断所述服务站点是否满足约束条件,得到第一判断结果,当所述第一判断结果表示满足约束条件时,则对所述服务站点进行调度,当所述第一判断结果表示不满足约束条件时,则按照水滴到其他所述公共自行车站点的概率值从大到小对站点进行访问,直到找到满足所述约束条件的站点;
[0072] 所述约束条件为:
[0073] 0≤dj+wijk≤Q,(i,j∈N∪M),k∈(1,2,…,K)
[0074] ej≤ti+wi+tij‑k(1‑xijk)≤fj,
[0075] 其中,Q表示每量运输车的最大承载量,dj表示运输车到达公共自行车站点的j距离,tij表示运输车从公共自行车站点i到公共自行车站点j的时间,ti表示运输车到达站点i的时间,wijk表示运输车从公共自行车站点i到公共自行车站点j的自行车数量,wi表示运输车在站点i的停留时间;M表示调度中心的集合,M={SN+1,SN+2,…,SN+M},N表示公共自行车站点的集合,N={v1,v2,…vN};ei、fj表示调度时刻;
[0076]
[0077] 如果所有可以访问的公共自行车站点都不满足所述约束条件,则水滴返回调度中心,由调度中心派遣其他运输车辆,当被访问的公共自行车站点满足所述约束条件时,确定当前被访问的公共自行车站点为被服务的下一个自行车站点;
[0078] 步骤10122.更新水滴的流速vely、水滴中的泥土量soiliwdy、路径arc(i,j)中的泥土量sw(i,j),具体公式如下:
[0079] 其中vely为当前水滴的流速,av、bv、cv为速度更新参数,vely‑1为上一次迭代中水滴的流速;
[0080] soiliwdy=soiliwdy‑1+Δsoil(i,j),其中soiliwdy为当前水滴中的泥土量,soiliwdy‑1为上一次迭代水滴中的泥土量,as、bs、cs为泥土更新参数,D(i,j)表示从站点i到站点j的路程,ε为大于零的自然数;
[0081] sw(i,j)y=sw(i,j)y‑1‑α*Δsoil(i,j),soilmin≤sw(i,j)y≤soilmax;其中,sw(i,j)y为当前路径中的泥土量,sw(i,j)y‑1为上一次迭代路径中的泥土量,TB
ρ为大于零的自然数;T 表示全局最优解;α
的为大于零的自然数;as、bs、cs为泥土更新参数,n为水滴到达目的地的个数;
[0082] 重复所述步骤10121和所述步骤10122直到所有需要调度服务的站点都被服务;
[0083] 步骤103、获取本次迭代计算得到的最优解,迭代次数a=a+1;
[0084] 步骤104、更新所述最优解所经过的路径上的泥土量;
[0085] 步骤105、判断所述迭代次数是否大于预先设定值,得到第二判断结果,若第二判断结果表示所述迭代次数大于所述预先设定值,则执行解的优化;
[0086] 步骤106、重复所述步骤102至所述步骤105直到迭代次数达到预先设定值,当迭代次数达到预先设定值后输出所有迭代中最优的调度方案。
[0087] 具体的,所述方法还包括:在所述根据所述公共自行车站点的位置信息以及需求量信息采用智能水滴算法对同一子区域内的公共自行车进行调度,得到最优路径之后判断对所述公共自行车的调度是否满足调度条件,得到第三判断结果,当第三判断结果表示对所述公共自行车的调度满足所述调度条件时,则根据所述公共自行车站点的位置信息和需求量信息采用智能水滴算法对同一子区域内的公共自行车进行调度:
[0088] 当在最佳调度时域[ai,bi],di≥0时,通过所述调度中心调入di辆自行车至所述公共自行车站点i,当在最佳调度时域[ai,bi],当di<0时,通过所述调度中心从所述公共自行车站点i调出di辆自行车;
[0089] 当所述第三判断结果表示对所述公共自行车的调度不满足所述调度条件时,则对不满足调度条件的情况进行惩罚:
[0090] 当对公共自行车的调度时刻在[ai,bi]外且在[ei,fi]内时,此时为不满足调度条件的情况,对所述不满足调度条件的情况进行惩罚,惩罚函数如下:
[0091]
[0092] 其中Cw表示每秒给工作人员的薪资,表示单位里程的油价,ai、bi表示调度时刻,ti表示对站点i的服务时间;
[0093] 具体的,所述执行解的优化具体包括:
[0094] 步骤4‑1、获取每次迭代中所有最优解,将所述所有最优解中代价值最小的最优解作为全局最优解;所述代价值用cost(Xnew)表示,其中Cw表示每秒
给工作人员的薪资,Cb表示单位里程的油价,ai、bi表示调度时刻,dij表示站点i到站点j的距离;ti表示对站点i的服务时间;
[0095] 步骤4‑2、将所述全局最优解作为模拟退火算法的初始解,所述初始解用X表示,初始化模拟退火算法中的所有参数;
[0096] 步骤4‑3、对所述初始解执行3‑opt变换,得到新解,用Xnew表示;
[0097] 步骤4‑4、计算所述Xnew的代价值,所述代价值用cost(Xnew)表示,其中Cw表示每秒
给工作人员的薪资,Cb表示单位里程的油价,ai、bi表示调度时刻,dij表示站点i到站点j的距离;ti表示对站点i的服务时间;
[0098]
[0099] 步骤4‑4、按照Metropolis准则接收新解,具体包括:在降温过程中根据以下公式接受新的解:
[0100] 重复步骤(2)‑(4)直到迭代次数满足预先设定值。
[0101] 具体的,所述更新所述最优解所经过的路径上的泥土量具体包括:IB
[0102] 其中T 表示最优解,sw(i,j)b‑1为上一次迭代路径中的泥土量, 表示最优路径上的水滴携带的泥土量,NIB表示当前迭代得到的最优解中的站点的个数。
[0103] 具体的,更新全局最优解,具体包括:
[0104] 当cost(TIB)<cost(TTB)时,TTB=TIB,其中TIB表示最优解,TTB表示全局最优解。
[0105] 如图2所示,图2为本发明实施例对公共自行车站点划分的区域图。
[0106] 按照最邻近原则将距离每个调度中心前K个最近的公共自行车站点划分为一个子区域,具体公式如下:
[0107]
[0108] 其中N表示公共自行车站点的数量,M表示子区域的数量,通过采用上述方法对自行车站点进行规划,将整个调度区域分为多个子区域,规划好每个调度中心对应管理的子区域。
[0109] 具体的,所述公共自行车站点的位置信息为坐标信息,所述需求量信息为各个公共自行车站点的调度量di、所述调度量di对应的时域[ei,fi]、所述调度量di对应的最佳时域[ai,bi]。
[0110] 当在最佳调度时域[ai,bi],di≥0时,通过所述调度中心调入di辆自行车至所述公共自行车站点i,当在最佳调度时域[ai,bi],当di<0时,通过所述调度中心从所述公共自行车站点i调出di辆自行车;
[0111] 当对公共自行车的调度时刻在[ai,bi]外且在[ei,fi]内时,此时为不满足调度条件的情况,并对所述不满足调度条件的情况进行惩罚,惩罚函数如下:
[0112] 如图3所示,图3为本发明实施例惩罚函数图。
[0113] 为了测试本发明中改进的智能水滴算法的有效性以及算法的高效性,本发明设计10个样本数据用来测试混合智能水滴算法。采用Matlab进行算法编程和对问题求解结果模拟仿真。测试所用的10个样本是通过程序随机生成的。所有测试样本的数据格式如表3.4所示。表3.4展示了样本p25的数据。样本数据的类型、对算法的评价指标以及模型的参数设置与混合蚁群算法实验中的一致不再赘述。对于混合智能水滴算法里的相关参数设置如下:
[0114] as=1,bs=0.1,cs=1,av=1,bv=0.1,cp=0.6,cw=0.3,α=1,β=1,[0115] 表1实验数据格式说明
[0116]
[0117] 对于模型和算法的重要参数做如下设置,Tco=21:00,cp=0.6(RMB/KM),tij=150*dij,ei=ai‑120,fi=bi+120,Tac=20(minute),cw=0.3。时间片的长度设置为15分钟,运输车的容量可以装载30辆自行车。根据时间限定规则:fi≤Tac+now。
[0118] 表2算例说明
[0119]
[0120] 本发明中采用10个测试样例来对改进的智能水滴算法进行测试,将其与传统智能水滴算法进行比较其求解结果下表所示。
[0121] 如图4所示,图4为本发明实施例表格2的算例数据求解结果图。
[0122]
[0123] 其中IHIWD是本发明最终的算法,IWD‑1是本发明提出增加了启发式因子和节约算子以及最大最小调制机制后的改进智能水滴算法。IWD是修改的传统智能水滴算法,对这个算法修改是为了使其可以用于求解本文中的模型,可以用来对比。通过对比每个算法的对每个具体样例的求解时间和求解结果的代价值,可以检测到算法的求解效率。算法的计算时间越短,得到的解决方案的代价值越低,则算法的求解效率越高。解决方案的代价值根据模型的目标函数来计算。
[0124] 图5为本发明实施例每代路径最小代价对比图,如图5所示,可以看到IWD‑1优于IWD,如果不对水滴中的泥土量加以限制,就会出现某条路线泥土量或多或者过少,算法会过早陷入停滞。
[0125] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0126] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。