课题名称:基于遗传算法求解带容量限制的多站点的物流配送路径问题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的仿真结果:
飞机配送路径规划图: