⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yichuanmatlab.txt

📁 这是作者自己编写的基于matlab语言的程序设计。遗传算法的函数优化 应用。
💻 TXT
字号:
目标函数是De jong函数  是一个单峰函数,从函数的表达式可以看出De jong函数是一个简单的平方和函数,
只有一个极小值点。程序的主要变量设置,个体数量为nind是40,最大遗传代数为maxgen=300,变量的维数
为nvar=20,每个变量使用20位表示,preci=20,使用代购ggap=0.9










求解De Jong函数最小值的matlab程序
nind =40;          %个体数目
maxgen=500;        %最大遗传代数
nvar=20;           %变量的维数
preci=20;          %变量的二进制位数
ggap=0.9;          %代购
trace=zeros(maxgen,2);
fieldd=[rep([preci],[1,nvar]);rep([-512;512],[1,nvar]);rep([1;0;1;1],[1,nvar])];
chrom=crtbp(nind,nvar*preci);                %创建初始种群
gen=0;                                       %代计数器
objv=objfun1(bs2rv(chrom,fieldd));           %计算初始个体目标函数
while gen<maxgen,
    fitv=ranking(objv);
    selch=select('sus',chrom,fitnv,ggap);     %选择
    selch=recombin('xovsp',selch,0.7);        %重组
    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));hold on ;
plot(trace9:,2),'-.');grid;
 



区域描述器的构建:采用矩阵复制函数rep建立矩阵fieldd,描述染色体的表示和解释。
一个初始种群被函数crtbp创建,产生一个矩阵chrom,他由nind个均匀分布
给予排序的适应度函数分配计算由下面的程序段实现;fitnv=ranking(objv);
使用高级函数选择调用低级函数随机遍历抽样sus 程序段为selch=recombin('xovsp',selch,0.7);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -