CN106056253A - 一种配送干扰管理问题的多目标蚁群算法 - Google Patents
一种配送干扰管理问题的多目标蚁群算法 Download PDFInfo
- Publication number
- CN106056253A CN106056253A CN201610415804.7A CN201610415804A CN106056253A CN 106056253 A CN106056253 A CN 106056253A CN 201610415804 A CN201610415804 A CN 201610415804A CN 106056253 A CN106056253 A CN 106056253A
- Authority
- CN
- China
- Prior art keywords
- path
- time iteration
- optimizing
- node
- goal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 86
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 68
- 238000005457 optimization Methods 0.000 claims description 66
- 241001251068 Formica fusca Species 0.000 claims description 50
- 239000003016 pheromone Substances 0.000 claims description 50
- 238000007726 management method Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 12
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种配送干扰管理问题的多目标蚁群算法,其特征包括以下步骤,步骤1、按传统算法生成若干配送车辆干扰前的初始最优路径,若干配送车辆按干扰前的初始最优路径进行配送;步骤2、根据干扰问题建立配送干扰管理模型;步骤3、当配送中发生干扰时,运用多目标改进蚁群算法对所述配送干扰管理模型进行迭代求解,获得最优解;步骤4:以所述最优解所对应的配送路径作为若干配送车辆的干扰恢复路径。本发明避免传统算法人工对多个目标问题权重设置的过多干预,能实现配送干扰管理问题的快速求解,满足其实时性和准确度的要求。
Description
技术领域
本发明涉及一种配送干扰管理问题的多目标蚁群算法,属于计算机仿真与方法优化技术领域。
背景技术
在“互联网+”和电子商务的背景下,供应链应对市场需求的速度越来越快,供应链中企业间的间隙越来越小,原材料、产品等在供应链中企业间的流转速度也越来越快,物流配送作为连接供应链中企业纽带的作用越来越突出。然而,实际物流配送经常会受到来自客户需求量变动、配送时间窗变动和客户数量增加等因素的干扰,如何妥善的应对这些干扰,防止供应链因受到干扰而发生断裂,已成为当前供应链研究的重要课题。
应对物流配送干扰的技术有re-scheduling和不确定性理论等方法,但这些方法存在优化方案与原方案偏离太大,实际操作难度大或需要预测干扰,提前生成冗余方案,造成系统浪费等局限。干扰管理以“系统扰动最小”为目标优化干扰,在优化时既考虑对原目标的优化,又要使干扰给系统带来的负作用最小,避免了以上方法的不足,但干扰管理优化需要实时处理系统中的各种信息,对信息处理的时效性要求很高,且干扰管理模型的求解大多都是NP-hard问题,求解较为困难。在这种情况下,开发一种实时、高效的干扰管理模型求解算法非常必要。
发明内容
本发明为了避免上述现有技术存在的不足之处,提供一种配送干扰管理问题的多目标蚁群算法,以期能实现对配送过程中客户需求量变动、配送时间窗变动和客户数量增加等因素的干扰管理模型进行高效求解,保证干扰管理模型的求解精度,提高干扰管理模型的求解速度。
本发明为解决技术问题采用如下技术方案:
本发明一种配送干扰管理问题的多目标蚁群算法的特点是应用在由一个配送中心、多个客户点和若干辆配送车所组成的配送网络中,将所述配送中心和多个客户点记为节点集合V={v0,v1,v2,…,vi,…,vn},v0表示所述配送中心,vi表示第i个客户点,1≤i≤n;且vi={di,wi};di表示第i个客户点vi的需求量,wi表示第i个客户点vi的时间窗,并有:wi=[ei,li],ei表示第i个客户点vi服务时间的下限,li第i个客户点vi服务时间的上限;所述节点集合V中任意第i个节点和第j个节点之间的弧记为(vi,vj),从而构成弧集E,并有E={(vi,vj)|i=0,1,2,…,n;j=0,1,2,…,n;i≠j};将所述配送网络的外接正方形的一个顶点设为原点o,将所述原点o的两条邻边分别设置为x轴和y轴,从而构成坐标系xoy;在所述坐标系xoy中,所述算法是按如下步骤进行:
步骤1、以若干辆配送车的总配送路径最短为优化目标,以每个客户点有且只有1辆车在其要求的时间窗内服务、所有配送车均从所述配送中心v0出发去服务相应的客户点后再返回所述配送中心v0为约束条件,生成若干辆配送车干扰前的初始最优路径;
步骤2、根据若干个客户点的需求量变化和/或若干个客户点的数量增加和/或若干个客户点的时间窗变化,建立配送干扰管理模型;
步骤3、利用多目标改进蚁群算法对所述配送干扰管理模型进行迭代求解,获得最优解;
步骤4:以所述最优解所对应的配送路径作为若干辆配送车的干扰恢复路径。
本发明所述的求解方法的特点也在于,
所述配送干扰管理模型为:
目标函数:
obj=min(P1,P2,P3) (1)
约束条件:
ei≤stj≤li (6)
X+a++a-=X* (7)
式(1)表示优化目标为多目标,P1表示以车辆数量最少为优化子目标;P2表示以路径变动最少为优化子目标,即P2=min(λ|a+|+λ′|a-|);λ表示优化后的干扰恢复路径相比于初始最优路径增加的路径成本参数;λ′表示优化后的干扰恢复路径相比于初始最优路径减少的路径成本参数;a+表示优化后的干扰恢复路径相比于初始最优路径增加的路径数量;a-表示优化后的干扰恢复路径相比于初始最优路径减少的路径数量;P3表示以路径成本最小为优化子目标,即P3=min(Σcijxijk);cij表示第i个节点vi与第j个节点vj之间的路径成本;xijk=1表示优化后的干扰恢复路径中的第k辆配送车经过第i个客户点vi和第j个客户点vj之间的配送路径,xijk=0优化后的干扰恢复路径中的第k辆配送车不经过第i个客户点vi和第j个客户点vj之间的配送路径;三个优化目标的之间的优先级为:P1>P2>P3;
式(2)和式(3)表示每个客户点有且仅有一辆车通过,xihk表示第k辆配送车经过第i个节点vi和第h个客户点vh之间的配送路径,xhjk表示第k辆配送车经过第h个客户点vh和第j个节点vj之间的配送路径;1≤h≤n;
式(4)表示任意一辆配送车的所装货物的总重量不超过车辆的载重量,Q表示配送车的载重量;
式(5)表示优化后的干扰恢复路径中的车辆先去第i个节点vi服务后再去第j个节点vj服务,sti表示优化后的干扰恢复路径中的车辆到达第i个节点vi的时间,wti优化后的干扰恢复路径中的车辆在第i个节点vi的服务时间,tij表示优化后的干扰恢复路径中的车辆从第i个节点vi到达第j个节点vj的路上行驶时间;M为无限大的正数;stj表示优化后的干扰恢复路径中的车辆到达第j个节点vj的时间;
式(6)表示优化后的干扰恢复路径中的车辆到达节点的时间必须在节点需求的时间窗范围内;
式(7)表示表示示优化后的干扰恢复路径与初始最优路径的总路径保持不变,X表示初始最优路径的数量,X*表示优化后的干扰恢复路径的数量。
所述步骤3的多目标改进蚁群算法是按如下步骤进行求解:
步骤1、利用干扰前的初始最优路径获得干扰后的最优路径
步骤1.1、干扰前的初始最优路径为其中受到干扰影响需求量或时间窗发生变化的点集合为B,如果中的点也发生了变化,则从中剔除变化的点得到路径
步骤1.2、对集合B中的点执行最近领域算法得到路径
步骤1.3、路径与路径合并生成的可行路径即为干扰后的最优路径
步骤2、利用干扰后的最优路径计算干扰后的最优路径的路径长度TLgb、车辆数量TNgb和路径变动数TBgb;
步骤3、定义迭代次数为L,最大迭代次数为Lmax;
步骤4、初始化L=1;
步骤5、优化车辆数量子目标P1,获得第L次迭代的优化车辆数量子目标P1的最优路径
步骤6、判断第L次迭代的最优路径的车辆数量TN(L)是否小于TNgb,若是,则将第L次迭代的最优路径赋值给将TN(L)赋值给TNgb,返回步骤11;否则,执行步骤7;
步骤7、优化路径变动子目标P2,获得第L次迭代的优化路径变动子目标P2的最优路径
步骤8、判断第L次迭代的最优路径的路径变动数量TB(L)是否小于TBgb,若是,则将第L次迭代的最优路径赋值给将TB(L)赋值给TBgb;
步骤9、优化路径长度子目标P3,获得第L次迭代的优化路径长度子目标P3的最优路径
步骤10、判断第L次迭代的最优路径的路径长度TL(L)是否小于TLgb,若是,则将第L次迭代的最优路径赋值给将TL(L)赋值给TLgb;
步骤11、将L+1赋值给L,判断L是否大于Lmax,若是,执行完毕,否则,返回步骤5。
所述步骤5是按如下步骤获得第L次迭代的优化车辆数量子目标P1的最优路径
步骤1、定义优化车辆数量子目标P1的信息素浓度集合为定义启发信息集合为η;
步骤2、初始化第L-1次迭代的优化车辆数量子目标P1的信息素浓度集合初始化η=1/D;D表示所述节点集合中两两节点间的距离矩阵;
步骤3、定义第L次迭代的优化车辆数量的局部最优路径为第L次迭代的优化车辆数量子目标P1的最优可行路径
步骤4、将干扰后的最优路径赋值给
步骤5、定义蚂蚁数量为M,蚂蚁的序号为m,初始化m=1;
步骤6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的优化车辆数量的配送路径
步骤7、判断m=1是否成立,若成立,则以第L次迭代的第m只蚂蚁的优化车辆数量的配送路径作为局部最优路径否则,执行步骤8;
步骤8、判断第L次迭代的第m只蚂蚁的优化车辆数量的配送路径的访问节点数是否大于第L次迭代的优化车辆数量的局部最优路径的访问节点数,若大于,则将第L次迭代的第m只蚂蚁的优化车辆数量的配送路径的作为第L次迭代的优化车辆数量的局部最优路径否则,所述第L次迭代的优化车辆数量的局部最优路径保持不变;
步骤9、判断所述第L次迭代的优化车辆数量的局部最优路径是否为可行解,若为,则以局部最优路径作为第L次迭代的优化车辆数量子目标P1的最优可行路径若不为,则保持不变;
步骤10、将m+1赋值给m,并判断m>M是否成立,若成立,则表示获得第L次迭代的M只蚂蚁的优化车辆数量的配送路径,并执行步骤11,若不成立,则返回步骤6执行;
步骤11、根据所述局部最优路径利用式(8)对第L-1次迭代的优化车辆数量子目标P1的信息素浓度集合中任意元素进行局部更新:
式(8)中,ρ为信息素的可保留系数,0≤ρ≤1,1-ρ为信息素的挥发率,为第L次迭代的优化车辆数量子目标P1在第i个节点vi到达第j个节点vj路径上的信息素浓度,为第L次迭代的优化车辆数量的局部最优路径的路径长度;
步骤12、根据所述最优路径利用式(9)对信息素浓度进行全局更新:
式(9)中,为最优路径的路径长度。
所述步骤7是按如下步骤获得第L次迭代的优化路径变动子目标P2的最优路径
步骤1、定义优化路径变动子目标P2的信息素浓度集合
步骤2、初始化第L-1次迭代的优化路径变动子目标P2的信息素浓度集合初始化η=1/D;
步骤3、定义第L次迭代的优化路径变动的局部最优路径为第L次迭代的优化路径变动子目标P2的最优可行路径
步骤4、将干扰后的最优路径赋值给
步骤5、初始化m=1;
步骤6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的优化路径变动的配送路径
步骤7、判断m=1是否成立,若成立,则以第L次迭代的第m只蚂蚁的优化路径变动的配送路径作为局部最优路径否则,执行步骤8;
步骤8、判断第L次迭代的第m只蚂蚁的优化路径变动的配送路径的路径变动数量是否小于第L次迭代的优化路径变动的局部最优路径的路径变动数量,若小于,则将第L次迭代的第m只蚂蚁的优化路径变动的配送路径的作为第L次迭代的优化路径变动的局部最优路径否则,所述第L次迭代的优化路径变动的局部最优路径保持不变;
步骤9、判断所述第L次迭代的优化路径变动的局部最优路径是否为可行解,若为,则以局部最优路径作为第L次迭代的优化路径变动子目标P2的最优可行路径若不为,则保持不变;
步骤10、将m+1赋值给m,并判断m>M是否成立,若成立,则表示获得第L次迭代的M只蚂蚁的优化路径变的配送路径,并执行步骤11,若不成立,则返回步骤6执行;
步骤11、根据所述局部最优路径利用式(10)对第L-1次迭代的优化路径变的信息素浓度集合中任意元素进行局部更新:
式(10)中,为第L次迭代的优化路径变动子目标P2在第i个节点vi到达第j个节点vj路径上的信息素浓度,为第L次迭代的优化路径变动的局部最优路径的路径长度。
所述步骤9是按如下步骤获得第L次迭代的优化路径长度子目标P3的最优路径
步骤1、定义优化路径长度子目标P3的信息素浓度集合
步骤2、初始化第L-1次迭代的优化路径长度子目标P3的信息素浓度集合初始化η=1/D;
步骤3、定义第L次迭代的优化路径长度子目标P3的最优可行路径
步骤4、将干扰后的最优路径赋值给
步骤5、初始化m=1;
步骤6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的配送路径
步骤7、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径是否为可行解,若是,则执行步骤8,否则,执行步骤11;
步骤8、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径的路径变动数量是否小于第L次迭代的优化路径长度子目标P3的最优可行路径的路径变动数量,若小于,执行步骤9,否则,执行步骤11;
步骤9、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径的路径长度是否小于第L次迭代的优化路径长度子目标P3的最优可行路径路径长度,若小于,执行步骤10,否则执行步骤11;
步骤10、将第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径赋值给第L次迭代的优化路径长度子目标P3的最优可行路径
步骤11、根据所述最优可行路径利用式(11)对第L-1次迭代的优化路径长度子目标P3的信息素浓度集合中任意元素进行局部更新:
式(11)中,为局部最优路径的路径长度。
所述带时间窗的蚂蚁算法是按如下步骤进行求解:
步骤a、定义已访问节点列表N、未访问节点列表U;
步骤b、将节点v0放入已访问节点列表N,未访问节点列表U中的元素为所有客户点;
步骤c、定义局部信息素浓度集合τ,将信息素浓度集合或或赋值给τ,定义初始信息数浓度τ0,τ0=1/(n×TLgb);
步骤d、定义迭代变量r,初始化r=0;
步骤e、利用式(12)计算第r次迭代已访问节点列表N(r)中第r个节点vr到未访问节点列表U(r)中的第j个节点的访问概率Pb(r,j),从而获得第r个节点vr到其未访问节点列表U(r)中所有节点的访问概率:
式(12)中,α和β分别表示信息素浓度和启发信息的幂权重;ηrj表示第r个节点vr到达第j个节点vj路径上的启发信息;且Drj表示所述距离矩阵D中第r个节点vr到第j个节点vj之间的距离;τrj表示第r个节点vr到达第j个节点vj路径上的信息素浓度;并有:τrj=1/[(lj-str)×(max(str+Drj,er)-str)];若τrj<0,则将τrj设置为趋近于0的正数;
步骤f、利用所述所有节点的访问概率,采用赌轮盘的方法从第r次迭代未访问节点集合U(r)中选择一个客户点,记为vk;
步骤g、判断将客户点vk放入第r次迭代已访问节点列表N(r)中车辆的载重量是否大于Q,若是,执行步骤h、若否,执行步骤i;
步骤h、将配送中心v0放入到第r次迭代已访问节点列表N(r)中,并将第r次迭代的车辆载重量、第r次迭代的车辆运行时间信息清零;
步骤i、将选择的客户点vk放入第r次已访问节点列表N(r)中,并从第r次迭代U(r)中删除节点vk;从而获得第r+1次迭代的车辆的载重量、第r+1次迭代的车辆运行时间信息;
步骤j、判断未访问节点集合U(r)是否为空,如果为空,则执行步骤k,否则,将r+1赋值给r,并返回步骤e;
步骤k、根据式(13)对第L-1次迭代的信息数浓度集合τ(L-1)中任意元素进行局部更新:
τij(L)=(1-ρ)×τij(L-1)+ρ×τ0 (13)。
与已有技术相比,本发明的有益效果体现在:
1、本发明运用干扰管理思想解决物流配送中遇到的干扰问题,以尽量小的扰动尽快恢复系统的正常运行,弥补了传统优化方法结果与原计划偏离大,实际操作难度大和提前准备冗余方案,造成系统浪费等缺陷。
2、本发明设计构建的配送干扰管理通用模型既考虑了原目标优化,又考虑了如何将干扰给系统带来的负面影响最小化,优化的结果可能不是费用最少的方案,却是最快实现系统恢复、最可行的方案,该方案在实践中的具有更好的可操作性;
3、本发明设计的多目标蚁群算法分别从车辆数量、路径变动和配送费用三个维度对配送中的干扰问题进行优化,三个目标之间既独立又相互联系,且不需要进行权重设置,避免了传统算法对多目标问题权重设置的干预过多的问题,保证了算法的准确性;
4、本发明以原初始最优方案为基础,通过优化能快速生成最优方案,该算法收敛速度快,模型求解速度快,保证了干扰管理问题信息处理实时性、对干扰反应快速性的要求。
5、本发明在蚁群算法的基础进行了改进,继承了蚁群算法在解决车辆路径问题的良好性能,保证了算法的有效性和针对性。
附图说明
图1为现有技术初始最优行驶路径;
图2为干扰优化的最优行驶路径;
图3干扰管理多目标蚁群算法P3迭代图;
图4重新调度蚁群算法P3迭代图。
具体实施方式
本实施例中,一种配送干扰管理问题的多目标蚁群算法是应用在由一个配送中心、多个客户点和若干辆配送车所组成的配送网络中,将配送中心和多个客户点记为节点集合V={v0,v1,v2,…,vi,…,vn},v0表示配送中心,vi表示第i个客户点,1≤i≤n;且vi={di,wi};di表示第i个客户点vi的需求量,wi表示第i个客户点vi的时间窗,并有:wi=[ei,li],ei表示第i个客户点vi服务时间的下限,li第i个客户点vi服务时间的上限;节点集合V中任意第i个节点和第j个节点之间的弧记为(vi,vj),从而构成弧集E,并有E={(vi,vj)|i=0,1,2,…,n;j=0,1,2,…,n;i≠j};将配送网络的外接正方形的一个顶点设为原点o,将原点o的两条邻边分别设置为x轴和y轴,从而构成坐标系xoy;在坐标系xoy中,包括以下步骤:
步骤1、按传统算法生成若干配送车辆干扰前的初始最优路径,若干配送车辆按干扰前的初始最优路径进行配送;步骤2、根据干扰问题(如:若干个客户点的需求量变化和/或若干个客户点的时间窗变化和/或客户点的数量增加)建立配送干扰管理模型;步骤3、当配送中发生干扰时,运用多目标改进蚁群算法对所述配送干扰管理模型进行迭代求解,获得最优解;步骤4:以所述最优解所对应的配送路径作为若干配送车辆的干扰恢复路径。具体的说,是按如下步骤进行:
步骤1、以若干辆配送车的总配送路径最短为优化目标,以每个客户点有且只有1辆车在其要求的时间窗内服务、所有配送车均从所述配送中心v0出发去服务相应的客户点后再返回所述配送中心v0为约束条件,生成若干辆配送车的干扰前的初始最优路径;如图1所示,干扰前的初始最优路径为0-1-2-3-4-5-0-6-7-8-9-0-10-11-12-13-14-0,配送车辆有3辆。
步骤2、根据若干个客户点的需求量变化和/或若干个客户点的数量增加和/或若干个客户点的时间窗变化,建立配送干扰管理模型;
目标函数:
obj=min(P1,P2,P3) (1)
约束条件:
ei≤stj≤li (6)
X+a++a-=X* (7)
式(1)表示优化目标为多目标,P1表示以车辆数量最少为优化子目标;P2表示以路径变动最少为优化子目标,即P2=min(λ|a+|+λ′|a-|);λ表示优化后的干扰恢复路径相比于初始最优路径增加的路径成本参数;λ′表示优化后的干扰恢复路径相比于初始最优路径减少的路径成本参数;a+表示优化后的干扰恢复路径相比于初始最优路径增加的路径数量;a-表示优化后的干扰恢复路径相比于初始最优路径减少的路径数量;P3表示以路径成本最小为优化子目标,即P3=min(Σcijxijk);cij表示第i个节点vi与第j个节点vj之间的路径成本;xijk=1表示优化后的干扰恢复路径中的第k辆配送车经过第i个客户点vi和第j个客户点vj之间的配送路径,xijk=0优化后的干扰恢复路径中的第k辆配送车不经过第i个客户点vi和第j个客户点vj之间的配送路径;三个优化目标的之间的优先级为:P1>P2>P3;
式(2)和式(3)表示每个客户点有且仅有一辆车通过,xihk表示第k辆配送车经过第i个节点vi和第h个客户点vh之间的配送路径,xhjk表示第k辆配送车经过第h个客户点vh和第j个节点vj之间的配送路径;1≤h≤n;
式(4)表示任意一辆配送车的所装货物的总重量不超过车辆的载重量,Q表示配送车的载重量;
式(5)表示优化后的干扰恢复路径中的车辆先去第i个节点vi服务后再去第j个节点vj服务,sti表示优化后的干扰恢复路径中的车辆到达第i个节点vi的时间,wti优化后的干扰恢复路径中的车辆在第i个节点vi的服务时间,tij表示优化后的干扰恢复路径中的车辆从第i个节点vi到达第j个节点vj的路上行驶时间;M为无限大的正数;stj表示优化后的干扰恢复路径中的车辆到达第j个节点vj的时间;
式(6)表示优化后的干扰恢复路径中的车辆到达节点的时间必须在节点需求的时间窗范围内;
式(7)表示表示示优化后的干扰恢复路径与初始最优路径的总路径保持不变,X表示初始最优路径的数量,X*表示优化后的干扰恢复路径的数量。
步骤3、利用多目标改进蚁群算法对所述配送干扰管理模型进行迭代求解,获得最优解;
步骤3.1、利用干扰前的初始最优路径获得干扰后的最优路径
步骤3.1.1、干扰前的初始最优路径为其中受到干扰影响需求量或时间窗发生变化的点集合为B,如果中的点也发生了变化,则从中剔除变化的点得到路径如干扰前的初始最优路径为0-1-2-3-4-5-0-6-7-8-9-0-14-13-12-11-10-0,客户点1、5、13的时间窗发生了变化,则变为0-2-3-4-0-6-7-8-9-0-14-12-11-10-0,集合B为{1,5,13};
步骤3.1.2、对集合B中的点执行最近领域算法得到路径如为0-1-0-5-0-13-0;
步骤3.1.3、路径与路径合并生成的可行路径即为干扰后的最优路径如0-2-3-4-0-6-7-8-9-0-14-12-11-10-0-1-0-5-0-13-0;
步骤3.2、利用干扰后的最优路径计算干扰后的最优路径的路径长度TLgb、车辆数量TNgb和路径变动数TBgb;
步骤3.3、定义迭代次数为L,最大迭代次数为Lmax;
步骤3.4、初始化L=1;
步骤3.5、优化车辆数量子目标P1,获得第L次迭代的优化车辆数量子目标P1的最优路径
步骤3.5.1、定义优化车辆数量子目标P1的信息素浓度集合为定义启发信息集合为η;
步骤3.5.2、初始化第L-1次迭代的优化车辆数量子目标P1的信息素浓度集合初始化η=1/D;D表示所述节点集合中两两节点间的距离矩阵;
步骤3.5.3、定义第L次迭代的优化车辆数量的局部最优路径为第L次迭代的优化车辆数量子目标P1的最优可行路径
步骤3.5.4、将干扰后的最优路径赋值给
步骤3.5.5、定义蚂蚁数量为M,蚂蚁的序号为m,初始化m=1;
步骤3.5.6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的优化车辆数量的配送路径
步骤3.5.7、判断m=1是否成立,若成立,则以第L次迭代的第m只蚂蚁的优化车辆数量的配送路径作为局部最优路径否则,执行步骤3.5.8;
步骤3.5.8、判断第L次迭代的第m只蚂蚁的优化车辆数量的配送路径的访问节点数是否大于第L次迭代的优化车辆数量的局部最优路径的访问节点数,若大于,则将第L次迭代的第m只蚂蚁的优化车辆数量的配送路径的作为第L次迭代的优化车辆数量的局部最优路径否则,所述第L次迭代的优化车辆数量的局部最优路径保持不变;
步骤3.5.9、判断所述第L次迭代的优化车辆数量的局部最优路径是否为可行解,若为,则以局部最优路径作为第L次迭代的优化车辆数量子目标P1的最优可行路径若不为,则保持不变;
步骤3.5.10、将m+1赋值给m,并判断m>M是否成立,若成立,则表示获得第L次迭代的M只蚂蚁的优化车辆数量的配送路径,并执行步骤3.5.11,若不成立,则返回步骤3.5.6执行;
步骤3.5.11、根据所述局部最优路径利用式(8)对第L-1次迭代的优化车辆数量子目标P1的信息素浓度集合中任意元素进行局部更新:
式(8)中,ρ为信息素的可保留系数,0≤ρ≤1,1-ρ为信息素的挥发率,为第L次迭代的优化车辆数量子目标P1在第i个节点vi到达第j个节点vj路径上的信息素浓度,为第L次迭代的优化车辆数量的局部最优路径的路径长度;
步骤3.5.12、根据所述最优路径利用式(9)对信息素浓度进行全局更新:
式(9)中,为最优路径的路径长度。
步骤3.6、判断第L次迭代的最优路径的车辆数量TN(L)是否小于TNgb,若是,则将第L次迭代的最优路径赋值给将TN(L)赋值给TNgb,返回步骤3.11;否则,执行步骤3.7;
步骤3.7、优化路径变动子目标P2,获得第L次迭代的优化路径变动子目标P2的最优路径
步骤3.7.1、定义优化路径变动子目标P2的信息素浓度集合
步骤3.7.2、初始化第L-1次迭代的优化路径变动子目标P2的信息素浓度集合初始化η=1/D;
步骤3.7.3、定义第L次迭代的优化路径变动的局部最优路径为第L次迭代的优化路径变动子目标P2的最优可行路径
步骤3.7.4、将干扰后的最优路径赋值给
步骤3.7.5、初始化m=1;
步骤3.7.6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的优化路径变动的配送路径
步骤3.7.7、判断m=1是否成立,若成立,则以第L次迭代的第m只蚂蚁的优化路径变动的配送路径作为局部最优路径否则,执行步骤3.7.8;
步骤3.7.8、判断第L次迭代的第m只蚂蚁的优化路径变动的配送路径的路径变动数量是否小于第L次迭代的优化路径变动的局部最优路径的路径变动数量,若小于,则将第L次迭代的第m只蚂蚁的优化路径变动的配送路径的作为第L次迭代的优化路径变动的局部最优路径否则,所述第L次迭代的优化路径变动的局部最优路径保持不变;
步骤3.7.9、判断所述第L次迭代的优化路径变动的局部最优路径是否为可行解,若为,则以局部最优路径作为第L次迭代的优化路径变动子目标P2的最优可行路径若不为,则保持不变;
步骤3.7.10、将m+1赋值给m,并判断m>M是否成立,若成立,则表示获得第L次迭代的M只蚂蚁的优化路径变的配送路径,并执行步骤3.7.11,若不成立,则返回步骤3.7.6执行;
步骤3.7.11、根据所述局部最优路径利用式(10)对第L-1次迭代的优化路径变的信息素浓度集合中任意元素进行局部更新:
式(10)中,为第L次迭代的优化路径变动子目标P2在第i个节点vi到达第j个节点vj路径上的信息素浓度,为第L次迭代的优化路径变动的局部最优路径的路径长度。
步骤3.8、判断第L次迭代的最优路径的路径变动数量TB(L)是否小于TBgb,若是,则将第L次迭代的最优路径赋值给将TB(L)赋值给TBgb;
步骤3.9、优化路径长度子目标P3,获得第L次迭代的优化路径长度子目标P3的最优路径
步骤3.9.1、定义优化路径长度子目标P3的信息素浓度集合
步骤3.9.2、初始化第L-1次迭代的优化路径长度子目标P3的信息素浓度集合初始化η=1/D;
步骤3.9.3、定义第L次迭代的优化路径长度子目标P3的最优可行路径
步骤3.9.4、将干扰后的最优路径赋值给
步骤3.9.5、初始化m=1;
步骤3.9.6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的配送路径
步骤3.9.7、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径是否为可行解,若是,则执行步骤3.9.8,否则,执行步骤3.9.11;
步骤3.9.8、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径的路径变动数量是否小于第L次迭代的优化路径长度子目标P3的最优可行路径的路径变动数量,若小于,执行步骤3.9.9,否则,执行步骤3.9.11;
步骤3.9.9、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径的路径长度是否小于第L次迭代的优化路径长度子目标P3的最优可行路径路径长度,若小于,执行步骤3.9.10,否则执行步骤3.9.11;
步骤3.9.10、将第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径赋值给第L次迭代的优化路径长度子目标P3的最优可行路径
步骤3.9.11、根据所述最优可行路径利用式(11)对第L-1次迭代的优化路径长度子目标P3的信息素浓度集合中任意元素进行局部更新:
式(11)中,为局部最优路径的路径长度。
步骤3.10、判断第L次迭代的最优路径的路径长度TL(L)是否小于TLgb,若是,则将第L次迭代的最优路径赋值给将TL(L)赋值给TLgb;
步骤3.11、将L+1赋值给L,判断L是否大于Lmax,若是,执行完毕,否则,返回步骤3.5。
步骤4:以干扰后的最优路径作为若干辆配送车的干扰恢复路径,如图2所示,干扰后的最优路径为0-14-1-2-3-4-0-5-6-7-8-9-0-13-12-11-10-0。
上述步骤3.5.6、3.7.6和3.5.6的带时间窗的蚂蚁算法是按如下步骤进行求解:
步骤a、定义已访问节点列表N、未访问节点列表U;
步骤b、将节点v0放入已访问节点列表N,未访问节点列表U中的元素为所有客户点;
步骤c、定义局部信息素浓度集合τ,将信息素浓度集合或或赋值给τ,定义初始信息数浓度τ0,τ0=1/(n×TLgb);
步骤d、定义迭代变量r,初始化r=0;
步骤e、利用式(12)计算第r次迭代已访问节点列表N(r)中第r个节点vr到未访问节点列表U(r)中的第j个节点的访问概率Pb(r,j),从而获得第r个节点vr到其未访问节点列表U(r)中所有节点的访问概率:
式(12)中,α和β分别表示信息素浓度和启发信息的幂权重;ηrj表示第r个节点vr到达第j个节点vj路径上的启发信息;且Drj表示所述距离矩阵D中第r个节点vr到第j个节点vj之间的距离;τrj表示第r个节点vr到达第j个节点vj路径上的信息素浓度;并有:τrj=1/[(lj-str)×(max(str+Drj,er)-str)];若τrj<0,则将τrj设置为趋近于0的正数;
步骤f、利用所述所有节点的访问概率,采用赌轮盘的方法从第r次迭代未访问节点集合U(r)中选择一个客户点,记为vk;
步骤g、判断将客户点vk放入第r次迭代已访问节点列表N(r)中车辆的载重量是否大于Q,若是,执行步骤h、若否,执行步骤i;
步骤h、将配送中心v0放入到第r次迭代已访问节点列表N(r)中,并将第r次迭代的车辆载重量、第r次迭代的车辆运行时间信息清零;
步骤i、将选择的客户点vk放入第r次已访问节点列表N(r)中,并从第r次迭代U(r)中删除节点vk;从而获得第r+1次迭代的车辆的载重量、第r+1次迭代的车辆运行时间信息;
步骤j、判断未访问节点集合U(r)是否为空,如果为空,则执行步骤k,否则,将r+1赋值给r,并返回步骤e;
步骤k、根据式(13)对第L-1次迭代的信息数浓度集合τ(L-1)中任意元素进行局部更新:
τij(L)=(1-ρ)×τij(L-1)+ρ×τ0 (13)。
应用实例
将本算法应用于Solomon在论文《An optimal algorithm for the travellingsalesman problem with time windows》中所述的基准VRPTW实例,这56个实例中的每个例子都含有100个客户和一个中心仓库,并规定了车辆负载、客户的时间窗和车辆运行时间。实例分为6大类,其中R1和R2中的客户为随机分布,C1和C2中客户有聚集趋势,RC1和RC2的客户兼有R类和C类的特征。以r103为例,其初始最优路径长度为1292.68,初始最优方案使用车辆数量为13;当干扰事件为时间窗变动时,分别用本方案提出的干扰管理多目标蚁群算法和重新调度蚁群算法求解的结果如表1所示,种群迭代图如图3和图4所示。表1中P1代表车辆数量,P2代表路径变动数量,P3代表路径长度。
表1干扰管理多目标蚁群算法与重新调度蚁群算法的求解结果对比表
1、从表1中可以看到干扰管理多目标蚁群算法在P1,P2,P3三个目标分量上的优化结果都优于重新调度蚁群算法,这是由于干扰管理多目标蚁群算法从原最优解生成初始最优解,而重新调度蚁群算法要重新构建初始最优解,干扰管理多目标蚁群算法初始最优解的质量要明显优于重新调度算法。
2、从图3和图4中可以看到干扰管理多目标蚁群算法在26次迭代时已经出现最优解,而重新调度蚁群算法在89次迭代才出现最优解,干扰管理多目标蚁群算法的收敛速度明显快于重新调度算法。
3、干扰管理多目标蚁群算法的路径变动为13条,而重新调度蚁群算法的路径变动达到了74条,在实际配送中,路径变动太大将给配送人员带来负面影响,驾驶员需要花费时间熟悉新线路,将严重影响配送效率,而干扰管理多目标蚁群算法减少了这种负面影响。
Claims (7)
1.一种配送干扰管理问题的多目标蚁群算法,其特征是应用在由一个配送中心、多个客户点和若干辆配送车所组成的配送网络中,将所述配送中心和多个客户点记为节点集合V={v0,v1,v2,…,vi,…,vn},v0表示所述配送中心,vi表示第i个客户点,1≤i≤n;且vi={di,wi};di表示第i个客户点vi的需求量,wi表示第i个客户点vi的时间窗,并有:wi=[ei,li],ei表示第i个客户点vi服务时间的下限,li第i个客户点vi服务时间的上限;所述节点集合V中任意第i个节点和第j个节点之间的弧记为(vi,vj),从而构成弧集E,并有E={(vi,vj)|i=0,1,2,…,n;j=0,1,2,…,n;i≠j};将所述配送网络的外接正方形的一个顶点设为原点o,将所述原点o的两条邻边分别设置为x轴和y轴,从而构成坐标系xoy;在所述坐标系xoy中,所述算法是按如下步骤进行:
步骤1、以若干辆配送车的总配送路径最短为优化目标,以每个客户点有且只有1辆车在其要求的时间窗内服务、所有配送车均从所述配送中心v0出发去服务相应的客户点后再返回所述配送中心v0为约束条件,生成若干辆配送车干扰前的初始最优路径;
步骤2、根据若干个客户点的需求量变化和/或若干个客户点的数量增加和/或若干个客户点的时间窗变化,建立配送干扰管理模型;
步骤3、利用多目标改进蚁群算法对所述配送干扰管理模型进行迭代求解,获得最优解;
步骤4:以所述最优解所对应的配送路径作为若干辆配送车的干扰恢复路径。
2.根据权利要求1所述的多目标蚁群算法,其特征是,所述配送干扰管理模型为:
目标函数:
obj=min(P1,P2,P3) (1)
约束条件:
ei≤stj≤li (6)
X+a++a-=X* (7)
式(1)表示优化目标为多目标,P1表示以车辆数量最少为优化子目标;P2表示以路径变动最少为优化子目标,即P2=min(λ|a+|+λ′|a-|);λ表示优化后的干扰恢复路径相比于初始最优路径增加的路径成本参数;λ′表示优化后的干扰恢复路径相比于初始最优路径减少的路径成本参数;a+表示优化后的干扰恢复路径相比于初始最优路径增加的路径数量;a-表示优化后的干扰恢复路径相比于初始最优路径减少的路径数量;P3表示以路径成本最小为优化子目标,即P3=min(∑cijxijk);cij表示第i个节点vi与第j个节点vj之间的路径成本;xijk=1表示优化后的干扰恢复路径中的第k辆配送车经过第i个客户点vi和第j个客户点vj之间的配送路径,xijk=0优化后的干扰恢复路径中的第k辆配送车不经过第i个客户点vi和第j个客户点vj之间的配送路径;三个优化目标的之间的优先级为:P1>P2>P3;
式(2)和式(3)表示每个客户点有且仅有一辆车通过,xihk表示第k辆配送车经过第i个节点vi和第h个客户点vh之间的配送路径,xhjk表示第k辆配送车经过第h个客户点vh和第j个节点vj之间的配送路径;1≤h≤n;
式(4)表示任意一辆配送车的所装货物的总重量不超过车辆的载重量,Q表示配送车的载重量;
式(5)表示优化后的干扰恢复路径中的车辆先去第i个节点vi服务后再去第j个节点vj服务,sti表示优化后的干扰恢复路径中的车辆到达第i个节点vi的时间,wti优化后的干扰恢复路径中的车辆在第i个节点vi的服务时间,tij表示优化后的干扰恢复路径中的车辆从第i个节点vi到达第j个节点vj的路上行驶时间;M为无限大的正数;stj表示优化后的干扰恢复路径中的车辆到达第j个节点vj的时间;
式(6)表示优化后的干扰恢复路径中的车辆到达节点的时间必须在节点需求的时间窗范围内;
式(7)表示表示示优化后的干扰恢复路径与初始最优路径的总路径保持不变,X表示初始最优路径的数量,X*表示优化后的干扰恢复路径的数量。
3.根据权利要求1所述的多目标蚁群算法,其特征在于:所述步骤3的多目标改进蚁群算法是按如下步骤进行求解:
步骤1、利用干扰前的初始最优路径获得干扰后的最优路径
步骤1.1、干扰前的初始最优路径为其中受到干扰影响需求量或时间窗发生变化的点集合为B,如果中的点也发生了变化,则从中剔除变化的点得到路径
步骤1.2、对集合B中的点执行最近领域算法得到路径
步骤1.3、路径与路径合并生成的可行路径即为干扰后的最优路径
步骤2、利用干扰后的最优路径计算干扰后的最优路径的路径长度TLgb、车辆数量TNgb和路径变动数TBgb;
步骤3、定义迭代次数为L,最大迭代次数为Lmax;
步骤4、初始化L=1;
步骤5、优化车辆数量子目标P1,获得第L次迭代的优化车辆数量子目标P1的最优路径
步骤6、判断第L次迭代的最优路径的车辆数量TN(L)是否小于TNgb,若是,则将第L次迭代的最优路径赋值给将TN(L)赋值给TNgb,返回步骤11;否则,执行步骤7;
步骤7、优化路径变动子目标P2,获得第L次迭代的优化路径变动子目标P2的最优路径
步骤8、判断第L次迭代的最优路径的路径变动数量TB(L)是否小于TBgb,若是,则将第L次迭代的最优路径赋值给将TB(L)赋值给TBgb;
步骤9、优化路径长度子目标P3,获得第L次迭代的优化路径长度子目标P3的最优路径
步骤10、判断第L次迭代的最优路径的路径长度TL(L)是否小于TLgb,若是,则将第L次迭代的最优路径赋值给将TL(L)赋值给TLgb;
步骤11、将L+1赋值给L,判断L是否大于Lmax,若是,执行完毕,否则,返回步骤5。
4.根据权利要求3所述的多目标蚁群算法,其特征在于:所述步骤5是按如下步骤获得第L次迭代的优化车辆数量子目标P1的最优路径
步骤1、定义优化车辆数量子目标P1的信息素浓度集合为定义启发信息集合为η;
步骤2、初始化第L-1次迭代的优化车辆数量子目标P1的信息素浓度集合初始化η=1/D;D表示所述节点集合中两两节点间的距离矩阵;
步骤3、定义第L次迭代的优化车辆数量的局部最优路径为第L次迭代的优化车辆数量子目标P1的最优可行路径
步骤4、将干扰后的最优路径赋值给
步骤5、定义蚂蚁数量为M,蚂蚁的序号为m,初始化m=1;
步骤6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的优化车辆数量的配送路径
步骤7、判断m=1是否成立,若成立,则以第L次迭代的第m只蚂蚁的优化车辆数量的配送路径作为局部最优路径否则,执行步骤8;
步骤8、判断第L次迭代的第m只蚂蚁的优化车辆数量的配送路径的访问节点数是否大于第L次迭代的优化车辆数量的局部最优路径的访问节点数,若大于,则将第L次迭代的第m只蚂蚁的优化车辆数量的配送路径的作为第L次迭代的优化车辆数量的局部最优路径否则,所述第L次迭代的优化车辆数量的局部最优路径保持不变;
步骤9、判断所述第L次迭代的优化车辆数量的局部最优路径是否为可行解,若为,则以局部最优路径作为第L次迭代的优化车辆数量子目标P1的最优可行路径若不为,则保持不变;
步骤10、将m+1赋值给m,并判断m>M是否成立,若成立,则表示获得第L次迭代的M只蚂蚁的优化车辆数量的配送路径,并执行步骤11,若不成立,则返回步骤6执行;
步骤11、根据所述局部最优路径利用式(8)对第L-1次迭代的优化车辆数量子目标P1的信息素浓度集合中任意元素进行局部更新:
式(8)中,ρ为信息素的可保留系数,0≤ρ≤1,1-ρ为信息素的挥发率,为第L次迭代的优化车辆数量子目标P1在第i个节点vi到达第j个节点vj路径上的信息素浓度,为第L次迭代的优化车辆数量的局部最优路径的路径长度;
步骤12、根据所述最优路径利用式(9)对信息素浓度进行全局更新:
式(9)中,为最优路径的路径长度。
5.根据权利要求3所述的求解方法,其特征在于:所述步骤7是按如下步骤获得第L次迭代的优化路径变动子目标P2的最优路径
步骤1、定义优化路径变动子目标P2的信息素浓度集合
步骤2、初始化第L-1次迭代的优化路径变动子目标P2的信息素浓度集合初始化η=1/D;
步骤3、定义第L次迭代的优化路径变动的局部最优路径为第L次迭代的优化路径变动子目标P2的最优可行路径
步骤4、将干扰后的最优路径赋值给
步骤5、初始化m=1;
步骤6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的优化路径变动的配送路径
步骤7、判断m=1是否成立,若成立,则以第L次迭代的第m只蚂蚁的优化路径变动的配送路径作为局部最优路径否则,执行步骤8;
步骤8、判断第L次迭代的第m只蚂蚁的优化路径变动的配送路径的路径变动数量是否小于第L次迭代的优化路径变动的局部最优路径的路径变动数量,若小于,则将第L次迭代的第m只蚂蚁的优化路径变动的配送路径的作为第L次迭代的优化路径变动的局部最优路径否则,所述第L次迭代的优化路径变动的局部最优路径保持不变;
步骤9、判断所述第L次迭代的优化路径变动的局部最优路径是否为可行解,若为,则以局部最优路径作为第L次迭代的优化路径变动子目标P2的最优可行路径若不为,则保持不变;
步骤10、将m+1赋值给m,并判断m>M是否成立,若成立,则表示获得第L次迭代的M只蚂蚁的优化路径变的配送路径,并执行步骤11,若不成立,则返回步骤6执行;
步骤11、根据所述局部最优路径利用式(10)对第L-1次迭代的优化路径变的信息素浓度集合中任意元素进行局部更新:
式(10)中,为第L次迭代的优化路径变动子目标P2在第i个节点vi到达第j个节点vj路径上的信息素浓度,为第L次迭代的优化路径变动的局部最优路径的路径长度。
6.根据权利要求3所述的多目标蚁群算法,其特征在于:所述步骤9是按如下步骤获得第L次迭代的优化路径长度子目标P3的最优路径
步骤1、定义优化路径长度子目标P3的信息素浓度集合
步骤2、初始化第L-1次迭代的优化路径长度子目标P3的信息素浓度集合初始化η=1/D;
步骤3、定义第L次迭代的优化路径长度子目标P3的最优可行路径
步骤4、将干扰后的最优路径赋值给
步骤5、初始化m=1;
步骤6、执行带时间窗的蚂蚁算法,获得第L次迭代的第m只蚂蚁的配送路径
步骤7、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径是否为可行解,若是,则执行步骤8,否则,执行步骤11;
步骤8、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径的路径变动数量是否小于第L次迭代的优化路径长度子目标P3的最优可行路径的路径变动数量,若小于,执行步骤9,否则,执行步骤11;
步骤9、判断第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径的路径长度是否小于第L次迭代的优化路径长度子目标P3的最优可行路径路径长度,若小于,执行步骤10,否则执行步骤11;
步骤10、将第L次迭代的第m只蚂蚁的优化路径长度子目标P3的配送路径赋值给第L次迭代的优化路径长度子目标P3的最优可行路径
步骤11、根据所述最优可行路径利用式(11)对第L-1次迭代的优化路径长度子目标P3的信息素浓度集合中任意元素进行局部更新:
式(11)中,为局部最优路径的路径长度。
7.根据权利要求4或5或6所述的多目标蚁群算法,其特征在于:所述带时间窗的蚂蚁算法是按如下步骤进行求解:
步骤a、定义已访问节点列表N、未访问节点列表U;
步骤b、将节点v0放入已访问节点列表N,未访问节点列表U中的元素为所有客户点;
步骤c、定义局部信息素浓度集合τ,将信息素浓度集合或或赋值给τ,定义初始信息数浓度τ0,τ0=1/(n×TLgb);
步骤d、定义迭代变量r,初始化r=0;
步骤e、利用式(12)计算第r次迭代已访问节点列表N(r)中第r个节点vr到未访问节点列表U(r)中的第j个节点的访问概率Pb(r,j),从而获得第r个节点vr到其未访问节点列表U(r)中所有节点的访问概率:
式(12)中,α和β分别表示信息素浓度和启发信息的幂权重;ηrj表示第r个节点vr到达第j个节点vj路径上的启发信息;且Drj表示所述距离矩阵D中第r个节点vr到第j个节点vj之间的距离;τrj表示第r个节点vr到达第j个节点vj路径上的信息素浓度;并有:τrj=1/[(lj-str)×(max(str+Drj,er)-str)];若τrj<0,则将τrj设置为趋近于0的正数;
步骤f、利用所述所有节点的访问概率,采用赌轮盘的方法从第r次迭代未访问节点集合U(r)中选择一个客户点,记为vk;
步骤g、判断将客户点vk放入第r次迭代已访问节点列表N(r)中车辆的载重量是否大于Q,若是,执行步骤h、若否,执行步骤i;
步骤h、将配送中心v0放入到第r次迭代已访问节点列表N(r)中,并将第r次迭代的车辆载重量、第r次迭代的车辆运行时间信息清零;
步骤i、将选择的客户点vk放入第r次已访问节点列表N(r)中,并从第r次迭代U(r)中删除节点vk;从而获得第r+1次迭代的车辆的载重量、第r+1次迭代的车辆运行时间信息;
步骤j、判断未访问节点集合U(r)是否为空,如果为空,则执行步骤k,否则,将r+1赋值给r,并返回步骤e;
步骤k、根据式(13)对第L-1次迭代的信息数浓度集合τ(L-1)中任意元素进行局部更新:
τij(L)=(1-ρ)×τij(L-1)+ρ×τ0 (13)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610415804.7A CN106056253B (zh) | 2016-06-06 | 2016-06-06 | 一种配送干扰管理问题的多目标蚁群算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610415804.7A CN106056253B (zh) | 2016-06-06 | 2016-06-06 | 一种配送干扰管理问题的多目标蚁群算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106056253A true CN106056253A (zh) | 2016-10-26 |
CN106056253B CN106056253B (zh) | 2021-04-23 |
Family
ID=57170281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610415804.7A Active CN106056253B (zh) | 2016-06-06 | 2016-06-06 | 一种配送干扰管理问题的多目标蚁群算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106056253B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651044A (zh) * | 2016-12-28 | 2017-05-10 | 中山大学 | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 |
CN106845907A (zh) * | 2017-02-10 | 2017-06-13 | 泉州装备制造研究所 | 一种基于帝国主义竞争算法的车辆路径规划方法 |
CN107944647A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市智搜信息技术有限公司 | 一种基于人工智能的饮水配送系统及方法 |
CN108108847A (zh) * | 2017-12-29 | 2018-06-01 | 合肥工业大学 | 一种电商物流最后一公里配送的路径规划方法 |
CN109784549A (zh) * | 2018-12-21 | 2019-05-21 | 重庆邮电大学 | 一种群智能动态物流背包优化方法 |
CN110018672A (zh) * | 2019-03-29 | 2019-07-16 | 南京航空航天大学 | 基于智能感知网的离散制造车间物料动态配送系统及方法 |
CN111144622A (zh) * | 2019-12-06 | 2020-05-12 | 合肥工业大学 | 用于规划快递员投递路线的方法、系统及存储介质 |
CN111325424A (zh) * | 2018-12-14 | 2020-06-23 | 中国移动通信集团山东有限公司 | 基于改进型蚁群算法的智能调度方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102278996A (zh) * | 2011-04-29 | 2011-12-14 | 西南交通大学 | 一种大规模多目标智能移动路径选择的蚁群优化处理方法 |
CN104992242A (zh) * | 2015-07-01 | 2015-10-21 | 广东工业大学 | 一种求解带软时间窗物流运输车辆路径问题的方法 |
CN105528675A (zh) * | 2015-12-04 | 2016-04-27 | 合肥工业大学 | 一种基于蚁群算法的生产配送调度方法 |
-
2016
- 2016-06-06 CN CN201610415804.7A patent/CN106056253B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102278996A (zh) * | 2011-04-29 | 2011-12-14 | 西南交通大学 | 一种大规模多目标智能移动路径选择的蚁群优化处理方法 |
CN104992242A (zh) * | 2015-07-01 | 2015-10-21 | 广东工业大学 | 一种求解带软时间窗物流运输车辆路径问题的方法 |
CN105528675A (zh) * | 2015-12-04 | 2016-04-27 | 合肥工业大学 | 一种基于蚁群算法的生产配送调度方法 |
Non-Patent Citations (2)
Title |
---|
丁秋雷: "客户时间窗变化的物流配送干扰管理模型—基于行为的视角", 《中国管理科学》 * |
蒋丽 等: "多集散点VRP客户需求扰动的恢复模型", 《系统工程》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651044B (zh) * | 2016-12-28 | 2021-01-08 | 中山大学 | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 |
CN106651044A (zh) * | 2016-12-28 | 2017-05-10 | 中山大学 | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 |
CN106845907A (zh) * | 2017-02-10 | 2017-06-13 | 泉州装备制造研究所 | 一种基于帝国主义竞争算法的车辆路径规划方法 |
CN108108847B (zh) * | 2017-12-29 | 2021-05-04 | 合肥工业大学 | 一种电商物流最后一公里配送的路径规划方法 |
CN108108847A (zh) * | 2017-12-29 | 2018-06-01 | 合肥工业大学 | 一种电商物流最后一公里配送的路径规划方法 |
CN107944647A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市智搜信息技术有限公司 | 一种基于人工智能的饮水配送系统及方法 |
CN111325424A (zh) * | 2018-12-14 | 2020-06-23 | 中国移动通信集团山东有限公司 | 基于改进型蚁群算法的智能调度方法和系统 |
CN111325424B (zh) * | 2018-12-14 | 2023-08-18 | 中国移动通信集团山东有限公司 | 基于改进型蚁群算法的智能调度方法和系统 |
CN109784549A (zh) * | 2018-12-21 | 2019-05-21 | 重庆邮电大学 | 一种群智能动态物流背包优化方法 |
CN110018672A (zh) * | 2019-03-29 | 2019-07-16 | 南京航空航天大学 | 基于智能感知网的离散制造车间物料动态配送系统及方法 |
CN110018672B (zh) * | 2019-03-29 | 2022-01-04 | 南京航空航天大学 | 基于智能感知网的离散制造车间物料动态配送系统及方法 |
CN111144622A (zh) * | 2019-12-06 | 2020-05-12 | 合肥工业大学 | 用于规划快递员投递路线的方法、系统及存储介质 |
CN111144622B (zh) * | 2019-12-06 | 2022-11-01 | 合肥工业大学 | 用于规划快递员投递路线的方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106056253B (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106056253A (zh) | 一种配送干扰管理问题的多目标蚁群算法 | |
Chen et al. | A distributed method for dynamic multi-robot task allocation problems with critical time constraints | |
CN106228314A (zh) | 基于深度增强学习的工作流调度方法 | |
De la Cruz et al. | A two-pheromone trail ant colony system—tabu search approach for the heterogeneous vehicle routing problem with time windows and multiple products | |
CN106155791A (zh) | 一种分布式环境下的工作流任务调度方法 | |
CN111311115B (zh) | 一种基于空间众包社交影响偏好的组任务分配方法 | |
CN107657364A (zh) | 一种面向烟草工厂物料运输的多载agv任务分配形成方法 | |
Zheng et al. | Link mapping-oriented ant colony system for virtual network embedding | |
CN106095555A (zh) | 基于蚁群算法的wsan中执行器任务调度方法 | |
CN110490381B (zh) | 基于混合整数规划的公交主干线规划方法 | |
Liu et al. | A framework for scheduling in cloud manufacturing with deep reinforcement learning | |
CN104199820A (zh) | 云平台MapReduce工作流调度优化方法 | |
El Bourakadi et al. | Multi-agent system based sequential energy management strategy for Micro-Grid using optimal weighted regularized extreme learning machine and decision tree | |
Kiaee | Integration of electric vehicles in smart grid using deep reinforcement learning | |
Iacobucci et al. | Cascaded model predictive control for shared autonomous electric vehicles systems with V2G capabilities | |
CN102063329B (zh) | 基于多代理协作的管理任务动态分解方法及系统 | |
CN113159369B (zh) | 一种基于优化遗传算法的多林区调度航线规划方法 | |
CN104540171B (zh) | 一种无线传感器网络中的节点任务分配方法 | |
Guo et al. | Max-flow rate priority algorithm for evacuation route planning | |
Foroozesh et al. | Resilient supplier selection in a supply chain by a new interval-valued fuzzy group decision model based on possibilistic statistical concepts | |
Huo et al. | [Retracted] Research on Solving Postdisaster Material Distribution and Scheduling with Improved NSGA‐II Algorithm | |
Chen et al. | A Multi-Agent Reinforcement Learning approach for bus holding control strategies. | |
Deng et al. | Study on recyclable reserve logistics network optimization based on e-commerce | |
Yan et al. | Evolutionary group theoretic tabu search approach to task allocation of autonomous unmanned aerial vehicles | |
Salam et al. | A novel framework for web service composition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |