文本内容:
%生成初始解,求目标函数fx=xl八2+x2八2+8在xlA2-x20;-xl-x2A2+2=0约束下的最小值问题解空间初始解sol_new2=l;%1sol_new1=2-sol_new2A2;sol_current1=sol_new1;sol_bestl=sol_newl;sol_current2=sol_new2;sol_best2=sol_new2;E_current=inf;E_best=inf;;初始化随机数发生器randCstate sumclock;%%初始温度t=90;%结束温度tf=
89.9;温度下降比例a=
0.99;%结束条件while t=tf%7%退火次数for r=1:1000%产生随机扰动新解的产生3sol_new2=sol_new2+rand*
0.2;sol_new1=2-sol_new2A2;%检查是否满足约束if sol_new1A2-sol_new2=0-sol_new1-sol_new2A2+2==0sol_newl=0sol_new2=0elsesol_new2=rand*2;sol_new1=2-sol_new2A2;continue;end%退火过程E_new=sol_new1A2+sol_new2A2+8;%2目标函数接受准则ifE_newE_current%5E_current=E_new;sol_currentl=sol_new1;sol_current2=sol_new2;if E_newE_best%把冷却过程中最好的解保存下来E_best=E_new;sol best1=sol newl;sol_best2=sol_new2;endelse代价函数差ifrandexp-E_new-E_current/t%4E current=E new;sol_currentl=sol_new1;sol_current2=sol_new2;elsesol_new1=sol_current1;sol_new2=sol_current2;endendplotr,E_best,,*thold onend降温t=t*a;%6end最优解为dispCdispsoLbestldispsol_best2目标表达式的最小值等于dispCdispE_best。
个人认证
优秀文档
获得点赞 0