资源简介
%用遗传算法进行简单函数的优化
clear
bn=22; %个体串长度
inn=50; %初始种群大小
gnmax=200; %最大代数
pc=0.75; %交叉概率
pm=0.05; %变异概率
%产生初始种群
s=round(rand(inn,bn));
%计算适应度,返回适应度f和累积概率p
[f,p]=objf(s);
gn=1;
while gn<gnmax+1
for j=1:2:inn
%选择操作
seln=sel(s,p);
%交叉操作
scro=cro(s,seln,pc);
scnew(j,:)=scro(1,:);
scnew(j+1,:)=scro(2,:);
%变异操作
smnew(j,:)=mut(scnew(j,:),pm);
smnew(j+1,:)=mut(scnew(j+1,:),pm);
end
s=smnew; %产生了新的种群
%计算新种群的适应度
[f,p]=objf(s);
%记录当前代最好和平均的适应度
[fmax,nmax]=max(f);
fmean=mean(f);
ymax(gn)=fmax;
ymean(gn)=fmean;
%记录当前代的最佳个体
x=n2to10(s(nmax,:));
xx=-1.0+x*3/(power(2,bn)-1);
xmax(gn)=xx;
gn=gn+1
end
gn=gn-1;
%绘制曲线
subplot(2,1,1);
plot(1:gn,[ymax;ymean]);
title('历代适应度变化','fonts',10);
legend('最大适应度','平均适应度');
string1=['最终适应度',num2str(ymax(gn))];
gtext(string1);
subplot(2,1,2);
plot(1:gn,xmax,'r-');
legend('自变量');
string2=['最终自变量',num2str(xmax(gn))];
gtext(string2);
代码片段和文件信息
%“交叉”操作
function scro=cro(sselnpc);
[inn bn]=size(s);
if rand chb=ceil(rand*(bn-1)); %在[1bn-1]范围内随机产生一个交叉位
scro(1:)=[s(seln(1)1:chb) s(seln(2)chb+1:bn)];
scro(2:)=[s(seln(2)1:chb) s(seln(1)chb+1:bn)];
else
scro(1:)=s(seln(1):);
scro(2:)=s(seln(2):);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 320 2009-09-10 16:46 Matlab 程序\cro.m
文件 52 2006-07-27 14:36 Matlab 程序\ft.m
文件 3876 2009-09-10 16:43 Matlab 程序\ga.m
文件 8157696 2007-09-26 09:50 Matlab 程序\garunning.avi
文件 1288 2003-05-06 14:58 Matlab 程序\init.mat
文件 1179 2006-07-27 17:01 Matlab 程序\main.m
文件 189 2009-09-10 16:46 Matlab 程序\mut.m
文件 128 2006-07-27 14:33 Matlab 程序\n2to10.m
文件 466 2009-09-10 16:45 Matlab 程序\objf.m
文件 225 2006-07-27 14:32 Matlab 程序\sel.m
目录 0 2009-10-26 17:56 Matlab 程序
----------- --------- ---------- ----- ----
8165419 11
- 上一篇:wave_vorticity.m
- 下一篇:两个三维图像互信息计算
相关资源
- 基于遗传算法的排序融合方法matlab程
- Matlab遗传算法工具箱gaot及安装
- 粒子群算法与蚁群算法混合解决旅行
- 基于matlab的遗传算法源代码
- 基于遗传算法优化SVM的手写字体识别
- 基于模拟退火算法的遗传模拟退火算
- 免疫算法和遗传算法解决物流选址问
- 一些用matlab编写的经典遗传算法算例
- 遗传算法VRP的matlab程序
- 基于遗传算法的排课问题的matlab实现
- 装配生产线任务平衡问题的遗传算法
- 加速遗传算法
- matlab 遗传算法组合优化
- 改进遗传算法求解TSP问题的Matlab程序
- MATLAB GOAT工具箱
- 遗传算法应用在中国35省会城市TSP路径
- GAOT工具箱 遗传算法工具箱
- 基于matlab遗传算法的微网运行优化
- 遗传算法车间布局源程序代码
- 基于改进遗传算法的路径规划MATLAB实
- matlab遗传算法解决背包问题
- MATLAB+遗传算法+多车有容量约束VRP
- MATLAB遗传算法VRP
- MATLAB用遗传算法GA)车间调度
- 遗传算法优化BP神经网络,以非线性函
- 基于遗传算法的BP神经网络MATLAB代码
- 遗传算法十进制
- 免疫遗传算法matlab工具箱.rar
- 基于遗传算法的单目标优化matlab程序
- 单目标最优化问题的遗传算法
评论
共有 条评论