clc;
clear;
Size=5000; %种群大小
Navr=8; %辨识参数个数
minX=[0,0,0,0,0,0,0,0]; %参数搜索范围
maxX=[3,1,1e5,1e5,1e6,1e6,1e7,1e7];
for i=1:1:Navr %十进制浮点数编码
E(:,i)=minX(i)+(maxX(i)-minX(i))*rand(Size,1);
end
G=500; %最大遗传代数
BsJi=0;
for k=1:1:G
time(k)=k;
%*******计算个体适应度值*******
for i=1:1:Size %初始化种群个体,参数赋值
xi=E(i,:);
x(1)=xi(1);
x(2)=xi(2);
x(3)=xi(3);
x(4)=xi(4);
x(5)=xi(5);
x(6)=xi(6);
x(7)=xi(7);
x(8)=xi(8);
F=lqz_object(x); %调用目标函数
BsJi(i)=F; %每个个体对应的目标函数值
end
[OderJi,IndexJi]=sort(BsJi); %对每个个体的目标函数值排序
BestJ(k)=OderJi(1); %第k代中最小目标函数值所对应的最优个体
BJ=BestJ(k); %保存最优个体
Ji=BsJi+1e-10;%避免目标函数为0
fi=1./Ji; %个体适应度和目标函数的转换关系
[Oderfi,Indexfi]=sort(fi); %适应度值排序
Bestfi=Oderfi(Size); %最大个体适应度值
BestS=E(Indexfi(Size),:); %最大适应度对应的最优解
%************选择操作*******************
fi_sum=sum(fi);
fi_Size=(Oderfi./fi_sum).*Size; %适应度比例法
fi_S=floor(fi_Size);
r=Size-sum(fi_S);
Rest=fi_Size-fi_S;
[RestValue,Index]=sort(Rest);
for i=Size:-1:Size-r+1
fi_S(Index(i))=fi_S(Index(i))+1;
end
kg=1;
for i=Size:-1:1
for j=1:1:fi_S(i) %选择并复制
TempE(kg,:)=E(Indexfi(i),:);
kg=kg+1; %kg用于复制
end
end
E=TempE;
%***********交叉操作***********
Pc=0.90; %交叉概率
for i=1:2:(Size-1)
temp=rand;
if Pc>temp
alfa=rand; %算术交叉法
TempE(i,:)=alfa*E(i+1,:)+(1-alfa)*E(i,:);
TempE(i+1,:)=alfa*E(i,:)+(1-alfa)*E(i+1,:);
end
end
TempE(Size,:)=BestS; %保存最优个体
E=TempE;
%****************变异操作************
Pm=0.10-[1:1:Size]*0.01/Size; %自适应变异概率
Pm_rand=rand(Size-1,Navr);
Hmax=BestS+(maxX-BestS)/2^3;
Hmin=BestS-(BestS-minX)/2^3;
for ii=1:length(maxX)
if Hmax(ii)>maxX(ii)
Hmax(ii)=maxX(ii);
end
if Hmin(ii)<minX(ii)
Hmin(ii)=minX(ii);
end
end
for i=1:1:Size-1
for j=1:1:Navr
if Pm(i)>Pm_rand(i,j) %变异方法
TempE(i,j)=Hmin(j)+(Hmax(j)-Hmin(j))*rand(1)
end
end
end
TempE(Size,:)=BestS; %保存最优个体
E=TempE;
end
BestS %最佳个体
Bestfi %目标适应度值
Best_J=BestJ(G); %最小目标函数值
figure(1); %最小目标函数值变化曲线
plot(time,Best_J,'k');
xlabel('time');
ylabel('BestJ');
lqz_ga.zip_stiffness_侧偏刚度_悬架_惯量辨识_遗传 悬架
版权申诉
5星 · 超过95%的资源 163 浏览量
2022-07-13
22:47:05
上传
评论 4
收藏 2KB ZIP 举报
钱亚锋
- 粉丝: 90
- 资源: 1万+
最新资源
- fdsfdsfdsfdsfdsfdsfdsfds
- 目标检测-零售食品LOGO检测数据集-5000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-1000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 计算机科学选修课:人工智能导论 第四节 PPT
- 计算机科学选修课:人工智能导论 第三节 PPT
- Delphi 12 控件之LMD.VCL.Full.Version.zip
- 常用阀门定位器的调试步骤及说明
- 计算机科学选修课:人工智能导论 第二节 PPT
- 计算机科学选修课:人工智能导论 第一章 PPT
- Delphi 12 控件Indy-Indy-10.6.3.3.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页