%% GA
clc % 清屏
clear all; % 删除workplace变量
close all; % 关掉显示图形窗口
warning off
%% 参数初始化
popsize=100; %种群规模
lenchrom=7; %变量字串长度
pc=0.7; %设置交叉概率,本例中交叉概率是定值,若想设置变化的交叉概率可用表达式表示,或从写一个交叉概率函数,例如用神经网络训练得到的值作为交叉概率
pm=0.3; %设置变异概率,同理也可设置为变化的
maxgen=100; % 进化次数
%种群
popmax=50;
popmin=0;
bound=[popmin popmax;popmin popmax;popmin popmax;popmin popmax;popmin popmax;popmin popmax;popmin popmax]; %变量范围
%% 产生初始粒子和速度
for i=1:popsize
%随机产生一个种群
GApop(i,:)=Code(lenchrom,bound); %随机产生个体
%计算适应度
fitness(i)=fun(GApop(i,:)); %染色体的适应度
end
%找最好的染色体
[bestfitness bestindex]=min(fitness);
zbest=GApop(bestindex,:); %全局最佳
gbest=GApop; %个体最佳
fitnessgbest=fitness; %个体最佳适应度值
fitnesszbest=bestfitness; %全局最佳适应度值
%% 迭代寻优
for i=1:maxgen
i
%种群更新 GA选择更新
GApop=Select2(GApop,fitness,popsize);
% 交叉操作 GA
GApop=Cross(pc,lenchrom,GApop,popsize,bound);
% 变异操作 GA变异
GApop=Mutation(pm,lenchrom,GApop,popsize,[i maxgen],bound);
pop=GApop;
for j=1:popsize
%适应度值
if 0.072*pop(j,1)+0.063*pop(j,2)+0.057*pop(j,3)+0.05*pop(j,4)+0.032*pop(j,5)+0.0442*pop(j,6)+0.0675*pop(j,7)<=264.4
if 128*pop(j,1)+78.1*pop(j,2)+64.1*pop(j,3)+43*pop(j,4)+58.1*pop(j,5)+36.9*pop(j,6)+50.5*pop(j,7)<=69719
fitness(j)=fun(pop(j,:));
end
end
%个体最优更新
if fitness(j) < fitnessgbest(j)
gbest(j,:) = pop(j,:);
fitnessgbest(j) = fitness(j);
end
%群体最优更新
if fitness(j) < fitnesszbest
zbest = pop(j,:);
fitnesszbest = fitness(j);
end
end
yy(i)=fitnesszbest;
end
%% 结果
disp '*************best particle number****************'
zbest
%%
plot(yy,'linewidth',2);
title(['适应度曲线 ' '终止代数=' num2str(maxgen)]);
xlabel('进化代数');ylabel('适应度');
grid on
海神之光
- 粉丝: 5w+
- 资源: 7136
最新资源
- 基于java+springboot+vue+mysql的健康健身追踪系统 源码+数据库+论文(高分毕设项目)).zip
- FactoryIO立体仓库仿真实验:手动与自动模式操作,基于TIA Portal V16与FactoryIO 2.4编程环境,FactoryIO立体仓库仿真实验程序 使用简单的梯形图与SCL语言编写
- 基于java+springboot+vue+mysql的快递分拣管理系统 源码+数据库(高分毕设项目)).zip
- 基于扰动观测器的直流电机调速系统:计算公式、仿真模型与结果、AD电路图及程序详解,基于扰动观测器的直流电机调速系统, 有计算公式,仿真模型,仿真结果,ad电路图,程序 ,基于扰动的观测器; 直流电机调
- 基于java+springboot+vue+mysql的老年医疗保健网站 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的联邦管理系统 源码+数据库+论文(高分毕设项目)).zip
- "旋转编码器型伺服电机的调零方法与原理解析-涵盖所有进口品牌与通用硬件的解决方案",旋转变压器型编码器旋编调零协议型编码器调零 对于各种进口品牌伺服电机都可以如:西门子,力士乐,abb,keb,多摩
- 基于java+springboot+vue+mysql的商场多功能折扣系统 源码+数据库(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的社区药房系统 源码+数据库+论文(高分毕设项目)).zip
- 台达DVP15MC运动控制器伺服上下料机编程代码实例,初学者学习参考,台达DVP15MC运动控制器伺服上下料机程序代码,适合学习使用 ,核心关键词:台达DVP15MC; 运动控制器; 伺服上下料机
- 基于java+springboot+vue+mysql的摄影师社区系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的摄影师分享交流社区系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的校园部门资料管理系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的数字科技风险报告管理系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的小区车辆管理系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的校园商城系统 源码+数据库(高分毕设项目)).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈