CN110956325B - 一种带时间窗的电动汽车路径规划方法 - Google Patents

一种带时间窗的电动汽车路径规划方法 Download PDF

Info

Publication number
CN110956325B
CN110956325B CN201911203002.XA CN201911203002A CN110956325B CN 110956325 B CN110956325 B CN 110956325B CN 201911203002 A CN201911203002 A CN 201911203002A CN 110956325 B CN110956325 B CN 110956325B
Authority
CN
China
Prior art keywords
vehicle
node
code
optimal
fitness
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
Application number
CN201911203002.XA
Other languages
English (en)
Other versions
CN110956325A (zh
Inventor
冯定忠
蒋权威
田野
俞星辉
丁杨科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201911203002.XA priority Critical patent/CN110956325B/zh
Publication of CN110956325A publication Critical patent/CN110956325A/zh
Application granted granted Critical
Publication of CN110956325B publication Critical patent/CN110956325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种带时间窗的电动汽车路径规划方法,包括:1)设定相关的参数变量,建立模型;2)设计编码方式并重新定义相关操作方式:3)种群初始化,并初始化中心位置和疫苗;4)对种群进行分组,一部分执行搜寻模式,转步骤5,一部分执行跟踪模式,转步骤6;5)执行搜寻模式;6)执行跟踪模式;7)更新种群个体的适应度;8)更新种群的中心位置;9)对种群最优解进行模拟退火搜索;10)一次迭代结束,更新迭代次数g=g+1;11)判断是否满足终止条件,若满足,执行步骤12;否则,返回执行步骤4,进行新一轮迭代;12)对记录的最优解进行解码,输出最优方案。

Description

一种带时间窗的电动汽车路径规划方法
技术领域
本发明涉及一种带时间窗的电动汽车路径规划方法。
背景技术
近年来,随着社会对于环保的重视,绿色物流成为了物流企业未来发展的一个重要方向。传统运输过程中的燃油消耗和尾气排放造成了环境污染,电动汽车很好地减少了污染问题,因此得到了越来越广泛的应用。与燃油汽车不同,目前电动汽车的续航里程有一定的限制,因此,在使用中可能需要访问充电站。电动汽车作为一种新能源交通工具,能源利用效率高、无移动废弃排放,符合绿色物流的发展要求。考虑以上因素,对电动车辆路径规划方法的研究具有十分重要的意义。
随着物流企业越来越重视电动汽车在物流配送中的应用,提高电动汽车的配送效率以及有效应用充电或者换电设施降低配送成本成为了企业关注的焦点。另外,由于物流配送规模的不断增加,使用多个配送中心以及不同的车型进行配送在现实中更加常见。电动汽车有传导充电和更换电池两种能源供给方式,充电模式下,不同的情形充电的时间差异较大,换电模式是在换电站更换满电的电池,不同模式对带时间窗的电动汽车路径问题的求解有不同的影响。
现有的技术在解决带时间窗的电动汽车路径规划问题时,主要问题有:
(1)技术的通用性较差,很多技术目前关注的是单车场或单车型电动汽车路径规划问题,技术应用的范围较小。随着电动汽车的不断投入,多车场和多车型电动汽车的配送模式会更加常见,但用于求解多车场多车型电动汽车路径规划问题的技术方案很少,并且现有技术不能有效解决该问题。
(2)充电站或换电站的选择以及进入充电站或换电站的顺序不够合理,现有技术会在汽车电量即将用完时才选择进入充电站或换电站,而未考虑到在其他位置进入充电站或换电站可能会获得更低的配送成本,因此导致搜索空间较小,容易陷入局部最优解。
(3)不能综合考虑相关变量的联系,往往忽视或割裂了变量和约束之间的相互关系,导致求解速度慢、稳定性差、容易陷入局部最优等缺陷,得到的最优解质量低。例如,某些技术在求解多车场车辆路径问题时,会先将客户分配给固定车场,再由车场服务已分配的客户,导致求解搜索的空间变小,最终方案的成本仍然较高。
(4)相关技术的改进较为局限,不能很好地针对车辆路径问题的特性进行设计和改进,导致求解效果不理想。例如,某些技术在多车场车辆路径问题中,首先虚拟一个车场,所有车辆从虚拟车场出发,必须先到达实际的车场,再进行客户服务,但这种改进对于问题的求解依然不够理想。
发明内容
为了克服现有技术在解决电动汽车路径规划问题中的不足,如忽视或割裂了变量和约束之间联系、稳定性不高、求解过程缓慢、通用性较差、解的质量较低等,本发明要提供一种带时间窗的电动汽车路径规划方法,并同时考虑了多车场和多车型两个约束,具有稳定性高、通用性强、搜索效率高,求解精度高等特点,从而克服现有技术的不足,提升求解的性能。
本发明的技术构思是:
(1)针对技术通用性较差的缺陷,通过设计的新的编码和解码方式,将车辆的编号与所属车场等信息对应起来,可以进行不同类型电动汽车路径问题的求解,比如单车场、单车型、多车场、多车型等,提升了技术的通用性,拓宽了技术的应用范围,同时提高搜索的效率和解的质量。
(2)设计了一种新的编码方式,将车辆和客户同时进行编码,编码由两个联接的部分组成,第一部分是车辆编号的全排列,第二部分是客户编号的全排列,从而将车辆和客户两个关键变量紧密联系起来,克服了现有技术对变量联系考虑的不足,提升搜索效率。
(3)针对现有技术求解过程缓慢和解的质量较低的缺陷,本发明在猫群优化算法中嵌入模拟退火算法,并且保证在退火搜索之后,解的质量不会降低。同时,设定了全局信息交流的方式,增强了局部搜索能力和全局搜索能力,加快收敛速度,同时提升解的质量。另外,引入免疫算子,对车辆的服务序列进行免疫接种,扩大搜索空间,进一步提升解的质量。
(4)传统的猫群优化算法适用于连续型问题的求解,而车辆路径问题是离散型问题,因此,针对车辆路径问题的特性,重新设计了相关的改进方案和操作规则,使其适用于车辆路径问题的特征,在求解过程中提升搜索效率和解的质量。
(5)重新设计了跟踪模式,并且在跟踪模式下新增了跟踪种群中心位置的操作,利用全局信息引导个体,提高了全局搜索能力,降低陷入局部最优的概率,进一步保证解的质量。
(6)针对充电站的选择和进入的问题,设计了一种充电站选择和分配方式,通过对充电站和插入位置的遍历,并结合免疫算子对服务队列进行调整,选择最优的一种充电或换电方案,扩大了搜索空间,提升最优解的质量。
本发明解决技术问题采用的技术方案是:
一种带时间窗的电动汽车路径规划方法,包括如下步骤:
步骤1,设定相关的参数变量,建立模型:
M:客户数量;
K:车辆数目;
N:充电站数目;
ck1:车辆k的固定使用成本;
ck2:车辆k的可变成本;
Qk:车辆k的额定载重;
Dk:车辆k的额定行驶里程;
dij:从节点i到节点j的距离;
qi:节点i的需求量;
t0:所有车辆的出发时间;
Figure GDA0003633994010000031
车辆k到达节点i的时间;
Figure GDA0003633994010000032
车辆k从节点i驶出的时间;
ti:在节点i停留的时间;
[ti1,ti2]:节点i的服务时间窗;
v:车辆行驶速度;
μ1:提前惩罚成本;
μ2:延迟惩罚成本;
Ik:车辆k所访问的节点集合;
Figure GDA0003633994010000033
车辆k在节点i处的剩余的可行驶里程;
Figure GDA0003633994010000041
车辆k每次从满电状态访问到节点i时的累积行驶里程;
Figure GDA0003633994010000042
以车辆配送的总成本最低为目标建立目标函数如下:
Figure GDA0003633994010000043
其中,目标函数的第一部分为配送车辆的固定成本,第二部分为配送车辆的可变成本,第三部分为时间窗惩罚成本;
模型的相关约束如下:
Figure GDA0003633994010000044
Figure GDA0003633994010000045
Figure GDA0003633994010000046
Figure GDA0003633994010000047
Figure GDA0003633994010000048
Figure GDA0003633994010000049
Figure GDA00036339940100000410
Figure GDA00036339940100000411
Figure GDA00036339940100000412
Figure GDA00036339940100000413
Figure GDA0003633994010000051
Figure GDA0003633994010000052
以上模型中,式(1)表示目标函数,即完成配送的最低成本;式(2)表示使用的车辆不能超过当前车辆总和;式(3),式(4)表示一个客户只能被一辆车服务一次;式(5)表示车辆服务客户的需求总量不超过车辆载重;式(6)表示车辆从车场出发并返回原车场;式(7)表示车辆不能从一个车场直接进入另一个车场;式(8)表示车辆必须在规定的时间窗内进入或离开车场和充电站;式(9)表示车辆从本次满电状态到达节点j的累积里程;式(10)表示车辆在某个节点处的剩余可行驶里程;式(11)表示车辆不会在行驶途中将电量用尽;式(12)表示车辆进入充电站完成充电或换电之后必须驶出充电站;式(13)表示车辆到达节点j的时间为到达上一个节点的时间、停留服务时间和行驶时间三者之和;
步骤2,设计编码方式并重新设计相关操作:
步骤2.1,设计编码方式:对于一个共有M个客户,K辆不同车型的电动汽车路径规划问题,将客户的编号设置为1~M,车辆的编号为(M+1)~(M+K);个体的编码由两部分组成,编码的第一部分为车辆的编号,编码第二部分为客户的编号;充电站的编号为(M+K+1)~(M+K+N);例如,假设共有10个客户,5辆配送车辆,则个体的编码可以表示为[11,13,15,12,14,3,6,7,9,1,10,2,8,4,5],编码的前5位为车辆的编号,编码的后10位为客户的编号;
步骤2.2,设计路径检测算子,用来检测车辆的配送路线是否可行;路径检测的操作如下:(1)车辆k的额定行驶里程为Dk,配送路线的服务序列为Rk,按照顺序访问节点,每次到达一个节点i处,重新计算车辆k的剩余可行驶里程
Figure GDA0003633994010000053
当访问的节点为充电站时,
Figure GDA0003633994010000054
(2)若访问到每个节点i时都有
Figure GDA0003633994010000055
并且到达充电站或车场的时间都其在服务时间之内,则Rk可行;否则,Rk不可行;
步骤2.3,设计充电站插入方法,需要进入充电站的车辆k的配送路线的服务序列为Rk
步骤2.3.1,取出充电站编号的集合,从中取出一个充电站,依次尝试插入Rk的不同位置得到R′k,再对R′k使用路径检测算子检测;若可行,则计算并记录R′k的配送成本;若不可行,则舍弃R′k;遍历所有可以插入充电站的位置(从车场出发之后到返回车场之前的任意位置);
步骤2.3.2,遍历尝试插入每一个充电站,并记录最低成本的插入方案Rkb
步骤2.3.3,判断,如果Rkb不为空,则插入成功,将其作为最终的执行方案;否则,插入失败,返回失败信息;
步骤2.4,设计变异算子:设置一个混合搜索算子,其包括逆序邻域搜索算子、1-opt交换搜索算子、2-opt交换搜索算子和3-opt交换搜索算子;需要说明的是,由于设定的猫的位置编码由两部分组成,所以每一部分的变异操作只在该部分的内部进行,并且每次只进行其中一个部分的变异;
步骤2.5,设计解码操作,计算适应度:
步骤2.5.1,按照编码Ls中的客户编码部分的顺序,依次取出未分配的客户所在的节点i,按照车辆编码部分的顺序取出未分配的车辆k,将客户依次分配给当前车辆k,计算所分配客户的配送总重量,直到超出车辆k的装载量Qk为止,获得车辆k的服务序列Rk
步骤2.5.2,使用路径检测算子对Rk进行检测,若检测结果为不可行,则尝试进入充电站,转步骤2.5.3;否则,不需进入充电站,将服务序列Rk记录在解码序列Ls0中,继续进行下一辆车的任务分配,转步骤2.5.1;
步骤2.5.3,对Rk执行充电站插入算子,若成功,则记录插入充电站之后的服务序列Rk0,并将Rk0记录在解码序列Ls0中,继续进行下一辆车的分配,转步骤2.5.1;否则,保留Rk,转步骤2.5.4;
步骤2.5.4,对Rk进行疫苗接种,接种后服务序列为Rk1
步骤2.5.5,使用路径检测算子检测Rk1,如果可行,则将Rk1记录在Ls0中,继续进行下一辆车的分配,执行步骤2.5.1;否则,保留Rk,执行步骤2.5.6;
步骤2.5.6,判断Rk中的客户数量m,如果m>1,则从Rk中去除最后一位客户,转步骤2.5.2;否则,Ls为不可行解,记录该个体的适应度fs=0,并终止该个体的解码操作;
步骤2.5.7,依次进行客户的分配,直到所有的客户都被分配完毕,得到Ls解码后的解码序列Ls0,计算个体的适应度fs
步骤2.6,定义并计算种群的中心位置Lcen:统计种群所有个体的编码的相同位置上出现次数最多的值,将其作为中心位置Lcen中相同位置的编码值;需要说明的是,为避免重复,如果在某个位置上出现次数最多的值不止一个,则优先采用出现顺序靠前且不与前面已确定的编码值相重复的值;
步骤3,种群规模为S,初始化种群、中心位置和疫苗,具体操作如下:
步骤3.1,初始化疫苗:分别以每个车场位置为原点,随机从某个客户开始,依次扫过客户,从而得到一个全体客户的排列,该排列即为一个疫苗,获得有关每个车场的疫苗;
步骤3.2,建立二维坐标系,根据各个车场的坐标位置,将所有车场用线段连接起来,形成一个多边形U,计算该多边形的重心U0作为扫描算法的原点O;
步骤3.3,以原点O为扫描原点,随机选择一个客户节点i,从节点i按照顺时针或者逆时针方向依次扫描所有的客户点,记录扫描到的客户序列A;
步骤3.4,个体位置编码的车辆编码部分随机生成,将A作为客户编码部分;
步骤3.5,重复操作步骤3.3和3.4,生成S个个体;个体的位置编码为Ls(s=1,2,3......S),计算适应度为fs,完成种群的初始化;
步骤3.6,找出种群中的适应度最高的个体的位置,记为最优位置Lbest,最优适应度为fbest
步骤3.7,计算初始种群的中心位置Lcen
步骤4,根据设定的分组率δ,对种群进行分组,一部分执行搜寻模式,转步骤5,一部分执行跟踪模式,转步骤6;
步骤5,执行搜寻模式,记忆池的容量为P:
步骤5.1,第s只猫的适应度为fs,将其位置Ls复制P份放入记忆池中;
步骤5.2,采用变异算子对每个备份进行搜索,获得新的候选位置Lsp(p=1,2,3,......,P);
步骤5.3,进行解码,计算每个候选位置Lsp的适应度fsp,记录其中最优的适应度为fb,最优位置为Lb;如果fb>fs,则用最优位置为Lb替代Ls,即令Ls=Lb,fs=fb;否则,保持原来的位置Ls不变;
步骤5.4,对搜寻模式下的每个个体,执行步骤5.1至5.3,完成搜寻操作;
步骤6,执行跟踪模式,执行跟踪的猫的个体位置编码为Ls,跟踪最优位置Lbest和中心位置Lcen;跟踪Lbest的概率为θ,客户对比长度为W(W小于客户数量):
步骤6.1,产生一个0-1之间的随机数ran;如果ran<θ,则该个体跟踪最优位置Lbest,转步骤6.2;否则,跟踪中心位置Lcen,转步骤6.3;
步骤6.2,从Lbest客户编码的第一个编号开始,依次与Ls比较W长度内的客户编号;如果在W长度内,Lbest的某一个客户编号在Ls的W长度内出现,则按照出现的顺序依次记录在L′s的客户编码中(从客户编码的第一位开始记录,L′s为待移入的位置),直至Lbest与Ls在W长度内的所有客户比对完毕;剩余的客户编号按照在Ls中的排列依次填入L′s的客户编码的剩余部分;将Ls的车辆编码作为L′s的车辆编码,得到新的位置L′s,用L′s代替Ls,即令Ls=L′s
步骤6.3,从Lcen客户编码的第一个编号开始,依次与Ls比较W长度内的客户编号;如果在W长度内,Lcen的某一个客户编号在Ls的W长度内出现,则按照出现的顺序依次记录在L′s的客户编码中(从客户编码的第一位开始记录,L′s为待移入的位置),直至Lcen与Ls在W长度内的所有客户比对完毕;剩余的客户编号按照在Ls中的排列依次填入L′s的客户编码的剩余部分;将Ls的车辆编码作为L′s的车辆编码,得到新的位置L′s,用L′s代替Ls,即令Ls=L′s
步骤6.4,对跟踪模式下的个体,分别执行步骤6.1-6.3,完成跟踪操作;
步骤7,更新种群个体的适应度,并更新种群最优位置Lbest和最优适应度fbest
步骤8,更新种群的中心位置Lcen
步骤9,对种群最优解进行退火搜索,初始温度E,降温系数为α,初始的当前温度E1=E,终止温度为E2,内循环次数为H;退火搜索之前的最优位置为Lbest,其最优适应度为fbest;设置最优解的副本为Lc,令Lc=Lbest,fc=fbest
步骤9.1,判断当前代数g是否为设定的退火搜索代数,如果是,继续执行以下步骤;否则,转步骤10;
步骤9.2,执行内循环的前H/2次,每次使用变异算子对Lc的车辆编码部分进行操作得到L′c;如果min{1,exp[-(Z(L′c)-Z(Lc))/E1]}≥random[0,1],则用L′c替代Lc,即令Lc=L′c;记录退火搜索到的最优适应度为fsa,最优解为Lsa
步骤9.3,执行内循环的后H/2次,每次使用变异算子对Lc的客户编码部分进行操作得到L′c;如果min{1,exp[-(Z(L′c)-Z(Lc))/E1]}≥random[0,1],则用L′c替代Lc,即令Lc=L′c;记录退火搜索到的最优适应度为fsa,最优解为Lsa
步骤9.4,令E1=E1*α,如果E1≤E2,则模拟退火搜索终止,进行判断:如果fsa>fbest,则替代之前的最优解,令Lbest=Lsa,fbest=fsa;否则,保持原来的最优解不变;如果E1>E2,返回执行步骤9.2;
步骤10,一次迭代结束,更新迭代次数g=g+1;
步骤11,判断是否满足终止条件,若g>G,执行步骤12;否则,进行新一轮迭代,返回执行步骤4;
步骤12,对记录的最优位置Lbest进行解码,其适应度的倒数1/fbest为目标函数的值;解码获得形式如下:假设最优解的编码为[11,13,15,12,14,3,6,7,9,1,10,2,8,4,5],解码后的服务序列为[11,3,6,16,7,11;13,9,1,10,2,13;15,8,4,5,17,15],解码获得的服务序列中,两个相同车辆编号之间的序列即为该车辆的服务序列;例如,车辆11服务客户3、6和7,服务客户6之后进入编号为16的充电站;车辆13服务客户9、1、10和2,不进入充电站;车辆15服务客户8、4和5,服务客户5之后进入编号为17的充电站;未被使用的车辆和充电站的编号不在解码序列中出现,输出最优方案。
本发明的有益效果是:建立了带时间窗的电动汽车路径问题的整数规划模型,有效简化了模型,使问题的研究更方便有效;在猫群优化算法中,成功融合模拟退火算法和人工免疫算子,提升了算法的全局优化能力和局部搜索能力;利用设定的扫描算法获得较优的初始解,加快了搜索过程;设计了一种新的用于多车场多车型电动汽车路径规划问题的编码方式,将车辆和客户同时进行编码,保证了变量之间的信息交流,提升了搜索过程的效率,加快了收敛速度;根据车辆路径问题的特性,重新设计了猫群优化算法的相关操作,使其成功运用于车辆路径问题,拓宽了车辆路径问题求解的技术方案,扩大了算法的应用和研究领域;改进了猫群算法的搜寻模式,利用混合搜索算子提升了局部搜索能力,加快了收敛速度;重新制定了跟踪模式,在跟踪种群最优之外,另外增加了跟踪种群中心位置的操作,促进了种群的信息交流,加快了收敛速度,提升了算法的全局搜索性能,降低了陷入局部最优的概率;设计了一种充电站的插入方法,保证充电站的选择和插入方案最优,扩大了搜索空间,提升了解的质量;利用模拟退火算法对种群最优解进行退火搜索,加快了收敛速度,降低陷入局部最优的概率;利用人工免疫算子对车辆的服务序列进行接种,扩大了搜索空间,进一步提升解的质量;设计的编码方式的通用性和灵活性强,对于单车场、多车场、单车型、多车型等电动汽车路径规划问题,都能使用本发明所述方法进行求解。
附图说明
图1是本发明的流程示意图
图2是本发明的猫的位置编码示意图
图3是进入换电站示意图
图4是搜索算子示意图
图5是最优配送方案示意图
具体实施方式
以下将结合附图对本发明作进一步描述,参照图1~图5,本发明的一种带时间窗的电动汽车路径规划方法,其方法步骤如下:
步骤1,设定相关的参数变量,建立模型:
M:客户数量;
K:车辆数目;
N:充电站数目;
ck1:车辆k的固定使用成本;
ck2:车辆k的可变成本;
Qk:车辆k的额定载重;
Dk:车辆k的额定行驶里程;
dij:从节点i到节点j的距离;
qi:节点i的需求量;
t0:所有车辆的出发时间;
Figure GDA0003633994010000101
车辆k到达节点i的时间;
Figure GDA0003633994010000102
车辆k从节点i驶出的时间;
ti:在节点i停留的时间;
[ti1,ti2]:节点i的服务时间窗;
v:车辆行驶速度;
μ1:提前惩罚成本;
μ2:延迟惩罚成本;
Ik:车辆k所访问的节点集合;
Figure GDA0003633994010000111
车辆k在节点i处的剩余的可行驶里程;
Figure GDA0003633994010000112
车辆k每次从满电状态访问到节点i时的累积行驶里程;
Figure GDA0003633994010000113
以车辆配送的总成本最低为目标建立目标函数如下:
Figure GDA0003633994010000114
其中,目标函数的第一部分为配送车辆的固定成本,第二部分为配送车辆的可变成本,第三部分为时间窗惩罚成本;
模型的相关约束如下:
Figure GDA0003633994010000115
Figure GDA0003633994010000116
Figure GDA0003633994010000117
Figure GDA0003633994010000118
Figure GDA0003633994010000119
Figure GDA00036339940100001110
Figure GDA0003633994010000121
Figure GDA0003633994010000122
Figure GDA0003633994010000123
Figure GDA0003633994010000124
Figure GDA0003633994010000125
Figure GDA0003633994010000126
以上模型中,式(1)表示目标函数,即完成配送的最低成本;式(2)表示使用的车辆不能超过当前车辆总和;式(3),式(4)表示一个客户只能被一辆车服务一次;式(5)表示车辆服务客户的需求总量不超过车辆载重;式(6)表示车辆从车场出发并返回原车场;式(7)表示车辆不能从一个车场直接进入另一个车场;式(8)表示车辆必须在规定的时间窗内进入或离开车场和充电站;式(9)表示车辆从本次满电状态到达节点j的累积里程;式(10)表示车辆在某个节点处的剩余可行驶里程;式(11)表示车辆不会在行驶途中将电量用尽;式(12)表示车辆进入充电站完成充电或换电之后必须驶出充电站;式(13)表示车辆到达节点j的时间为到达上一个节点的时间、停留服务时间和行驶时间三者之和;
步骤2,设计编码方式并重新设计相关操作:
步骤2.1,设计编码方式:对于一个共有M个客户,K辆不同车型的电动汽车路径规划问题,将客户的编号设置为1~M,车辆的编号为(M+1)~(M+K);个体的编码由两部分组成,编码的第一部分为车辆的编号,编码第二部分为客户的编号;充电站的编号为(M+K+1)~(M+K+N);例如,假设共有10个客户,5辆配送车辆,则个体的编码可以表示为[11,13,15,12,14,3,6,7,9,1,10,2,8,4,5],编码的前5位为车辆的编号,编码的后10位为客户的编号;
步骤2.2,设计路径检测算子,用来检测车辆的配送路线是否可行;路径检测的操作如下:(1)车辆k的额定行驶里程为Dk,配送路线的服务序列为Rk,按照顺序访问节点,每次到达一个节点i处,重新计算车辆k的剩余可行驶里程
Figure GDA0003633994010000127
当访问的节点为充电站时,
Figure GDA0003633994010000128
(2)若访问到每个节点i时都有
Figure GDA0003633994010000129
并且到达充电站或车场的时间都其在服务时间之内,则Rk可行;否则,Rk不可行;
步骤2.3,设计充电站插入方法,需要进入充电站的车辆k的配送路线的服务序列为Rk
步骤2.3.1,取出充电站编号的集合,从中取出一个充电站,依次尝试插入Rk的不同位置得到R′k,再对R′k使用路径检测算子检测;若可行,则计算并记录R′k的配送成本;若不可行,则舍弃R′k;遍历所有可以插入充电站的位置(从车场出发之后到返回车场之前的任意位置);
步骤2.3.2,遍历尝试插入每一个充电站,并记录最低成本的插入方案Rkb
步骤2.3.3,判断,如果Rkb不为空,则插入成功,将其作为最终的执行方案;否则,插入失败,返回失败信息;
步骤2.4,设计变异算子:设置一个混合搜索算子,其包括逆序邻域搜索算子、1-opt交换搜索算子、2-opt交换搜索算子和3-opt交换搜索算子;需要说明的是,由于设定的猫的位置编码由两部分组成,所以每一部分的变异操作只在该部分的内部进行,并且每次只进行其中一个部分的变异;
步骤2.5,设计解码操作,计算适应度:
步骤2.5.1,按照编码Ls中的客户编码部分的顺序,依次取出未分配的客户所在的节点i,按照车辆编码部分的顺序取出未分配的车辆k,将客户依次分配给当前车辆k,计算所分配客户的配送总重量,直到超出车辆k的装载量Qk为止,获得车辆k的服务序列Rk
步骤2.5.2,使用路径检测算子对Rk进行检测,若检测结果为不可行,则尝试进入充电站,转步骤2.5.3;否则,不需进入充电站,将服务序列Rk记录在解码序列Ls0中,继续进行下一辆车的任务分配,转步骤2.5.1;
步骤2.5.3,对Rk执行充电站插入算子,若成功,则记录插入充电站之后的服务序列Rk0,并将Rk0记录在解码序列Ls0中,继续进行下一辆车的分配,转步骤2.5.1;否则,保留Rk,转步骤2.5.4;
步骤2.5.4,对Rk进行疫苗接种,接种后服务序列为Rk1
步骤2.5.5,使用路径检测算子检测Rk1,如果可行,则将Rk1记录在Ls0中,继续进行下一辆车的分配,执行步骤2.5.1;否则,保留Rk,执行步骤2.5.6;
步骤2.5.6,判断Rk中的客户数量m,如果m>1,则从Rk中去除最后一位客户,转步骤2.5.2;否则,Ls为不可行解,记录该个体的适应度fs=0,并终止该个体的解码操作;
步骤2.5.7,依次进行客户的分配,直到所有的客户都被分配完毕,得到Ls解码后的解码序列Ls0,计算个体的适应度fs
步骤2.6,定义并计算种群的中心位置Lcen:统计种群所有个体的编码的相同位置上出现次数最多的值,将其作为中心位置Lcen中相同位置的编码值;需要说明的是,为避免重复,如果在某个位置上出现次数最多的值不止一个,则优先采用出现顺序靠前且不与前面已确定的编码值相重复的值;
步骤3,种群规模为S,初始化种群、中心位置和疫苗,具体操作如下:
步骤3.1,初始化疫苗:分别以每个车场位置为原点,随机从某个客户开始,依次扫过客户,从而得到一个全体客户的排列,该排列即为一个疫苗,获得有关每个车场的疫苗;
步骤3.2,建立二维坐标系,根据各个车场的坐标位置,将所有车场用线段连接起来,形成一个多边形U,计算该多边形的重心U0作为扫描算法的原点O;
步骤3.3,以原点O为扫描原点,随机选择一个客户节点i,从节点i按照顺时针或者逆时针方向依次扫描所有的客户点,记录扫描到的客户序列A;
步骤3.4,个体位置编码的车辆编码部分随机生成,将A作为客户编码部分;
步骤3.5,重复操作步骤3.3和3.4,生成S个个体;个体的位置编码为Ls(s=1,2,3......S),计算适应度为fs,完成种群的初始化;
步骤3.6,找出种群中的适应度最高的个体的位置,记为最优位置Lbest,最优适应度为fbest
步骤3.7,计算初始种群的中心位置Lcen
步骤4,根据设定的分组率δ,对种群进行分组,一部分执行搜寻模式,转步骤5,一部分执行跟踪模式,转步骤6;
步骤5,执行搜寻模式,记忆池的容量为P:
步骤5.1,第s只猫的适应度为fs,将其位置Ls复制P份放入记忆池中;
步骤5.2,采用变异算子对每个备份进行搜索,获得新的候选位置Lsp(p=1,2,3,......,P);
步骤5.3,进行解码,计算每个候选位置Lsp的适应度fsp,记录其中最优的适应度为fb,最优位置为Lb;如果fb>fs,则用最优位置为Lb替代Ls,即令Ls=Lb,fs=fb;否则,保持原来的位置Ls不变;
步骤5.4,对搜寻模式下的每个个体,执行步骤5.1至5.3,完成搜寻操作;
步骤6,执行跟踪模式,执行跟踪的猫的个体位置编码为Ls,跟踪最优位置Lbest和中心位置Lcen;跟踪Lbest的概率为θ,客户对比长度为W(W小于客户数量):
步骤6.1,产生一个0-1之间的随机数ran;如果ran<θ,则该个体跟踪最优位置Lbest,转步骤6.2;否则,跟踪中心位置Lcen,转步骤6.3;
步骤6.2,从Lbest客户编码的第一个编号开始,依次与Ls比较W长度内的客户编号;如果在W长度内,Lbest的某一个客户编号在Ls的W长度内出现,则按照出现的顺序依次记录在L′s的客户编码中(从客户编码的第一位开始记录,L′s为待移入的位置),直至Lbest与Ls在W长度内的所有客户比对完毕;剩余的客户编号按照在Ls中的排列依次填入L′s的客户编码的剩余部分;将Ls的车辆编码作为L′s的车辆编码,得到新的位置L′s,用L′s代替Ls,即令Ls=L′s
步骤6.3,从Lcen客户编码的第一个编号开始,依次与Ls比较W长度内的客户编号;如果在W长度内,Lcen的某一个客户编号在Ls的W长度内出现,则按照出现的顺序依次记录在L′s的客户编码中(从客户编码的第一位开始记录,L′s为待移入的位置),直至Lcen与Ls在W长度内的所有客户比对完毕;剩余的客户编号按照在Ls中的排列依次填入L′s的客户编码的剩余部分;将Ls的车辆编码作为L′s的车辆编码,得到新的位置L′s,用L′s代替Ls,即令Ls=L′s
步骤6.4,对跟踪模式下的个体,分别执行步骤6.1-6.3,完成跟踪操作;
步骤7,更新种群个体的适应度,并更新种群最优位置Lbest和最优适应度fbest
步骤8,更新种群的中心位置Lcen
步骤9,对种群最优解进行退火搜索,初始温度E,降温系数为α,初始的当前温度E1=E,终止温度为E2,内循环次数为H;退火搜索之前的最优位置为Lbest,其最优适应度为fbest;设置最优解的副本为Lc,令Lc=Lbest,fc=fbest
步骤9.1,判断当前代数g是否为设定的退火搜索代数,如果是,继续执行以下步骤;否则,转步骤10;
步骤9.2,执行内循环的前H/2次,每次使用变异算子对Lc的车辆编码部分进行操作得到L′c;如果min{1,exp[-(Z(L′c)-Z(Lc))/E1]}≥random[0,1],则用L′c替代Lc,即令Lc=L′c;记录退火搜索到的最优适应度为fsa,最优解为Lsa
步骤9.3,执行内循环的后H/2次,每次使用变异算子对Lc的客户编码部分进行操作得到L′c;如果min{1,exp[-(Z(L′c)-Z(Lc))/E1]}≥random[0,1],则用L′c替代Lc,即令Lc=L′c;记录退火搜索到的最优适应度为fsa,最优解为Lsa
步骤9.4,令E1=E1*α,如果E1≤E2,则模拟退火搜索终止,进行判断:如果fsa>fbest,则替代之前的最优解,令Lbest=Lsa,fbest=fsa;否则,保持原来的最优解不变;如果E1>E2,返回执行步骤9.2;
步骤10,一次迭代结束,更新迭代次数g=g+1;
步骤11,判断是否满足终止条件,若g>G,执行步骤12;否则,进行新一轮迭代,返回执行步骤4;
步骤12,对记录的最优位置Lbest进行解码,其适应度的倒数1/fbest为目标函数的值;解码获得形式如下:假设最优解的编码为[11,13,15,12,14,3,6,7,9,1,10,2,8,4,5],解码后的服务序列为[11,3,6,16,7,11;13,9,1,10,2,13;15,8,4,5,17,15],解码获得的服务序列中,两个相同车辆编号之间的序列即为该车辆的服务序列;例如,车辆11服务客户3、6和7,服务客户6之后进入编号为16的充电站;车辆13服务客户9、1、10和2,不进入充电站;车辆15服务客户8、4和5,服务客户5之后进入编号为17的充电站;未被使用的车辆和充电站的编号不在解码序列中出现,输出最优方案。
为了检验本发明所述方法的性能,选用一个实际案例进行计算求解。某企业有三个配送中心,分别为A、B和C,共有3种类型的电动汽车20辆,服务50个客户,时间窗为软时间窗,电动汽车采用换电模式进行能源补充,共5个换电站;现在要求根据相关信息,制定合理的车辆及其配送的行驶路线,使配送成本最低;客户的信息见表1,车场以及车辆的信息见表2,换电站的信息见表3:
表1客户信息表
Figure GDA0003633994010000161
Figure GDA0003633994010000171
表2车场/车辆信息表
Figure GDA0003633994010000172
Figure GDA0003633994010000181
表3换电站信息表
充电站编号 坐标/(km,km) 服务区间/h 更换电池时间/h
71 (6,45) [7,22] 0.1
72 (20,61) [7,22] 0.1
73 (11,5) [7,22] 0.1
74 (38,8) [7,22] 0.1
75 (60,51) [7,22] 0.1
相关参数设置:种群个体数S=50,记忆池的容量P=60,分组率δ=0.1,即执行跟踪模式的个体数量为种群数量的0.1,跟踪模式下编码比对的长度W=18,迭代总次数G=500;跟踪种群最优的概率θ=0.8;模拟退火初始温度E=100,降温系数为α=0.99,终止温度为E2=1,内循环次数H=100;模拟退火算法每隔20代进行对最优解进行一次退火搜索;时间窗提前惩罚成本μ1=20元/小时,时间窗延迟惩罚成本μ2=30元/小时,车辆的行驶速度v=60km/h,电动汽车从车场出发的时刻为t0=7;该实施例以最小化总配送成本为目标,执行一种带时间窗的电动汽车路径规划方法后,得到了最优的车辆调度方案,如表4所示,最优配送方案的路径如图5所示。
表4车辆配送方案
Figure GDA0003633994010000182
采用本发明所述方法在解决带时间窗的电动汽车路径规划问题方面,有着良好的求解性能,模型的通用性强,搜索空间广,收敛速度快,稳定性强,最优解的质量高,可以在实际的配送中,帮助企业有效降低运输的成本。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (1)

1.一种带时间窗的电动汽车路径规划方法,包括如下步骤:
步骤1,设定相关的参数变量,建立模型:
M:客户数量;
K:车辆数目;
N:充电站数目;
ck1:车辆k的固定使用成本;
ck2:车辆k的可变成本;
Qk:车辆k的额定载重;
Dk:车辆k的额定行驶里程;
dij:从节点i到节点j的距离;
qi:节点i的需求量;
t0:所有车辆的出发时间;
Figure FDA0003633992000000011
车辆k到达节点i的时间;
Figure FDA0003633992000000012
车辆k从节点i驶出的时间;
ti:在节点i停留的时间;
[ti1,ti2]:节点i的服务时间窗;
v:车辆行驶速度;
μ1:提前惩罚成本;
μ2:延迟惩罚成本;
Ik:车辆k所访问的节点集合;
Figure FDA0003633992000000013
车辆k在节点i处的剩余的可行驶里程;
Figure FDA0003633992000000014
车辆k每次从满电状态访问到节点i时的累积行驶里程;
Figure FDA0003633992000000015
以车辆配送的总成本最低为目标建立目标函数如下:
Figure FDA0003633992000000021
其中,目标函数的第一部分为配送车辆的固定成本,第二部分为配送车辆的可变成本,第三部分为时间窗惩罚成本;
模型的相关约束如下:
Figure FDA0003633992000000022
Figure FDA0003633992000000023
Figure FDA0003633992000000024
Figure FDA0003633992000000025
Figure FDA0003633992000000026
Figure FDA0003633992000000027
Figure FDA0003633992000000028
Figure FDA0003633992000000029
Figure FDA00036339920000000210
Figure FDA00036339920000000211
Figure FDA00036339920000000212
Figure FDA00036339920000000213
以上模型中,式(1)表示目标函数,即完成配送的最低成本;式(2)表示使用的车辆不能超过当前车辆总和;式(3),式(4)表示一个客户只能被一辆车服务一次;式(5)表示车辆服务客户的需求总量不超过车辆载重;式(6)表示车辆从车场出发并返回原车场;式(7)表示车辆不能从一个车场直接进入另一个车场;式(8)表示车辆必须在规定的时间窗内进入或离开车场和充电站;式(9)表示车辆从本次满电状态到达节点j的累积里程;式(10)表示车辆在某个节点处的剩余可行驶里程;式(11)表示车辆不会在行驶途中将电量用尽;式(12)表示车辆进入充电站完成充电或换电之后必须驶出充电站;式(13)表示车辆到达节点j的时间为到达上一个节点的时间、停留服务时间和行驶时间三者之和;
步骤2,设计编码方式并重新设计相关操作:
步骤2.1,设计编码方式:对于一个共有M个客户,K辆不同车型的电动汽车路径规划问题,将客户的编号设置为1~M,车辆的编号为(M+1)~(M+K);个体的编码由两部分组成,编码的第一部分为车辆的编号,编码第二部分为客户的编号;充电站的编号为(M+K+1)~(M+K+N);
步骤2.2,设计路径检测算子,用来检测车辆的配送路线是否可行;路径检测的操作如下:(1)车辆k的额定行驶里程为Dk,配送路线的服务序列为Rk,按照顺序访问节点,每次到达一个节点i处,重新计算车辆k的剩余可行驶里程
Figure FDA0003633992000000031
当访问的节点为充电站时,
Figure FDA0003633992000000032
(2)若访问到每个节点i时都有
Figure FDA0003633992000000033
并且到达充电站或车场的时间都其在服务时间之内,则Rk可行;否则,Rk不可行;
步骤2.3,设计充电站插入方法,需要进入充电站的车辆k的配送路线的服务序列为Rk
步骤2.3.1,取出充电站编号的集合,从中取出一个充电站,依次尝试插入Rk的不同位置得到R′k,再对R′k使用路径检测算子检测;若可行,则计算并记录R′k的配送成本;若不可行,则舍弃R′k;遍历所有可以插入充电站的位置,即从车场出发之后到返回车场之前的任意位置;
步骤2.3.2,遍历尝试插入每一个充电站,并记录最低成本的插入方案Rkb
步骤2.3.3,判断,如果Rkb不为空,则插入成功,将其作为最终的执行方案;否则,插入失败,返回失败信息;
步骤2.4,设计变异算子:设置一个混合搜索算子,其包括逆序邻域搜索算子、1-opt交换搜索算子、2-opt交换搜索算子和3-opt交换搜索算子;需要说明的是,由于设定的猫的位置编码由两部分组成,所以每一部分的变异操作只在该部分的内部进行,并且每次只进行其中一个部分的变异;
步骤2.5,设计解码操作,计算适应度:
步骤2.5.1,按照编码Ls中的客户编码部分的顺序,依次取出未分配的客户所在的节点i,按照车辆编码部分的顺序取出未分配的车辆k,将客户依次分配给当前车辆k,计算所分配客户的配送总重量,直到超出车辆k的装载量Qk为止,获得车辆k的服务序列Rk
步骤2.5.2,使用路径检测算子对Rk进行检测,若检测结果为不可行,则尝试进入充电站,转步骤2.5.3;否则,不需进入充电站,将服务序列Rk记录在解码序列Ls0中,继续进行下一辆车的任务分配,转步骤2.5.1;
步骤2.5.3,对Rk执行充电站插入算子,若成功,则记录插入充电站之后的服务序列Rk0,并将Rk0记录在解码序列Ls0中,继续进行下一辆车的分配,转步骤2.5.1;否则,保留Rk,转步骤2.5.4;
步骤2.5.4,对Rk进行疫苗接种,接种后服务序列为Rk1
步骤2.5.5,使用路径检测算子检测Rk1,如果可行,则将Rk1记录在Ls0中,继续进行下一辆车的分配,执行步骤2.5.1;否则,保留Rk,执行步骤2.5.6;
步骤2.5.6,判断Rk中的客户数量m,如果m>1,则从Rk中去除最后一位客户,转步骤2.5.2;否则,Ls为不可行解,记录该个体的适应度fs=0,并终止该个体的解码操作;
步骤2.5.7,依次进行客户的分配,直到所有的客户都被分配完毕,得到Ls解码后的解码序列Ls0,计算个体的适应度fs
步骤2.6,定义并计算种群的中心位置Lcen:统计种群所有个体的编码的相同位置上出现次数最多的值,将其作为中心位置Lcen中相同位置的编码值;需要说明的是,为避免重复,如果在某个位置上出现次数最多的值不止一个,则优先采用出现顺序靠前且不与前面已确定的编码值相重复的值;
步骤3,种群规模为S,初始化种群、中心位置和疫苗,具体操作如下:
步骤3.1,初始化疫苗:分别以每个车场位置为原点,随机从某个客户开始,依次扫过客户,从而得到一个全体客户的排列,该排列即为一个疫苗,获得有关每个车场的疫苗;
步骤3.2,建立二维坐标系,根据各个车场的坐标位置,将所有车场用线段连接起来,形成一个多边形U,计算该多边形的重心U0作为扫描算法的原点O;
步骤3.3,以原点O为扫描原点,随机选择一个客户节点i,从节点i按照顺时针或者逆时针方向依次扫描所有的客户点,记录扫描到的客户序列A;
步骤3.4,个体位置编码的车辆编码部分随机生成,将A作为客户编码部分;
步骤3.5,重复操作步骤3.3和3.4,生成S个个体;个体的位置编码为Ls,s=1,2,3......S,计算适应度为fs,完成种群的初始化;
步骤3.6,找出种群中的适应度最高的个体的位置,记为最优位置Lbest,最优适应度为fbest
步骤3.7,计算初始种群的中心位置Lcen
步骤4,根据设定的分组率δ,对种群进行分组,一部分执行搜寻模式,转步骤5,一部分执行跟踪模式,转步骤6;
步骤5,执行搜寻模式,记忆池的容量为P:
步骤5.1,第s只猫的适应度为fs,将其位置Ls复制P份放入记忆池中;
步骤5.2,采用变异算子对每个备份进行搜索,获得新的候选位置Lsp,p=1,2,3,......,P;
步骤5.3,进行解码,计算每个候选位置Lsp的适应度fsp,记录其中最优的适应度为fb,最优位置为Lb;如果fb>fs,则用最优位置为Lb替代Ls,即令Ls=Lb,fs=fb;否则,保持原来的位置Ls不变;
步骤5.4,对搜寻模式下的每个个体,执行步骤5.1至5.3,完成搜寻操作;
步骤6,执行跟踪模式,执行跟踪的猫的个体位置编码为Ls,跟踪最优位置Lbest和中心位置Lcen;跟踪Lbest的概率为θ,客户对比长度为W,W小于客户数量:
步骤6.1,产生一个0-1之间的随机数ran;如果ran<θ,则该个体跟踪最优位置Lbest,转步骤6.2;否则,跟踪中心位置Lcen,转步骤6.3;
步骤6.2,从Lbest客户编码的第一个编号开始,依次与Ls比较W长度内的客户编号;如果在W长度内,Lbest的某一个客户编号在Ls的W长度内出现,则按照出现的顺序依次记录在L′s的客户编码中,从客户编码的第一位开始记录,L′s为待移入的位置,直至Lbest与Ls在W长度内的所有客户比对完毕;剩余的客户编号按照在Ls中的排列依次填入L′s的客户编码的剩余部分;将Ls的车辆编码作为L′s的车辆编码,得到新的位置L′s,用L′s代替Ls,即令Ls=L′s
步骤6.3,从Lcen客户编码的第一个编号开始,依次与Ls比较W长度内的客户编号;如果在W长度内,Lcen的某一个客户编号在Ls的W长度内出现,则按照出现的顺序依次记录在L′s的客户编码中,从客户编码的第一位开始记录,L′s为待移入的位置,直至Lcen与Ls在W长度内的所有客户比对完毕;剩余的客户编号按照在Ls中的排列依次填入L′s的客户编码的剩余部分;将Ls的车辆编码作为L′s的车辆编码,得到新的位置L′s,用L′s代替Ls,即令Ls=L′s
步骤6.4,对跟踪模式下的个体,分别执行步骤6.1-6.3,完成跟踪操作;
步骤7,更新种群个体的适应度,并更新种群最优位置Lbest和最优适应度fbest
步骤8,更新种群的中心位置Lcen
步骤9,对种群最优解进行退火搜索,初始温度E,降温系数为α,初始的当前温度E1=E,终止温度为E2,内循环次数为H;退火搜索之前的最优位置为Lbest,其最优适应度为fbest;设置最优解的副本为Lc,令Lc=Lbest,fc=fbest
步骤9.1,判断当前代数g是否为设定的退火搜索代数,如果是,继续执行以下步骤;否则,转步骤10;
步骤9.2,执行内循环的前H/2次,每次使用变异算子对Lc的车辆编码部分进行操作得到L′c;如果min{1,exp[-(Z(L′c)-Z(Lc))/E1]}≥random[0,1],则用L′c替代Lc,即令Lc=L′c;记录退火搜索到的最优适应度为fsa,最优解为Lsa
步骤9.3,执行内循环的后H/2次,每次使用变异算子对Lc的客户编码部分进行操作得到L′c;如果min{1,exp[-(Z(L′c)-Z(Lc))/E1]}≥random[0,1],则用L′c替代Lc,即令Lc=L′c;记录退火搜索到的最优适应度为fsa,最优解为Lsa
步骤9.4,令E1=E1*α,如果E1≤E2,则模拟退火搜索终止,进行判断:如果fsa>fbest,则替代之前的最优解,令Lbest=Lsa,fbest=fsa;否则,保持原来的最优解不变;如果E1>E2,返回执行步骤9.2;
步骤10,一次迭代结束,更新迭代次数g=g+1;
步骤11,判断是否满足终止条件,若g>G,执行步骤12,G为迭代总次数;否则,进行新一轮迭代,返回执行步骤4;
步骤12,对记录的最优位置Lbest进行解码,其适应度的倒数1/fbest为目标函数的值;解码获得的服务序列中,两个相同车辆编号之间的序列即为该车辆的服务序列,输出最优方案。
CN201911203002.XA 2019-11-29 2019-11-29 一种带时间窗的电动汽车路径规划方法 Active CN110956325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911203002.XA CN110956325B (zh) 2019-11-29 2019-11-29 一种带时间窗的电动汽车路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911203002.XA CN110956325B (zh) 2019-11-29 2019-11-29 一种带时间窗的电动汽车路径规划方法

Publications (2)

Publication Number Publication Date
CN110956325A CN110956325A (zh) 2020-04-03
CN110956325B true CN110956325B (zh) 2022-07-22

Family

ID=69979064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911203002.XA Active CN110956325B (zh) 2019-11-29 2019-11-29 一种带时间窗的电动汽车路径规划方法

Country Status (1)

Country Link
CN (1) CN110956325B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313285B (zh) * 2021-04-21 2023-01-17 山东师范大学 多约束条件的车辆路径优化方法、系统、存储介质及设备
CN115496277B (zh) * 2022-09-20 2024-02-06 南通国轩新能源科技有限公司 一种基于改进猫群算法的移动补电装置调度方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036379A (zh) * 2014-06-26 2014-09-10 广东工业大学 求解带硬时间窗时变关联物流运输车辆路径问题的方法
CN108764777A (zh) * 2018-04-26 2018-11-06 浙江工商大学 带时间窗的电动物流车调度方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2551467A1 (en) * 2006-07-04 2008-01-04 University Of New Brunswick System and method for optimizing linehaul operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036379A (zh) * 2014-06-26 2014-09-10 广东工业大学 求解带硬时间窗时变关联物流运输车辆路径问题的方法
CN108764777A (zh) * 2018-04-26 2018-11-06 浙江工商大学 带时间窗的电动物流车调度方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Vehicle routing problem with time windows using natural inspired algorithms;A B Pratiwi等;《International Conference on Mathematics: Pure, Applied and Computation 》;20171101;正文第1-9页 *
基于猫群算法的城市物流共同配送路径优化研究;戴宇晨;《中国优秀博硕士学位论文全文数据库(硕士) 经济与管理科学辑》;20160215(第02期);第J145-196页、正文第四章 *
带时间窗车辆路径问题的混合改进型蚂蚁算法;崔雪丽等;《计算机工程与应用》;20090201;第45卷(第4期);第16-19页 *

Also Published As

Publication number Publication date
CN110956325A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
CN108764777B (zh) 带时间窗的电动物流车调度方法和系统
CN108199100B (zh) 智能交通中电动汽车长途运行充电规划方法
CN111325409B (zh) 一种换电站选址与混合车队路径规划方法及系统
WO2017028333A1 (zh) 高速公路电动汽车快速充电站的规划方法
CN109934391B (zh) 一种纯电动公交车辆的智能调度方法
CN107180274B (zh) 一种电动汽车充电设施规划典型场景选取和优化方法
CN110956325B (zh) 一种带时间窗的电动汽车路径规划方法
CN109559062B (zh) 一种合作式物流问题的任务分配与路径规划方法
CN110108290B (zh) 一种基于遗传算法的多智能车避撞路径规划的方法
CN113505931B (zh) 一种基于遗传算法的充电机器人动态调度优化方法
CN110852530A (zh) 一种多车场多车型的车辆路径规划方法
CN111536987A (zh) 一种用于大面积垃圾清扫的车辆路径规划方法
CN113673764A (zh) 一种订单配送方法、装置、电子设备及存储介质
CN111178716B (zh) 一种竞拍式的自动驾驶出租车空车调度方法
CN111090935B (zh) 一种公共自行车预约调度与路径规划方法
CN111222705B (zh) 一种非线性充电车辆路径优化方法
CN112488358B (zh) 一种电动汽车充电路径规划方法和存储介质
Zhang et al. The effect of nonlinear charging function and line change constraints on electric bus scheduling
CN114742340A (zh) 一种大规模路网中智能网联共享电动车充电站的优化布设求解方法
CN109800920B (zh) 一种考虑充电时间的共享电动汽车的站点选址方法
CN112149906A (zh) 一种计及充电时间的电动车出行线路综合优化方法
CN111091286A (zh) 一种公共自行车调度模型与求解方法
CN116384706A (zh) 一种船舶分段驳运车辆的调度方法及系统
CN115755953A (zh) 基于综合赋权的无人机任务规划方法、系统及存储介质
CN110334723B (zh) 一种动态增加的行李取送订单调度方法

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