0
点赞
收藏
分享

微信扫一扫

Linux学习-数组-一维数组

课题名称:基于遗传算法求解带容量限制的多站点的物流配送路径问题MDVRP

版本时间:2023-03-12

代码获取方式:QQ:491052175 或者 私聊博主获取

模型描述:

15个城市中,其中北京,长沙和杭州三座城市作为配送中心向其余12个城市进行航空运输配送,12座城市总共有1500吨的配送需求。其中运输飞机的有效载荷为400吨,三个配送中心同时对12座城市进行配送,每架飞机从配送中心出发给若干个城市配送,最终回到配送中心。每个城市的需求量为demand(i),且demand(i)<CarLoad。记配送中心编号为0,各城市编号为i=1,2,3……CityNum.各城市及配送中心之间的距离为distance。求如何对12座城市按照3个配送城市进行分类,满足车辆最少,飞机行驶路程最短的运送方案。

算法流程

第一步:导入实际问题数据,根据城市位置计算12座待配送城市距离配送中心的距离,根据距离对12座城市进行划分,确定3座配送中心城市需要配送的城市。

第二步:初始化种群并计算适应度值,这里的适应度值是车辆行驶的路径长度

第三步:选择适应度值高的染色体(个体,在粒子群里叫粒子)

第四步:对该染色体进行选择、交叉、变异、进化逆转操作得到新的种群

选择:从旧群体中以一定的概率选择个体到新群体中

交叉:采用部分映射杂交,确定交叉操作的父代,将父代样本两两分组

变异:变异策略采取随机选取两个点,将其对换位置

进化逆转:改善局部搜索能力,在上述操作后引进连续多次的进化逆转操作,这里的进化是指逆转算子的单方向性,即只有经逆转后,适应度值有提高的才接受下来,否则逆转无效。

第五步:重复上述迭代次数直至满足终止条件

第六步:解码得到最终结果,计算最后一代种群中每个粒子的适应度值,导出适应度值最小的路径。

特殊说明:

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

Matlab仿真结果:

遗传算法求解MDVRP的仿真结果:

飞机配送路径规划图:

举报

相关推荐

0 条评论