【路径规划】基于遗传算法求解多车多类型车辆的车辆路径优化问题附matlab代码

简介: 【路径规划】基于遗传算法求解多车多类型车辆的车辆路径优化问题附matlab代码

1 内容介绍

多车辆多路线的交通路线优化涉及到排序问题,是一个N-P难题,高效精确的算法存在的可能性不大.提出了基于遗传算法的求解方法,给出了实例来证明如何利用遗传算法解决多车辆多路线的优化问题.结果证明,一般情况下利用遗传算法对于多车辆多路线的行车路线优化能得到一组比较满意的解.

2 仿真代码

%fitness

%输入:种群数量,长度周转判断符,当前种群,车型,车数,点对位置,距离矩阵

%输出:fitness

function [ Chrom_ini_fitness ] = ga_fitness( PAR_ga_chrom_size,PAR_LONG_OR_UPUP,Chrom_ini,PAR_car_cap,PAR_car_kind,BASE_DATA_USING,BASE_D,PAR_car_cost)

for i=1:PAR_ga_chrom_size %PAR_ga_chrom_size输入

   Chrom_this = Chrom_ini(i,:); %抽取当前一组解

   [ALL_PATH,ALL_CARK,ALL_EMPT] = cun_coding_to_path_and_cark(Chrom_this,PAR_car_cap,BASE_DATA_USING); %PAR_car_cap即容积输入,BASE_DATA_USING输入

   %换成路径

   [ALL_LONG_UNT,ALL_UPUP_UNT] = cun_path_info( ALL_PATH,BASE_DATA_USING,BASE_D);

   if size(find(cell2mat(ALL_LONG_UNT)>200),2)~=0

       Chrom_this_fitness = 100000000;

   else

       Chrom_this_fitness = 0;

   end

        %计算长度及周转量

   if PAR_LONG_OR_UPUP == 1 %如果是以长度为标准 %PAR_LONG_OR_UPUP输入

       Chrom_this_fitness = Chrom_this_fitness + sum(cell2mat(ALL_LONG_UNT))*3.4;

       ALL_CARK_NUM = cell2mat(ALL_CARK); %元胞转数值

       for m=1:PAR_car_kind                            %输入PAR_car_kind

           Chrom_car_kind = PAR_car_cap(1,m);

           Chrom_car_kind_num(1,m) = size(find(ALL_CARK_NUM == Chrom_car_kind),1); %算出每种分别有多少辆

           Chrom_this_fitness_add = PAR_car_cost(1,m) * Chrom_car_kind_num(1,m);   %算出增加的固定成本

           

           if m==1&&Chrom_car_kind_num(1,m)>3

           Chrom_this_fitness = Chrom_this_fitness + Chrom_this_fitness_add*10000;       %固定成本累加到fitness上

           end

           if m==2&&Chrom_car_kind_num(1,m)>3

           Chrom_this_fitness = Chrom_this_fitness + Chrom_this_fitness_add*10000;       %固定成本累加到fitness上

           end

           if m==3&&Chrom_car_kind_num(1,m)>3

           Chrom_this_fitness = Chrom_this_fitness + Chrom_this_fitness_add*10000;       %固定成本累加到fitness上

           end

           

           Chrom_this_fitness = Chrom_this_fitness + Chrom_this_fitness_add;       %固定成本累加到fitness上

       end

   

   end

   if PAR_LONG_OR_UPUP == 2 %如果是周转量

       Chrom_this_fitness = sum(cell2mat(ALL_UPUP_UNT));

       ALL_CARK_NUM = cell2mat(ALL_CARK); %元胞转数值

   end  

   

   Chrom_ini_fitness(i,1) = Chrom_this_fitness;

end

end

3 运行结果

4 参考文献

[1]郭鸿伟, 王娅, 郑应文. 基于遗传算法的多车辆多路线的优化方法研究[J]. 江苏电器, 2008.

[2]付春菊, 吴成东, 雷寒,等. 基于遗传算法的车辆路径规划问题研究[J]. 科技广场, 2008(10):2.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
18天前
|
传感器 算法 安全
【无人机】四旋翼飞行器控制、路径规划和轨迹优化(Matlab实现)
【无人机】四旋翼飞行器控制、路径规划和轨迹优化(Matlab实现)
115 2
|
18天前
|
机器学习/深度学习 存储 并行计算
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
123 6
|
18天前
|
存储 算法 安全
【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)
【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)
110 0
|
23天前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
|
23天前
|
机器学习/深度学习 算法 安全
计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置(Matlab代码实现)
计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置(Matlab代码实现)
|
18天前
|
机器学习/深度学习 算法 新能源
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
|
19天前
|
算法 机器人 定位技术
基于机器视觉和Dijkstra算法的平面建筑群地图路线规划matlab仿真
本程序基于机器视觉与Dijkstra算法,实现平面建筑群地图的路径规划。通过MATLAB 2022A读取地图图像,识别障碍物并进行路径搜索,支持鼠标选择起点与终点,最终显示最优路径及长度,适用于智能导航与机器人路径规划场景。
|
20天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的XGBoost时间序列预测算法matlab仿真
本程序基于Matlab 2024b实现,结合粒子群优化(PSO)与XGBoost算法,用于时间序列预测。通过PSO优化XGBoost超参数,提升预测精度。程序包含完整注释与操作视频,运行后生成预测效果图及性能评估指标RMSE。
|
18天前
|
传感器 并行计算 算法
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
|
18天前
|
机器学习/深度学习 传感器 数据采集
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)

热门文章

最新文章