基于GA遗传优化的列车交路方案matlab仿真
目录
1.算法描述
列车交路是指列车在规定的运行线路上往返运行的方式,规定了列车运行区段、折返车站以及按不同交路运行的列车对数.
机车交路并不是完全意义的指标或标准,但在运输体系中是一个体现模式作用对运输组织工作重要的技术经济课题。对于新建铁路或进行技术改造的既有线路,选择优化的机车交路方案,不但可以使整个设计方案更加合理,节省投资,而且能够在以后的运营中获得更好的运输效益。
对于既有线路,正在进行机务生产力布局调整,而机务生产力布局调整的基础是经过优化的机车交路。我国铁路的机车交路是从蒸汽机车的短小交路延续过来的,在过去的年代里,由于交路短小,机务段布局过密,不但浪费了资源,制约了运输效率的提高,而且还将制约现代化技术装备优势的发挥。我们主张推行机车长交路,是基于优化机车交路布局有利于提高运输效率,优化运输设备布局,为推进铁路发展创造条件。优化机车交路布局是一项复杂的工作,它需要综合路网结构、编组站的分布和分工、线路纵断面、行车组织的特点、技术装备的水平和基础设备的技术条件等多种因素,运用现代化的管理理念精心进行编制。
遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。
其主要步骤如下:
1.初始化
选择一个群体,即选择一个串或个体的集合bi,i=1,2,...n。这个初始的群体也就是问题假设解的集合。一般取n=30-160。
通常以随机方法产生串或个体的集合bi,i=1,2,...n。问题的最优解将通过这些初始假设解进化而求出。
2.选择
根据适者生存原则选择下一代的个体。在选择时,以适应度为选择原则。适应度准则体现了适者生存,不适应者淘汰的自然法则。
给出目标函数f,则f(bi)称为个体bi的适应度。以
为选中bi为下一代个体的次数。
显然.从式(3—86)可知:
(1)适应度较高的个体,繁殖下一代的数目较多。
(2)适应度较小的个体,繁殖下一代的数目较少;甚至被淘汰。
这样,就产生了对环境适应能力较强的后代。对于问题求解角度来讲,就是选择出和最优解较接近的中间解。
3.交叉
对于选中用于繁殖下一代的个体,随机地选择两个个体的相同位置,按交叉概率P。在选中的位置实行交换。这个过程反映了随机信息交换;目的在于产生新的基因组合,也即产生新的个体。交叉时,可实行单点交叉或多点交叉。
4.变异
根据生物遗传中基因变异的原理,以变异概率Pm对某些个体的某些位执行变异。在变异时,对执行变异的串的对应位求反,即把1变为0,把0变为1。变异概率Pm与生物变异极小的情况一致,所以,Pm的取值较小,一般取0.01-0.2。
例如有个体S=101011。
对其的第1,4位置的基因进行变异,则有
S'=001111
单靠变异不能在求解中得到好处。但是,它能保证算法过程不会产生无法进化的单一群体。因为在所有的个体一样时,交叉是无法产生新的个体的,这时只能靠变异产生新的个体。也就是说,变异增加了全局优化的特质。
2.仿真效果预览
matlab2022a仿真结果如下:
3.MATLAB核心程序
..................................................................
%初始化种群
pop=m_InitPop(NUMPOP,irange_l,irange_r);
pop_save=pop;
fitness_concat = [];
best_solution = [];
%开始迭代
for time=1:ITERATION
time
%计算初始种群的适应度
fitness=m_Fitness(pop, OD, h);
fitness_concat = [fitness_concat;max(fitness)];
pop_T = pop';
[m,index] = max(m_Fitness(pop, OD, h));
best_solution = [best_solution;pop(:,index)'];
%选择
pop=m_Select(fitness,pop,SELECTRATE);
%编码
binpop=m_Coding(pop,LENGTH,irange_l);
%交叉
kidsPop = crossover(binpop,NUMPOP,CROSSOVERRATE);
%变异
kidsPop = Variation(kidsPop,VARIATIONRATE);
%解码
kidsPop=m_Incoding(kidsPop,irange_l);
%更新种群
pop=[pop kidsPop];
end
disp(['最优解:' num2str(min(m_Fx(pop,OD))) '分钟']);
disp(['最优解对应的各参数:' num2str(pop(1,1)) ',' num2str(pop(2,1)) ',' num2str(pop(3,1)) ',' num2str(pop(4,1)) ]);
disp(['最大适应度:' num2str(max(m_Fitness(pop, OD, h)))]);
figure
plot(1:ITERATION, smooth(fitness_concat,64), 'b','linewidth',2)
title('最优适应度值');
xlabel('进化代数');
ylabel('最优适应度');
figure
subplot(221)
plot(1 : ITERATION, smooth(best_solution(:,1),64),'linewidth',2)
xlabel('进化代数');
ylabel('参数各代最优值');
title('大小交路折返站');
subplot(222)
plot(1 : ITERATION, smooth(best_solution(:,2),64),'linewidth',2)
xlabel('进化代数');
ylabel('参数各代最优值');
title('大小交路折返站');
subplot(223)
plot(1 : ITERATION, smooth(best_solution(:,3),64),'linewidth',2)
xlabel('进化代数');
ylabel('参数各代最优值');
title('大交路发车频率');
subplot(224)
plot(1 : ITERATION, smooth(best_solution(:,4),64),'linewidth',2)
xlabel('进化代数');
ylabel('参数各代最优值');
title('小交路发车频率');
A270
4.完整MATLAB
V
相关文章
- 基于遗传算法的梯级水电站群优化调度研究(Matlab代码实现)
- 基于多目标粒子群优化算法的计及光伏波动性的主动配电网有功无功协调优化(Matlab代码实现)
- 【微电网_储能】基于启发式状态机策略和线性程序策略优化方法的微电网中的储能研究【给定系统约束和定价的情况下】(Matlab代码实现)
- 基于电动汽车的带时间窗的路径优化(Python&Matlab代码实现)
- 基于遗传算法的BP神经网络技术的应用(Matlab代码实现)
- 基于象鼻虫损害优化算法求解装箱问题问题(Matlab代码实现)
- 基于MATLAB的车牌识别系统设计(Matlab代码实现)
- 基于蒙特卡洛法的规模化电动车有序充放电及负荷预测(Python&Matlab实现)
- 【无人机】基于蚂蚁优化算法的无人机任务调度路径规划研究(Matlab代码实现)
- 基于MIMO-NOMA的可见光通信系统性能分析(Matlab代码实现)
- 【信号处理】基于优化算法的 SAR 信号处理(Matlab代码实现)
- 基于视觉显著性图和加权最小二乘优化的红外与可见光图像融合(Matlab代码实现)
- 【图像处理】基于MATLAB的小波变换全聚焦图像融合
- m基于QPSK调制解调的无线图像传输matlab仿真,包括扩频解扩均衡等模块
- 基于模拟退火优化算法的三维装箱优化matlab仿真,优化重量利用率和空间利用率
- m基于NSGAII优化的WSN网络覆盖率问题matlab仿真,优化激活节点数量,网络能耗以及覆盖率
- 基于SA模拟退火优化的TSP路径规划算法matlab仿真
- m基于遗传优化的阈值分割算法的雾天图像去雾增强matlab仿真
- m基于NSGAII的多机器多任务调度排序优化matlab仿真,考虑机器任务完成时间、机器总负荷和最大负荷
- m基于遗传算法的多AVG调度和货架存取货路线优化系统matlab仿真
- m基于自适应遗传优化的IEEE-6建设费用和网络损耗费用最小化电网规划算法matlab仿真
- 基于多动作深度强化学习的柔性车间调度研究(Matlab代码实现)
- 车间调度|基于帝王蝶优化算法的车间调度(Matlab代码实现)
- 基于多种优化算法及神经网络的光伏系统控制(Matlab代码实现)