clear; clc;
% 设置遗传算法参数
popsize=100; % 种群规模
GGAP=1.0; % 代沟
Pc=0.7; % 交叉概率
Pm=0.1; % 变异概率
MAXGEN=100; % 最大进化代数
A=[22,1,5;22,1,6;22,1,7;22,1,8;22,1,9;22,1,10;22,1,11;22,2,5;22,2,7;22,2,8;22,2,9;
22,2,10;22,3,2;22,3,6;22,3,8;22,3,9;22,4,5;22,4,8;23,1,5;23,1,7;23,2,9;23,3,8];
B=[3;4;2;3;3;4;40;1;1;2;2;19;1;1;2;4;1;3;1;1;1;1];
% 导入系统负荷数据(kW),为计算目标函数
Loaddata = [450 425 415 400 400 410 415 440 500 540 565 555 530 525 523 520 530 550 580 600 597 575 526 500];
chrom=zeros(popsize,length(A)); % 种群初始化
trace=zeros(size(chrom,2)+2,MAXGEN); % 代记录表初始化
%% 种群初始化
for kk=1:length(B)
chrom(:,kk)=crtbp(popsize,1,A(kk,3));
end
% 计算初始目标函数
ObjV=exmfun(chrom);
%% 优化
gen=0; % 代计数器
while gen<MAXGEN
FitnV=ranking(ObjV); % 父代适应度
selch=select('sus',chrom,FitnV,GGAP); % 选择得子代(随机遍历)
ObjVsel=exmfun(selch);
best_selch_id=find(ObjVsel==min(ObjVsel)); % 子代精英序号(仅取一个)
best_selch_id=best_selch_id(1);
best_selch=selch(best_selch_id,:); % 选出子代精英个体
selch(best_selch_id,:)=[]; % 剔除子代精英(不参与交叉)
selch=recombin('xovdprs',selch,Pc); % 交叉(减少代理的两点)
for i=1:size(selch,1)
for j=1:size(selch,2)
if rand<=Pm % 变异
num=selch(i,j); % 原始编码
newnum=ceil( A(j,3)*rand )-1; % 在进制范围内随机变异
while newnum==num
newnum=ceil( (A(j,3))*rand )-1;
end
selch(i,j)=newnum;
end
end
end
ObjVsel_1=exmfun(selch);
worst_selch_id=find(ObjVsel_1==max(ObjVsel_1)); % 找到遗传操作后的子代最差个体(仅取一个)
worst_selch_id=worst_selch_id(1);
selch(worst_selch_id,:)=best_selch(1,:); % 精英替换掉最差个体
% 重新插入子代精英(插回原位置)
selch(best_selch_id+1:end+1,:)=selch(best_selch_id:end,:);
selch(best_selch_id,:)=best_selch(1,:);
chrom=selch;
ObjV=exmfun(chrom);
gen=gen+1; % 代计数器更新
[Y,I]=min(ObjV);
I=I(1);
trace(1:size(chrom,2),gen)=chrom(I,:);
trace(end-1,gen)=Y;
trace(end,gen)=mean(ObjV);
end
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【达摩老生出品,必属精品,亲测校正,质量保证】 资源名:改进精英策略的遗传算法_应用在电动汽车领域_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的开发人员
资源推荐
资源详情
资源评论
收起资源包目录
改进精英策略的遗传算法_应用在电动汽车领域_matlab.zip (3个子文件)
精英策略
基于精英选择自适应变异遗传算法的膜系优化设计.caj 90KB
JY.m 3KB
exmfun.m 279B
共 3 条
- 1
资源评论
- w138342209962022-08-11资源不错,很实用,内容全面,介绍详细,很好用,谢谢分享。
- yyx_8927552023-12-19资源质量不错,和资源描述一致,内容详细,对我很有用。
阿里matlab建模师
- 粉丝: 3505
- 资源: 2787
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功