发明名称 一种求解有时间窗的车辆路径问题的优化算法
摘要 本发明公开了一种求解有时间窗的车辆路径问题的优化算法,所述求解有时间窗的车辆路径问题的优化算法将现代启发式算法中的遗传算法和人工蜂群算法有机融合起来并加以改进,开发出一种改进的人工蜂群算法用于求解VRPTW问题。
申请公布号 CN106251009A 申请公布日期 2016.12.21
申请号 CN201610605037.6 申请日期 2016.07.27
申请人 清华大学 发明人 胡坚明;裴欣;刘宝龙;张毅
分类号 G06Q10/04(2012.01)I;G06N3/00(2006.01)I;G06N3/12(2006.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 张文宝
主权项 一种求解有时间窗的车辆路径问题的优化算法,所述求解有时间窗的车辆路径问题的优化算法是对油料保障VRPTW实例进行求解,所述油料保障VRPTW具体模型如下:minf(x)={Σ<sub>i</sub>Σ<sub>j</sub>Σ<sub>k</sub>v<sub>i,j</sub>x<sub>i,j</sub>,Σ<sub>j</sub>Σ<sub>k</sub>x<sub>0,j,k</sub>} i,j∈Z,k∈K    (1)约束条件公式为:Σ<sub>i,j∈Z</sub>Σ<sub>k∈K</sub>x<sub>i,j,k</sub>=1    (2)<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>Z</mi></msubsup><msub><mi>q</mi><mi>i</mi></msub><mo>&le;</mo><mi>Q</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001061437600000011.GIF" wi="1244" he="71" /></maths><maths num="0002"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>Z</mi></msubsup><msub><mi>x</mi><mrow><mn>0</mn><mo>,</mo><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>=</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001061437600000012.GIF" wi="1250" he="74" /></maths>Σ<sub>i,m∈Z</sub>Σ<sub>k∈K</sub>x<sub>i,m,k</sub>=Σ<sub>m,j∈Z</sub>Σ<sub>k∈K</sub>x<sub>m,j,k</sub>    (5)<maths num="0003"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>Z</mi></msubsup><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mn>0</mn><mo>,</mo><mi>k</mi></mrow></msub><mo>=</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001061437600000013.GIF" wi="1255" he="79" /></maths>Et<sub>i</sub>≤Se<sub>i</sub>≤Lt<sub>i</sub>    (7)Et<sub>i</sub>≤Sl<sub>i</sub>≤Lt<sub>i</sub>    (8)Et<sub>j,k</sub>≤Sl<sub>i,k</sub>+t<sub>i,j,k</sub>+t<sub>0</sub>≤Lt<sub>j,k</sub>    (9)Et<sub>j,k</sub>≤Sl<sub>j,k</sub>≤Lt<sub>j,k</sub>    (10)<maths num="0004"><math><![CDATA[<mrow><mfrac><msub><mi>L</mi><mi>k</mi></msub><mn>100</mn></mfrac><mo>&times;</mo><mn>23</mn><mo>&le;</mo><msub><mi>Q</mi><mi>k</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001061437600000014.GIF" wi="1272" he="95" /></maths>x<sub>i,j,k</sub>∈{0,1};y<sub>i,k</sub>∈{0,1} i,j∈Z,k∈K  (12),上述各公式中符号的具体含义如下:<img file="FDA0001061437600000015.GIF" wi="1785" he="985" /><img file="FDA0001061437600000021.GIF" wi="1786" he="1324" />其特征在于,所述油料保障VRPTW的求解步骤包括:(1)设定算法参数:种群大小coloneysize,工作蜂数量Ef(Employed),跟随蜂数量Ff(Follower)、局部最大搜索次数limit、全局最大迭代次数Maxcycles、每次程序运行次数runtime、需加油的坦克数量tank‑number、最多能使用的加油车数量vehicle‑number、最少使用数量Min_Use_Vehicle_Num、加油车最大载重量max_load、车速speed和交叉概率cross_rate,后方油库(车场)数量1和单车使用成本140为定值;(2)初始化种群,随机排列客户序列后插入加油车,生成coloneysize/2个初始解x<sub>i,j</sub>(i=1,2,3,...,M;j=1,2,3,...,N),将其暂记为A,计算各初始解的fit(x<sub>n</sub>)值;(3)设置全局迭代次数cycle=1;(4)设置局部搜索次数limit=1;(5)将A进行“动态交叉”操作,增加其种群多样性,生成新的种群B;(6)工作蜂采用改进后的动态邻域搜索策略勘探种群B的邻域,存优汰劣,得到新解v<sub>n,j</sub>种群,将其暂记为C,计算C的fit(x<sub>n</sub>)值;(7)若解未得到优化,令limit=limit+1,搜索继续;若解得到更新,则重置limit后继续进行邻域搜索;(8)跟随蜂根据改进后的强制保留精英锦标赛策略和“排序法”跟随策略,对C进行跟随开采,同样存优汰劣;(9)若解未得到优化,令limit=limit+1,搜索继续;若解得到更新,则重置limit后继续进行邻域搜索;(10)第(7)步和第(9)步中的limit达到最大限制次数后,工作蜂抛弃局部最优解转换为侦察蜂,根据设定的公式再次随机产生新解或根据改进后的初始解策略生成新解,此时完成一次全局迭代,新解产生后重复第(5)步至第(9)步;(11)记录当前已知最优解,令cycle=cycle+1;(12)判断全局搜索迭代次数cycle,如cycle<Maxcycles,则算法继续搜索;如cycle>Maxcycles,算法终止迭代,记录当前最小值,minf(x)越小,意味着算法求解效果越好。
地址 100084 北京市海淀区北京市100084-82信箱