CN106651044B - 求解多目标带时间窗周期性车辆路径问题的智能调度算法 - Google Patents
求解多目标带时间窗周期性车辆路径问题的智能调度算法 Download PDFInfo
- Publication number
- CN106651044B CN106651044B CN201611237849.6A CN201611237849A CN106651044B CN 106651044 B CN106651044 B CN 106651044B CN 201611237849 A CN201611237849 A CN 201611237849A CN 106651044 B CN106651044 B CN 106651044B
- Authority
- CN
- China
- Prior art keywords
- solution
- path
- obj
- archive
- customer
- 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.)
- Active
Links
- 230000000737 periodic effect Effects 0.000 title claims abstract description 24
- 238000005457 optimization Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000011156 evaluation Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 3
- 239000002699 waste material Substances 0.000 claims description 2
- 238000010845 search algorithm Methods 0.000 abstract description 11
- 238000013461 design Methods 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 abstract description 4
- 238000011161 development Methods 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000010687 lubricating oil Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Images
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
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (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
本发明提供一种求解多目标带时间窗周期性车辆路径问题的智能调度算法,该算法运用于多目标带时间窗周期性车辆路径问题的设计和优化中,主要涉及物流运输和智能计算两大领域。发明的方法将优化过程包括:第一,从存档中选择解,对解在不同的目标上进行局部搜索,提高解的质量;第二,使用搜索得到的解更新存档。在多目标局部搜索算法中设计了多种邻域操作,避免陷入局部最优,提高算法的收敛速度。本发明对公开的对称样例和非对称样例进行了测试,证明了发明的方法是真实有效的。
Description
技术领域
本发明涉及物流运输和智能计算领域,更具体地,涉及一种求解多目标带时间窗周期性车辆路径问题的智能调度算法。
背景技术
随着国家经济的发展和科学技术的进步,物流产业逐渐成为国民经济中一个重要的服务行业。作为经济发展的“加速器”和产业结构演变的“润滑油”,物流产业的发展程度已经成为衡量一个国家现代化和综合国力的重要标志之一。而在物流产业中,最突出的则是物流成本问题。因此,对物流成本的优化显得尤为重要。
车辆路径问题的优化算法主要分为精确求解算法和智能算法。精确求解算法能够准确地找出全局最优的解,例如迪杰斯特拉算法。但是随着算例的规模增加,算法的运行时间会急剧增加,不适合解决大规模的问题。而智能算法通过交叉变异和局部搜索等操作将解推向更优的区域,最终得到人们可以接受的解。同时,智能算法不受搜索空间限制性假设的约束,能够从离散的多极值的高纬问题中以很高的概率找到全局最优解。另外,智能算法的终止条件往往是运行代数或者评估次数,这些都是人们设定的,所以运行时间是人们可以接受的。因此,智能算法十分适用于车辆路径问题的设计和优化。
多目标局部搜索算法是智能算法的一个重要分支,是一种使用多种邻域操作对解的各个目标进行优化的智能算法。在解决复杂的优化问题过程中,局部搜索是一种提高解的质量的重要方法。多目标局部搜索算法可以利用问题相关的信息设计不同的邻域操作,从而能够有效地提高解的质量。结合合理的存档策略,多目标局部搜索算法可以将搜索过程中得到的非占优解保存起来。多目标局部搜索算法框架清晰,易于理解,简单实用,被广发运用到组合优化、模式识别和自动控制等领域。因此,多目标局部搜索算法十分适合多目标带时间窗周期性车辆路径问题(MOPVRPTW)这样的组合优化问题。
发明内容
本发明提供一种性能较高的求解多目标带时间窗周期性车辆路径问题的智能调度算法。
为了达到上述技术效果,本发明的技术方案如下:
一种求解多目标带时间窗周期性车辆路径问题的智能调度算法,包括以下步骤:
S1:从存档中选择解,对解在不同的目标上进行局部搜索,提高解的质量;
S2:使用搜索得到的解更新存档。
进一步地,所述步骤S1的具体过程如下:
S111:初始化存档A,评估目标序号obj设置为1,其中obj=1,2,···,5;
S112:初始化解x;
S113:对解x进行评估;
S114:采用局部搜索LSobj优化x的第obj个目标,得到优化后的解x’;
S115:使用解x’更新存档A得到存档A1,并将存档A1复制给存档A;
S116:obj=obj+1;
S117:如果obj小于等于目标数M,则执行步骤S112,否则执行步骤S118;
S118:从存档A中随机选择一个解x1,obj设置为1;
S119:采用局部搜索LSobj优化x1的第obj个目标,得到优化后的解x1’;
S120:使用解x1’更新存档A得到A2,并将存档A2复制给存档A;
S121:obj=obj+1;
S122:如果obj小于等于目标数M,则执行步骤S119,否则执行步骤S123;
S123:如果未达到结束条件,则执行步骤S118,否则执行步骤S124;
S124:输出存档A,程序结束。
进一步地,所述步骤S113的过程是:
采用以下评估函数对解x进行评估:
f3=max{Tj,d|j=1,…,Rd,d=1,…,T}
其中,路径集合R包括了每天访问客户的路径集合Rd,故R={R1,R2,···,RT},其中T表示访问周期,每天的路径集合Rd则包含多条具体的路径rj,d,rj,d=<c(1,j,d),c(2,j,d),···,c(Nj,j,d)>,故Rd={r1,d,r2,d,···,rm,d},m表示该天出现的路径数,c(i,j,d)表示第d天中第j条路径中的第i个客户,Nj表示该路径出现的客户的数量,令c(0,j,d)=c(Nj+1,j,d)=0表示所有车辆从仓库出发,并最终返回仓库;
Distj,d表示第d天中第j条路径的行驶距离:
其中,dc(i,j,d)c(i+1,j,d)表示客户c(i,j,d)和客户c(i+1,j,d)之间的行驶距离;
Tj,d表示第d天中第j条路径的行驶时间:
其中,tc(i,j,d)c(i+1,j,d)表示c(i-1,j,d)和c(i,j,d)之间的行驶时间,sc(i,j,d)表示客户c(i,j,d)需要的服务时间。令ac(i,j,d)表示车辆到达客户c(i,j,d)的时间,lc(i,j,d)表示车辆离开客户c(i,j,d)的时间,ac(i,j,d)=lc(i-1,j,d)+dc(i-1,j,d)c(i,j,d)。如果车辆到客户的时间ac(i,j,d)早于该客户的最早服务时间e(i,j,d),则会产生等待时间:wc(i,j,d)=max(0,ec(i,j,d)-ac(i,j,d)),则lc(i,j,d)=ac(i,j,d)+wc(i,j,d)+sc(i,j,d);
Wid表示第d天中第j条路径上的所有客户的等待时间:
Dtj,d表示第d天中第j条路径上的所有客户的延迟时间,如果车辆到客户的时间晚于该客户的最迟服务时间lc(i,j,d),则会产生等待时间tc(i,j,d)=max(0,ac(i,j,d)-lc(i,j,d)),故
其中,f1表示在T天中所调度的所有车辆,为评估目标1即obj=1,优化目标1,可以减少每辆车的消耗;f2表示在T天中所有车辆行驶的总距离,为评估目标2即obj=2,优化目标2,可以减少车辆总的花费;f3表示在T天所调度的所有车辆中每个驾驶员最长的工作时间,为评估目标3即obj=3,优化目标3可以保证工作量的平衡;f4表示在T天中所有车辆的等待时间,为评估目标4即obj=4,优化目标4,可以提高工作效率,避免浪费工作时间;f5表示在T天中所有车辆的延迟时间,为评估目标5即obj=5,优化目标5,可以提高客户的满意程度。
进一步地,所述步骤S114中对于一个给定的解x和确定的优化目标obj进行优化时,包括以下几步:
S1141:如果obj等于1,执行步骤S1142,否则执行步骤S1142;
S1142:对目标1使用LS1进行优化,执行步骤S1144;
S1143:对目标2-5使用LS2-5进行其他,执行步骤S1144;
S1144:程序结束。
进一步地,所述步骤S1142中LS1的过程是:
依次进行对路径的优化操作LSR1和对模式的优化操作LSP1,并分别使用搜索得到的解更新存档。
对路径的优化操作LSR1是在客户模式不变的情况下通过调整客户的位置减少车辆数:先选择出客户数最少的路径,将该路径上的客户插入到当天的其他路径中;如果这条路径上的客户全部被插入到其他路径中,即减少了车辆数,那么可以继续选择客户数最少的路径进行优化。如果存在客户不能被合法地插入到其他路径中,则程序结束;
对模式的优化操作LSP1是通过调整客户的模式减少车辆数:先选择出客户数最少的路径,然后更改该路径上的客户的模式进而改变客户的位置,然后使用选择条件进行挑选;如果优化后的解的车辆数比优化前的解的车辆数要小的话,则进行替换;否则不进行替换;
因为周期性车辆路径问题涉及多天,所以LSR1和LSP1会在每一天进行优化。如果在某一天上解的质量没有得到提升,则撤销该天的领域操作。
进一步地,所述步骤S1143中对于一个给定的解x对目标2-5进行优化时,包括以下几步:
S11431:优化深度depth设置为0;
S11432:从邻域操作池中随机选择一个邻域操作;
S11433:使用该邻域操作对解优化,找到该邻域中最优的解x’;
S11434:使用解x’更新存档A;
S11435:如果fobj(x')<fobj(x),则x被x’替换;
S11436:如果depth小于最大深度MaxDepth次,则执行步骤S11432,否则,返回解x,其中MaxDepth为10,即对每一个解在同一个目标上的优化深度为10;而邻域操作池包括以下几种多种不同的邻域操作,OPool={O1,O2,···,On},其中,Oi表示第i个邻域操作:
O1表示随机地从选定的路径中删除一个客户,然后将其重新插入到最优位置;
O2表示随机地从选定的路径中删除一些客户,然后分别将它们重新插入到最优位置;
O3表示交换两个选定的路径中的客户序列,在一条选定的路径中,随机选择一个位置,将其后的所有客户看作一个序列,然后和另一条路径中的所有可能的序列进行交换,最后提升最大的解被保存下来;
O4表示随机地从选定的路径中选择一些客户,改变客户的模式,然后对于每个客户使用新的模式将客户插入到其最优位置;
O5表示将一条路径中的客户片段插入到另一条选定的路径中;
O6表示交换两条选定的路径中的客户片段;
O7表示将一条路径中的客户片段插入到同一条路径中;
O8表示交换一条路径中两个客户的位置;
O9表示从一天选定的路径中选择客户片段,并将其进行倒置;
因为周期性车辆路径问题涉及多天,所以上述的邻域操作需要在每一天进行优化,如果在某一天上解的质量没有得到提升,则撤销该天的领域操作。
进一步地,所述步骤S2中对于使用解x更新存档A时,包括以下几步:
S212:如果存档A为空,将解x放入A,执行步骤S222,否则执行步骤S213;
S213:令i等于1;
S214:解y为存档中第i个的解;
S215:如果B(y)占优B(x),执行步骤S222,否则执行步骤S216;
S216:如果B(x)和B(y)互不占优,执行步骤S217,否则执行步骤S218;
S217:如果解x目标值占优解y,则使用解x替代解y,并执行步骤S222,否则执行步骤S222;
S218:将解y从存档A中移除;
S219:i=i+1;
S220:如果i小于等于存档A中解的个数,则执行步骤S214,否则执行步骤S221;
S221:将解x放入存档A。
S222:程序结束。
与现有技术相比,本发明技术方案的有益效果是:
本发明运用于多目标带时间窗周期性车辆路径问题的设计和优化中,主要涉及物流运输和智能计算两大领域。发明的方法将优化过程包括:第一,从存档中寻找选择解,对解在不同的目标上进行局部搜索,提高解的质量;第二,使用最终得到的解更新存档。在多目标局部搜索算法中设计了多种邻域操作,避免陷入局部最优,提高算法的收敛速度。本发明对公开的对称样例和非对称样例进行了测试,证明了发明的方法是真实有效的。
附图说明
图1为实施例1中周期性车辆路径的解的具体结构图;
图2为实施例1中周期性车辆路径的解的相应的模式;
图3为实施例1中周期性车辆路径的解的相应的路径示意图;
图4邻域操作的结构;
图5多目标局部搜索算法优化多目标带时间窗周期性车辆路径问题的流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
以下结合附图进一步对发明的方法进行描述,可以四个部分:分别是解的表示和目标定义、局部搜索、邻域操作和存档更新策略。
1、解的表示和目标定义
多目标带时间窗周期性车辆路径问题的基本结构如图1-3所示,包括两个部分:模式集合P和路径集合R。模式集合P包括每个客户的访问模式pi,故P={p1,p2,…,pN},其中N表示客户的个数。路径集合R包括了每天访问客户的路径集合Rd,故R={R1,R2,…,RT},其中T表示访问周期。每天的路径集合Rd则包含多条具体的路径rj,d,故Rd={r1,d,r2,d,…,rm,d},其中m表示该天出现的路径数。每路具体的路径rj,d则是由多个客户组成,即rj,d=<c(1,j,d),c(2,j,d),…,c(Nj,j,d)>,其中c(i,j,d)表示第d天中第j条路径中的第i个客户,Nj表示该路径出现的客户的数量。为计算方便,令c(0,j,d)=c(Nj+1,j,d)=0,表示所有车辆从仓库出发,并最终返回仓库。
在优化程序中,分别是对上面描述的五个目标进行优化的,其中设计到Distj,d,Tj,d,Wj,d和Dtj,d。
Distj,d:表示第d天中第j条路径的行驶距离。
其中,dc(i,j,d)c(i+1,j,d)表示c(i,j,d)和c(i+1,j,d)之间的行驶距离。
Tj,d:表示第d天中第j条路径的行驶时间。
令ac(i,j,d)表示车辆到达客户c(i,j,d)的时间,lc(i,j,d)表示车辆离开客户c(i,j,d)的时间。则
ac(i,j,d)=lc(i,j,d)+dc(i-1,j,d)c(i,j,d)
其中,tc(i-1,j,d)c(i,j,d)表示客户c(i-1,j,d)和客户c(i,j,d)之间的行驶时间。如果车辆到客户的时间早于该客户的最早服务时间e(i,j,d),则会产生等待时间:wc(i,j,d)=max(0,ec(i,j,d)-ac(i,j,d))。则lc(i,j,d)=ac(i,j,d)+wc(i,j,d)+sc(i,j,d)。sc(i,j,d)表示客户c(i,j,d)需要的服务时间。因此,
Wj,d:表示第d天中第j条路径上的所有客户的等待时间。故,
Dtj,d:表示第d天中第j条路径上的所有客户的延迟时间。如果车辆到客户的时间晚于该客户的最迟服务时间lc(i,j,d),则会产生等待时间dtc(i,j,d)=max(0,ac(i,j,d)-lc(i,j,d))。故
2、局部搜索
因为常规的邻域操作不能直接减少车辆数,即不能优化目标一,所以优化目标一的邻域操作需要单独设计。因此,对五个目标的局部搜索可以分为两类,记为LS1和LS2-5。因此对于一个给定的解x和确定的优化目标obj进行优化时,包括以下几步:
1)如果obj等于1,执行步骤2,否则执行步骤S3;
2)对目标1使用LS1进行优化,执行步骤4;
3)对目标2-5使用LS2-5进行其他,执行步骤4;
4)程序结束。
对目标一的局部搜索LS1依次进行对路径的优化操作LSR1和对模式的优化操作LSP1,并分别使用搜索得到的解更新存档;
对路径的优化操作LSR1是在客户模式不变的情况下通过调整客户的位置减少车辆数:先选择出客户数最少的路径,将该路径上的客户插入到当天的其他路径中;如果这条路径上的客户全部被插入到其他路径中,即减少了车辆数,那么可以继续选择客户数最少的路径进行优化。如果存在客户不能被合法地插入到其他路径中,则程序结束;
对模式的优化操作LSP1是通过调整客户的模式减少车辆数:先选择出客户数最少的路径,然后更改该路径上的客户的模式进而改变客户的位置,然后使用选择条件进行挑选;如果优化后的解的车辆数比优化前的解的车辆数要小的话,则进行替换;否则不进行替换;
因为周期性车辆路径问题涉及多天,所以LSR1和LSP1会在每一天进行优化。如果在某一天上解的质量没有得到提升,则撤销该天的领域操作。
在局部搜索中,单个邻域操作容易陷入局部最优,而多个领域操作更容易逃离局部最优。因此,对其他目标的局部搜索LS2-5使用了多个邻域操作,形成布邻域操作池OPool={O1,O2,…,On}。其中,Oi表示第i个邻域操作。
对于一个给定的解x对目标2-5进行优化时,可以包括以下几步:
1)深度depth设置为0。
2)从邻域操作池中随机选择一个邻域操作。
3)使用该邻域操作对解优化,找到该邻域中最优的解x'。
4)使用解x'更新存档。
5)如果fobj(x')<fobj(x),则x被x'替换。
6)如果depth小于MaxDepth替,则执行步骤2,否则,返回解x,程序结束。
在该发明中,最大深度设置MaxDepth为10,即对每一个解在同一个目标上的优化深度为10。
3、邻域操作
这部分详细描述LS2-5使用的多种邻域操作。这些邻域操作可以被分为两类:路径间的操作与路径内的操作,如图4所示。这些邻域操作都涉及两个基本的函数:selectRoute和bestPosition。函数selectRoute定义了如何选择路径。对于目标二、四和五而言,selectRoute从当天的路径中随机选择一条。对于目标三而言,selectRoute选择当天路径中行驶时间最长的路径。函数bestPosition定义了插入客户的最优位置。插入标准是所有合法插入位置中使得解在给定目标上最小的位置,即解的接收标准是最大提升策略。因为周期性车辆路径问题涉及多天,所以上述的邻域操作需要在每一天中的路径进行操作。如果在某一天上解的质量没有得到提升,则撤销该天的领域操作。
O1随机地从选定的路径中删除一个客户,然后将其重新插入到最优位置。
O2随机地从选定的路径中删除一些客户,然后分别将它们重新插入到最优位置。
O2交换两个选定的路径中的客户序列。在一条选定的路径中,随机选择一个位置,将其后的所有客户看作一个序列,然后和另一条路径中的所有可能的序列进行交换,最后提升最大的解被保存下来。
O4随机地从选定的路径中选择一些客户,改变客户的模式。然后对于每个客户使用新的模式将客户插入到其最优位置。
O5将一条路径中的客户片段插入到另一条选定的路径中。
O5交换两条选定的路径中的客户片段。
O6将一条路径中的客户片段插入到同一条路径中。
O7交换一条路径中两个客户的位置。
O8从一天选定的路径中选择客户片段,并将其进行倒置。
4、存档更新策略
存档用于存储非占优解。但是,随着程序的进化越来越多的非占优解被发现,所以对存档大小的控制是必要的。本发明使用Epsilon存档策略,包括以下几步:
2)如果存档A为空,将解x放入A,执行步骤12,否则执行步骤3;
3)令i等于1;
4)解y为存档中第i个的解;
5)如果B(y)占优B(x),执行步骤12,否则执行步骤6;
6)如果B(x)和B(y)互不占优,执行步骤7,否则执行步骤8;
7)如果解x目标值占优解y,则使用解x替代解y,并执行步骤12,否则执行步骤12;
8)将解y从存档A中移除;
9)i=i+1;
10)如果i小于等于存档A中解的个数,则执行步骤4,否则执行步骤11;
11)将解x放入存档A。
12)程序结束。
多目标局部搜索算法优化MOPVRPTW的流程图如图5所示:
1)初始化存档A,评估目标序号obj设置为1,其中obj=1,2,···,5;
2)初始化解x;
3)对解x进行评估;
4)采用局部搜索LSobj优化x的第obj个目标,得到优化后的解x’;
5)使用解x’更新存档A得到存档A1,并将存档A1复制给存档A;
6)obj=obj+1;
7)如果obj小于等于目标数M,则执行步骤2,否则执行步骤8;
8)从存档A中随机选择一个解x1,obj设置为1;
9)采用局部搜索LSobj优化x1的第obj个目标,得到优化后的解x1’;
10)使用解x1’更新存档A得到A2,并将存档A2复制给存档A;
11)obj=obj+1;
12)如果obj小于等于目标数M,则执行步骤9,否则执行步骤13;
13)如果未达到结束条件,则执行步骤8,否则执行步骤14;
14)输出存档A,程序结束。
为了测试该算法的性能,选择快速非占优排序算法(NSGA-II)作为对比算法。该发明对公开的Solomon算例和非对称Real-Word算例进行测试。因为算例的规模大小差距较大,所以可以根据客户数将所有的算例划分为三种类型:小规模算例、中规模算例和大规模算例。它们的客户数分别位于[0,100),[100,200),[200,288]之间。它们的种群大小和最大代数如下表所示。另外,Epsilon存档中的ε为0.05。
算例的类型 | 种群大小 | 最大代数 |
小规模算例 | 70 | 500 |
中规模算例 | 100 | 1500 |
大规模算例 | 100 | 2000 |
将NSGA-II运行时间作为多目标局部搜索算法的终止条件。实验结果:在135个非对称算例上,MOLS在HV指标上和NSGA-II相比的结果为135/0/0(优/平/差),在IGD指标上也是135/0/0。在20个非对称算例上,HV和IGD指标分别是20/0/0和20/0/0。实验表明,多目标局部搜索算法在收敛性和多样性上要优化NSGA-II。这证明了发明的智能调度算法在多目标带时间窗周期性车辆路径的优化设计中是十分有效的。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (5)
1.一种求解多目标带时间窗周期性车辆路径问题的智能调度算法,其特征在于,包括以下步骤:
S1:从存档中选择解,对解在不同的目标上进行局部搜索,提高解的质量;
S2:使用搜索得到的解更新存档;
所述步骤S1的具体过程如下:
S111:初始化存档A,评估目标序号obj设置为1,其中obj=1,2,···,5;
S112:初始化解x;
S113:对解x进行评估;
S114:采用局部搜索LSobj优化x的第obj个目标,得到优化后的解x’;
S115:使用解x’更新存档A得到存档A1,并将存档A1复制给存档A;
S116:obj=obj+1;
S117:如果obj小于等于目标数M,则执行步骤S112,否则执行步骤S118;
S118:从存档A中随机选择一个解x1,obj设置为1;
S119:采用局部搜索LSobj优化x1的第obj个目标,得到优化后的解x1’;
S120:使用解x1’更新存档A得到A2,并将存档A2复制给存档A;
S121:obj=obj+1;
S122:如果obj小于等于目标数M,则执行步骤S119,否则执行步骤S123;
S123:如果未达到结束条件,则执行步骤S118,否则执行步骤S124;
S124:输出存档A,程序结束;
所述步骤S113的过程是:
采用以下评估函数对解x进行评估:
f3=max{Tj,d|j=1,L,Rd,d=1,L,T}
其中,路径集合R包括了每天访问客户的路径集合Rd,故R={R1,R2,…,RT},其中T表示访问周期,每天的路径集合Rd则包含多条具体的路径rj,d,rj,d=<c(1,j,d),c(2,j,d),…,c(Nj,j,d)>,故Rd={r1,d,r2,d,…,rm,d},m表示该天出现的路径数,c(i,j,d)表示第d天中第j条路径中的第i个客户,Nj表示该路径出现的客户的数量,令c(0,j,d)=c(Nj+1,j,d)=0表示所有车辆从仓库出发,并最终返回仓库;
Distj,d表示第d天中第j条路径的行驶距离:
其中,dc(i,j,d)c(i+1,j,d)表示客户c(i,j,d)和客户c(i+1,j,d)之间的行驶距离;
Tj,d表示第d天中第j条路径的行驶时间:
其中,tc(i,j,d)c(i+1,j,d)表示c(i,j,d)和c(i+1,j,d)之间的行驶时间,sc(i,j,d)表示客户c(i,j,d)需要的服务时间,令ac(i,j,d)表示车辆到达客户c(i,j,d)的时间,lc(i,j,d)表示车辆离开客户c(i,j,d)的时间,ac(i,j,d)=lc(i-1,j,d)+tc(i-1,j,d)c(i,j,d),如果车辆到客户的时间ac(i,j,d)早于该客户的最早服务时间e(i,j,d),则会产生等待时间:wc(i,j,d)=max(0,ec(i,j,d)-ac(i,j,d)),则lc(i,j,d)=ac(i,j,d)+wc(i,j,d)+sc(i,j,d);
Wjd表示第d天中第j条路径上的所有客户的等待时间:
Dtj,d表示第d天中第j条路径上的所有客户的延迟时间,如果车辆到客户的时间晚于该客户的最迟服务时间lc(i,j,d),则会产生等待时间tc(i,j,d)=max(0,ac(i,j,d)-lc(i,j,d)),故
其中,f1表示在T天中所调度的所有车辆,为评估目标1即obj=1,优化目标1,可以减少每辆车的消耗;f2表示在T天中所有车辆行驶的总距离,为评估目标2即obj=2,优化目标2,可以减少车辆总的花费;f3表示在T天所调度的所有车辆中每个驾驶员最长的工作时间,为评估目标3即obj=3,优化目标3可以保证工作量的平衡;f4表示在T天中所有车辆的等待时间,为评估目标4即obj=4,优化目标4,可以提高工作效率,避免浪费工作时间;f5表示在T天中所有车辆的延迟时间,为评估目标5即obj=5,优化目标5,可以提高客户的满意程度。
2.根据权利要求1所述的求解多目标带时间窗周期性车辆路径问题的智能调度算法,其特征在于,所述步骤S114中对于一个给定的解x和确定的优化目标obj进行优化时,包括以下几步:
S1141:如果obj等于1,执行步骤S1142,否则执行步骤S1142;
S1142:对目标1使用LS1进行优化,执行步骤S1144;
S1143:对目标2-5使用LS2-5进行优化,执行步骤S1144;
S1144:程序结束。
3.根据权利要求2所述的求解多目标带时间窗周期性车辆路径问题的智能调度算法,其特征在于,所述步骤S1142中LS1的过程是:
依次进行对路径的优化操作LSR1和对模式的优化操作LSP1,并分别使用搜索得到的解更新存档;
对路径的优化操作LSR1是在客户模式不变的情况下通过调整客户的位置减少车辆数:先选择出客户数最少的路径,将该路径上的客户插入到当天的其他路径中;如果这条路径上的客户全部被插入到其他路径中,即减少了车辆数,那么可以继续选择客户数最少的路径进行优化,如果存在客户不能被合法地插入到其他路径中,则程序结束;
对模式的优化操作LSP1是通过调整客户的模式减少车辆数:先选择出客户数最少的路径,然后更改该路径上的客户的模式进而改变客户的位置,然后使用选择条件进行挑选;如果优化后的解的车辆数比优化前的解的车辆数要小的话,则进行替换;否则不进行替换。
4.根据权利要求3所述的求解多目标带时间窗周期性车辆路径问题的智能调度算法,其特征在于,所述步骤S1143中对于一个给定的解x对目标2-5进行优化时,包括以下几步:
S11431:优化深度depth设置为0;
S11432:从邻域操作池中随机选择一个邻域操作;
S11433:使用该邻域操作对解优化,找到该邻域中最优的解x’;
S11434:使用解x’更新存档A;
S11435:如果fobj(x')<fobj(x),则x被x’替换;
S11436:如果depth小于最大深度MaxDepth次,则执行步骤S11432,否则,返回解x,其中MaxDepth为10,即对每一个解在同一个目标上的优化深度为10;
而邻域操作池包括以下几种多种不同的邻域操作,OPool={O1,O2,…,On},其中,Oi表示第i个邻域操作:
O1表示随机地从选定的路径中删除一个客户,然后将其重新插入到最优位置;
O2表示随机地从选定的路径中删除一些客户,然后分别将它们重新插入到最优位置;
O3表示交换两个选定的路径中的客户序列,在一条选定的路径中,随机选择一个位置,将其后的所有客户看作一个序列,然后和另一条路径中的所有可能的序列进行交换,最后提升最大的解被保存下来;
O4表示随机地从选定的路径中选择一些客户,改变客户的模式,然后对于每个客户使用新的模式将客户插入到其最优位置;
O5表示将一条路径中的客户片段插入到另一条选定的路径中;
O6表示交换两条选定的路径中的客户片段;
O7表示将一条路径中的客户片段插入到同一条路径中;
O8表示交换一条路径中两个客户的位置;
O9表示从一天选定的路径中选择客户片段,并将其进行倒置。
5.根据权利要求4所述的求解多目标带时间窗周期性车辆路径问题的智能调度算法,其特征在于,所述步骤S2中对于使用解x更新存档A时,包括以下几步:
S212:如果存档A为空,将解x放入A,执行步骤S222,否则执行步骤S213;
S213:令i等于1;
S214:解y为存档中第i个的解;
S215:如果B(y)占优B(x),执行步骤S222,否则执行步骤S216;
S216:如果B(x)和B(y)互不占优,执行步骤S217,否则执行步骤S218;
S217:如果解x目标值占优解y,则使用解x替代解y,并执行步骤S222,否则执行步骤S222;
S218:将解y从存档A中移除;
S219:i=i+1;
S220:如果i小于等于存档A中解的个数,则执行步骤S214,否则执行步骤S221;
S221:将解x放入存档A;
S222:程序结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611237849.6A CN106651044B (zh) | 2016-12-28 | 2016-12-28 | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611237849.6A CN106651044B (zh) | 2016-12-28 | 2016-12-28 | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106651044A CN106651044A (zh) | 2017-05-10 |
CN106651044B true CN106651044B (zh) | 2021-01-08 |
Family
ID=58832333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611237849.6A Active CN106651044B (zh) | 2016-12-28 | 2016-12-28 | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106651044B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635998B (zh) * | 2018-11-02 | 2023-04-07 | 华侨大学 | 一种求解带时间窗车辆路径问题的自适应多目标优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790398A (zh) * | 2005-12-28 | 2006-06-21 | 浙江工业大学 | 有时间窗的开放式车辆调度问题的粒子群优化方法 |
CN106056253A (zh) * | 2016-06-06 | 2016-10-26 | 合肥工业大学 | 一种配送干扰管理问题的多目标蚁群算法 |
-
2016
- 2016-12-28 CN CN201611237849.6A patent/CN106651044B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790398A (zh) * | 2005-12-28 | 2006-06-21 | 浙江工业大学 | 有时间窗的开放式车辆调度问题的粒子群优化方法 |
CN106056253A (zh) * | 2016-06-06 | 2016-10-26 | 合肥工业大学 | 一种配送干扰管理问题的多目标蚁群算法 |
Non-Patent Citations (2)
Title |
---|
Yanling Wang 等.Study on the model and tabu search algorithm for delivery and pickup vehiclerouting problem with time windows.《2008 IEEE International Conference on Service Operations and Logistics, and Informatics》.2008, * |
基于禁忌搜索算法的线路规划方案求解;廖大强 等;《计算机工程与设计》;20150531;第36卷(第5期);第1368-1374页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106651044A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598920B (zh) | 用于铸造并行车间主生产计划的多目标优化方法及系统 | |
CN111860754A (zh) | 基于蚁群以及遗传算法的agv调度方法 | |
CN113204417B (zh) | 一种基于改进遗传与萤火虫组合算法的多卫星多点目标观测任务规划方法 | |
Zhang et al. | Application on cold chain logistics routing optimization based on improved genetic algorithm | |
CN106651044B (zh) | 求解多目标带时间窗周期性车辆路径问题的智能调度算法 | |
CN111562786B (zh) | 多级优化的无人船舶路径规划方法及装置 | |
CN111709560A (zh) | 一种基于改进蚁群算法的解决车辆路径问题方法 | |
CN115907254A (zh) | 一种基于进化的多目标强化学习的车辆路线规划方法 | |
Xu et al. | A hybrid ant colony optimization for dynamic multidepot vehicle routing problem | |
CN116203959A (zh) | 基于hac算法的机器人路径规划方法及系统 | |
CN111553509B (zh) | 针对地质环境风险的轨道交通选线评估及成本优化方法 | |
CN112462704A (zh) | 一种面向传感器车间生产的混流批调度优化方法 | |
CN110209745B (zh) | 基于Radviz的智能电网数据聚类可视化方法 | |
CN103605493B (zh) | 基于图形处理单元的并行排序学习方法及系统 | |
Natalia et al. | Completion of capacitated vehicle routing problem (cvrp) and capacitated vehicle routing problem with time windows (cvrptw) using bee algorithm approach to optimize waste picking transportation problem | |
Belokurov et al. | Models of expert assessments and their study in problems of choice and decision-making in management of motor transport processes | |
Nouri et al. | Meta-heuristics algorithm for two-machine no-wait flow-shop scheduling problem with the effects of learning | |
Demirel et al. | A New Solution Approach To Multi-Depot Vehicle Routing Problem With Ant Colony Optimization. | |
CN115080225A (zh) | 一种单源最短路径计算方法与系统 | |
Ha et al. | Sumnas: Supernet with unbiased meta-features for neural architecture search | |
Muazu et al. | Efficient assignment algorithms for multi depot vehicle routing problem using genetic algorithm | |
Oxenstierna et al. | Storage assignment using nested annealing and hamming distances | |
Ma et al. | A neutral mutated operator applied for DE algorithms | |
Tu et al. | A study on business performance with the combination of Z-score and FOAGRNN hybrid model | |
Ye et al. | Research on the configuration of parameter/spl alpha/,/spl beta/,/spl rho/in ant algorithm exemplified by TSP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |