✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
个人主页:Matlab科研工作室
个人信条:格物致知。
更多Matlab仿真内容点击
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机
随着"一带一路"倡议的提出,中欧运输得到了迅速发展,中欧班列将中欧经贸合作扩展至城市和城市之间.中欧之间形成了复杂的国际多式联运物流网络,虽然为中欧多式联运的发展提供了巨大的机遇,但也加剧了各种运输路线的无序竞争,不利于货物运输的高效运行.与此同时,全球愈发严重的温室效应让人们越来越关注低碳交通,我国也提出了优化运输结构,建设绿色运输体系的目标,这对减少多式联运中的碳排放量,提升多式联运水平提出了更高的要求.因此对中欧多式联运及其碳排放进行研究有着重要的现实意义.
%%%% 遗传算法求解多式联
clc
clear
close all
data = xlsread('data.xlsx','A2:E35');
N = 15; % 节点数量
C = [0.526 0.497 0.361
0.392 0.340 0.273
0.090 0.073 0.051]; %公路、 铁路、水路运输成本
E = [0.071 0.042 0.012]; % 碳排放
V = [80 60 30];
Ct = [0 8 9; 8 0 10; 9 10 0]; % 转运成本
Et = [0 0.128 0.117; 0.128 0 0.113; 0.117 1 0.133]; %
Tt = [0 50 50; 50 0 50; 50 50 0] / 100; % 转运时间
q0 = 120; % 货物量
TW = [55 65]; % 时间窗
Emax = 7000;
P = [15 30];
beta = 15;
Etol = 5000;
D = nan(N, N, 3); % 距离矩阵
data(:,1) = data(:,1) + 1;
data(:,2) = data(:,2) + 1;
for k = 1 : size(data,1)
D(data(k,1),data(k,2),1) = data(k,3); D(data(k,2),data(k,1),1) = data(k,3);
D(data(k,1),data(k,2),2) = data(k,4); D(data(k,2),data(k,1),2) = data(k,4);
D(data(k,1),data(k,2),3) = data(k,5); D(data(k,2),data(k,1),3) = data(k,5);
end
big = 1e6;
D(isnan(D)) = big;
CTR = {'O', '1', '2','3','4','5','6','7','8','9','10','11','12','13','D'};
%%
tic
NP = 40; % 种群大小
maxgen = 200; % 最大进化代数
Pc = 0.8; % 交叉概率
Pm = 0.2; % 变异概率
Pe = 0.1; % 精英比例
%% 初始化种群
X0 = InitPop(NP, N, D, big);
%% 遗传进化
gen=1;
fx0 = zeros(NP,1);
for i = 1 : NP
fx0(i,1) = Fitness(X0(i,:), N, q0, D, C, E, V, Ct, Et, Tt, TW, P, Emax,beta, Etol, big); % 计算目标函数值
end
fpbest = min(fx0);
while gen <= maxgen
% 计算适应度
fit = max(fx0) - fx0;
% 选择
X1 = Select(X0, fit);
% 交叉操作
X1 = Cross(X1, N, Pc);
% 变异
X1 = Mutate(X1, N, Pm);
% 计算目标函数值
fx1 = zeros(NP,1);
for i = 1 : NP
fx1(i,1) = Fitness(X1(i,:), N, q0, D, C, E, V, Ct, Et, Tt, TW, P, Emax, beta, Etol, big); % 计算目标函数值
end
% 精英保留
[X0, fx0] = Elitism(X0, X1, fx0, fx1, Pe);
% 记录各代最优值
fpbest = min(fx0);
FG(gen) = min(fx0); % 各代最优值
% 更新迭代次数
gen = gen+1
end
%% 结果
[fgbest,minInd] = min(fx0);
gbest = X0(minInd(1),:);
figure
plot(FG(FG < 1e9),'r-')
hold on
xlabel('迭代次数')
ylabel('最优成本')
title('GA迭代曲线')
yuancode(gbest, N, q0, D, C, E, V, Ct, Et, Tt, TW, P, Emax, beta, Etol, big, CTR)
toc
[1]刘畅. 考虑碳排放的中欧多式联运路径选择优化[D]. 大连海事大学, 2020.
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除