多式联运智能算法——遗传算法求有中转次数约束的成本最优方案

问题描述:若干城市点之间构成了物流运输网络,每座城市与城市之间都有不超过内河、铁路、公路和航空运输方式;考虑与行驶距离线性相关的旅行成本和每种运输方式之间转换的费用(中转费用),另外考虑行驶时间和中转时间之和的时间成本。其他成本也可以同时考虑。

遗传算法求解思路:

1、编码方式:

一条染色体分成两个部分,第一部分表示运输方式(用1~4表示),第二部分表示所有城市是否经过的0-1编码(0表示不经过,1表示经过),如此就可以表示从起点到终点的任意一种多式联运运输方案。

 

2、成本计算

将染色体两部分解码转化成(城市1,城市2,运输方式)的矩阵,分别计算不同运输方式下的旅行成本和旅行时间,再计算中转费用和中转时间,最好计算两部分的总成本。

有中转次数约束的情况下,可通过统计中转次数并转变成惩罚成本加入到总成本中,若无此项约束,则无需进行此项操作。

3、适应度值

适应度值一般是越大越好,而目标函数为总成本最低,因此,适应度值取总成本的倒数即可。

3、选择、交叉、变异、重组

(1)选择

按照选择概率从父代种群中按照轮盘赌规整随机选择一定数目的父代作为子代;

(2)交叉

按照交叉概率,按照一定规则选择两个子代进行染色体上相同位置的随机片段进行交换,

并对交换后重复的基因进行替换处理。

(3)变异

按照变异概率,随机选择染色体上两个基因位置进行交换。

(4)重组

将父代和子代种群混合后按照适应度值降序排列,取排在前面的种群数量的染色体作为新的种群,迭代次数加1,开启下一轮新的循环。

 

4、最优方案可视化输出

满足一定迭代次数后输出全局最优解,并对最优方案的染色体进行解码,并结合城市编号或者城市名,转化成从起点到终点城市途径每个城市的每一条路径。格式为:城市1 经 运输方式 到城市2,依次类推。

多式联运智能算法——遗传算法求有中转次数约束的成本最优方案_第1张图片

多式联运智能算法——遗传算法求有中转次数约束的成本最优方案_第2张图片

多式联运智能算法——遗传算法求有中转次数约束的成本最优方案_第3张图片

多式联运智能算法——遗传算法求有中转次数约束的成本最优方案_第4张图片

本人物流专业研究生,源码已写好,经多次测试结果正确无误,感兴趣朋友们请加qq 2545724522 ,进一步互相交流学习进步!谢谢。

你可能感兴趣的:(多式联运智能算法——遗传算法求有中转次数约束的成本最优方案)