电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

进化算法程序VIP免费

进化算法程序_第1页
1/20
进化算法程序_第2页
2/20
进化算法程序_第3页
3/20
进化算法作业 1 全局优化问题 (1)  422221614121144311.24minxxxxxxxxf ..ts 55ix,2,1i 此问题的全局最优值min1.0316f 。 一.程序 (1)主函数: main.m clear all; clc; popsize=60; %种群规模 chromlength=34; %二进制编码,编码精度为 0.0001,所以串长 l 为 17 pc=0.7; %杂交概率 pm=0.1; %变异概率 t=0; %进化代数初始为 0 pop=initpop(popsize,chromlength); %随机产生初始种群 while t<500 %迭代次数 t=t+1; [objvalue]=calobjvalue(pop); %计算目标函数值 fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度 [bestindividual,bestfit]=best(pop,fitvalue); %求出群体中适应度最大的个体及其适应度值 x11=decodechrom(bestindividual,1,14); %将二进制数转换为十进制数 x22=decodechrom(bestindividual,15,14); x1(t)=-5+10*x11/(pow2(14)-1); %将二值域中的数转换为变量域的数 x2(t)=-5+10*x22/(pow2(14)-1); y(t)=4*x1(t)^2-2.1*x1(t)^4+1/3*x1(t)^6+x1(t)*x2(t)-4*x2(t)^2+4*x2(t)^4; %计算最佳个体的目标函数值 [newpop1]=selection(pop,fitvalue); %选择算子 [newpop2]=crossover(newpop1,pc); %交叉算子 [newpop3]=mutation(newpop2,pm); %变异算子 objvalue1=calobjvalue(newpop3(1,:)); if objvalue1>y(t) newpop3(1,:)=bestindividual; %保留最佳个体 end pop=newpop3; %产生新种群 end y; %每代的最佳目标函数值 x1; %每代的最佳目标函数值对应的自变量 x2; [gy,k]=min(y) %gy 为全局最优值,k 为最优值对应的进化代数 gx1=x1(k) %全局最优值对应的自变量 gx2=x2(k) plot(y) %最优值收敛曲线 title('收敛性曲线'); xlabel('进化代数'); ylabel('函数值'); axis([0,500,-1.5,1.5]); (2)初始种群:initpop.m function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); %rand 随机产生[0,1]区间的一个小数,rand 四舍五入取整 end (3)计算目标函数值::calobjvalue.m function [objvalue] =calobjvalue( pop ) temp1=decodechrom(pop,1,14); temp2=decodechrom(pop,15,14); x1=-5+(10*temp1)/(pow2(14)-1); %将二值域中的数转化为变量域中的数 x2=-5+(10*temp2)/(pow2(14)-1); objvalue=4*x1.^2-2.1*x1.^4+1/3*x1.^6+x1.*x2-4*x2.^2+4*x2.^4; %计算目...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

进化算法程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部