【CVRP物流配送车辆路径规划问题(带容量限制)】遗传模拟退火算法GASA求解

课题名称:遗传模拟退火算法GASA求解车辆路径VRP问题

版本时间:2023-01-22

模型描述:

设某配送中心有K辆车,每辆车的最大载重量为CarLoad,需要对CityNum个客户城市

进行运输配送,每辆车从中心车场出发给若干个城市配送,最终回到配送中心。

每个城市的需求量为demand(i),且demand(i)<CarLoad。记配送中心编号为0,

各城市编号为i=1,2,3……CityNum.各城市及配送中心之间的距离为distance。

求满足车辆最少,车辆行驶路程最短的运送方案。

算法流程:

模拟退火算法包含两个迭代过程:1.温度下降迭代;2.当前温度情况下迭代循环,产生新的解并进行判断是否接受

遗传模拟退火算法将遗传算法迭代过程取代当前温度下的迭代循环,并且在遗传算法迭代过程中产生新的解。

第一步:设定参数,导入实际问题数据,导入城市位置信息,并计算两两城市之间的距离矩阵

第二步:初始化种群并选择某一个个体作为初始解:对于n个城市的VRP问题,能够得到的解就是对1~n的一个排列,其中每个数字为对应城市的编号,如对14个城市的VRP问题,则 11|10|2|12|4|5|3|6|14|8|7|9|13|1|15 就是一个合法的解,采用产生随机排列的方法产生一个初始解S

第三步:使用遗传算法对当前种群进行选择,交叉、变异以及进化逆转操作,选择适应度最小的个体(路径长度最短的个体)作为新解,与当前解进行比较。

第四步:应用Metropolis准则。若路径长度函数f(s),则当前解的路径为f(s1),新解的路径为f(s2),路径插df=f(s2)-f(s1),则Metropolis准则里表示df<0,则以概率1接受新的路径,否则以某种概率接受新的路径

第五步:降温。利用降温速率q进行降温,即T=qT,若T小于结束温度,则停止迭代输出当前状态,否则继续迭代

特殊说明:

1.VRP问题算是TSP问题的进化版,不仅仅需要遍历所有城市,还需要考虑汽车的载重,城市的配送需求.

2.最终输出的路径是包含了配送中心(编号为0)

Matlab仿真结果:

遗传模拟退火算法GASA求解CVRP的仿真结果:

行驶距离随着迭代次数的变化曲线:

遗传模拟退火算法GASA求解CVRP问题的车辆配送路线图:  

 仿真对比与分析:相比于模拟退火算法,遗传模拟退火算法的收敛速度更快,往往能在10次以内就可以非常接近最优解。这得益于将遗传算法的收敛嵌套与退火算法中

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值