资源简介
基于ATO系统的列车速度曲线优化的MATLAB代码,应用了遗传算法进行优化
代码片段和文件信息
clear
close all
clc
%算法参数
N=200; %初始种群个体数
age=100; %最大遗传代数
pk=0.4; %每次截杀比例期望,如100个父本希望截杀50个,pk=0.5
pm=0.01; %变异概率
%决定参数
kpc=10; %关键点个数,也就是变档位个数
%控表参数
L=1000; %路程总长
m=2e5; %车体质量
vm=80/3.6; %中途限速
vh=60/3.6; %车站限速
T0=90; %运行时间
a=[0 0.2 0.4 0.6 0.8 -0.25 -0.45 -0.65]; %加速度设置
l_f=-5e-3; %坡道0~500m
l_l=1e-2; %坡道500~1000m
%权重系数,从左往右依次为速度防护、准时性、精准停车、舒适度、能耗
k=[0.4857 0.2728 0.1980 0.0303 0.0132];
KPC=13*kpc;
%遗传算法主程序
sample=zeros(20010‘single‘); %种群总基因库,每一行为一个个体的基因代码
%默认第一个关键点在坐标0
best_len=zeros(age+11); %记录每代最优个体适应度值
best_gene=zeros(age+1KPC‘single‘); %记录每代最优个体基因
%对于初代的记录
sample(:11:KPC)=logical(round(rand(NKPC-10))); %随机生成初始种群
[Saasample]=adjust(sampleavhvm); %调整初始种群
len_new=fitness(aaSakvmvhT0Lml_fl_l); %计算个体适应度
index=find(len_new); %剔除0
len_new=len_new(index);
sample=sample(index:);
best=find(len_new==min(len_new));
best_len(1)=len_new(best(1)); %记录最优个体对应适应度值
best_gene(1:)=sample(best(1):); %记录最优个体基因编码
g=1; %记录指针
while g<=age
samples=sample;
len_old=len_new; %储存每代个体父代对应适应度值
%杀死不良个体
%len_old=exp(len_old-sum(len_old)/length(find(len_old)));%为了扩大总长短的优势,故采用指数幂的方式加大差距
sum_len=sum(len_old); %每个个体旅行总长之和
index=find(len_old);
for i=1:length(index)
if rand(1) len_old(index(i))=0;
end
end
index=find(len_old); %寻找存活的个体
sample_new=sample(index(randperm(length(index
- 上一篇:三相交流异步电机矢量控制系统仿真建模
- 下一篇:GA遗传算法matlab程序
相关资源
- GA遗传算法matlab程序
- 最优化的matlab代码设计
- 基于密度的聚类MATLAB代码
- 图像分割度量标准--matlab代码
- 蚁群算法MATLAB代码287131
- 遗传算法对于模糊控制规则的优化用
- 2018年数学建模国赛A题matlab代码及注释
- 2017年数学建模国赛B题matlab代码及注释
- 2016年全国数学建模A题matlab代码.rar
- 一段求解基尼系数的matlab代码
- NSGAII在ZDT和DTLZ测试函数的matlab代码
- UR5机器人正逆运动学matlab代码
- LPMS Matlab代码
- 降雨雷达的时空匹配matlab代码
- DTW动态时间规整matlab代码
- 最小二乘法曲线拟合matlab代码
- 基于MATLAB工具的遗传算法求解有约束
- 曲波变换重构
- 用于优化和非线性规划问题的遗传算
- 烟花算法进行函数优化通用matlab代码
- 超效率dea,BCCCCR三个模型matlab代码
- 标准遗传算法源代码
- 样本熵的matlab代码
- GA遗传算法改进BP神经网络
- 一维二维扩散模型Matlab代码
- matlab 随机模拟
- MATLAB多目标遗传算法
- 多线性规划MatLab代码与数据全
- matlab求解遗传算法的源代码
- 单层感知器Matlab代码-或运算
评论
共有 条评论