资源简介
遗传算法函数优化f=x.^2+y.^3+z.^2,,.运行前需下载谢菲尔德遗传算法工具箱,此为三元,如需n元,需要在toolbox->gatbx->objfun1 文件里的Dim改为和n相等的个数,gatbx是谢菲尔德遗传算法工具箱名称(可能每个人下载版本不一样,根据你下的工具箱名称),hanshuga1.m是函数优化代码,tuxing1.m是函数图像代码(这个代码是三元的不可调整)

代码片段和文件信息
clear all;close all; %释放所有变量,关闭图形窗口,清除命令窗口
%定义遗传算法参数
NIND=150; %个体数目(Numbe of individuals)
MAXGEN=200; %最大遗传代数(Maximum number of generations)
NVAR=3; %变量的维数
PRECI=20; %变量的二进制位数(Precision of variables)
GGAP=0.9; %代沟(Generation gap)
trace=zeros(MAXGEN 2);
%建立区域描述器(Build field descriptor)
FieldD=[rep([PRECI][1NVAR]);rep([-5.12;5.12][1 NVAR]);rep([1;0;1;1][1NVAR])];
Chrom=crtbp(NIND NVAR*PRECI); %创建初始种群
gen=0; %代计数器
ObjV=objfun1(bs2rv(Chrom FieldD)); %计算初始种群个体的目标函数值
while gen FitnV=ranking(ObjV); %分配适应度值(Assign fitness values)
SelCh=select(‘sus‘ Chrom FitnV GGAP); %选择
SelCh=recombin(‘xovsp‘ SelCh 0.9); %重组
SelCh=mut(SelCh); %变异
ObjVSel=objfun1(bs2rv(SelCh FieldD)); %计算子代目标函数值
[Chrom ObjV]=reins(Chrom SelCh 1 1 ObjV ObjVSel); %重插入
gen=gen+1; %代计数器增加
trace(gen 1)=min(ObjV); %遗传算法性能跟踪
trace(gen 2)=sum(ObjV)/length(ObjV);
end
plot(trace(:1)‘r‘);hold on;
plot(trace(:2)‘-.‘);grid;
title(‘最小值/均值 变化趋势‘);xlabel(‘Generations‘);ylabel(‘最小值/均值‘);
legend(‘最小值的变化‘‘种群函数值均值的变化‘)
%输出最优解及其对应的20个自变量的十进制值Y为最优解I为种群的序号
%[A I]=min(ObjV)
% X=bs2rv(Chrom FieldD);
% X(I:)
disp(sprintf(‘种群数目:%d‘NIND));
disp(sprintf(‘遗传代数:%d‘MAXGEN));
disp(sprintf(‘代沟:%d‘GGAP));
[YI]=min(trace(:1));
disp(sprintf(‘最小值:‘));Y
y1=trace(I:size(trace1)1); %全局最小值之后的每代最小值
length1=length(y1);
y2=find(y1==Y);
length2=length(y2);
if length2==length(y2)&&length2>=10
disp(sprintf(‘收敛次数:%d占总迭代次数比例:%4f‘II/MAXGEN));
else
disp(sprintf(‘最小值所在代数:%d‘I));
disp(sprintf(‘暂未收敛‘));
end
% [xyz]=meshgrid(linspace(-5.125.12));
% val=x.^2+y.^3+z.^2;
% [fv]=isosurface(xyzval2);
% p=patch(‘Faces‘f‘Vertices‘v‘CData‘v(:3)‘FaceColor‘‘w‘‘EdgeColor‘‘flat‘);
% isonormals(xyzvalp);%显示V=p等等值面
% view(3)
% grid on
% axis equal
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2453 2018-06-12 14:52 函数一\hanshuga1.m
文件 312 2018-06-13 16:14 函数一\tuxing1.m
目录 0 2018-06-13 16:16 函数一
----------- --------- ---------- ----- ----
2765 3
相关资源
- 编程实现二维DCT变换
- 图像二值化
- 用FFT对信号进行频谱分析
- Tone-Reservation
- QGA 量子遗传算法
- 基于遗传算法的排课系统
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 遗传算法PPT(Genetic_Algorithms.ppt)
- 遗传算法的堆石料非线性本构模型参
- 简单二阶互联系统的非线性动力学分
- 遗传算法越野小车unity5.5
- 车间布局遗传算法
- 手写数字识别-模板匹配法
- Stock_Watson_动态因子分析模型
- 果蝇优化算法优化支持向量回归程序
- 自己做的一个简单GUI扑克纸牌识别-
- multi output SVR
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 遗传算法论文11篇
- 基于遗传算法的立体车库车位调度研
- 压缩感知TwIST
- 基于最小错误率的贝叶斯手写数字分
- 最全系统辨识源代码,包括多种最小
- 导弹制导实验
评论
共有 条评论