資源簡介
MATLAB多目標優化模型代碼,只需要自己修改多目標函數,可以運行,在數學建模等比賽中可以使用,可以直接運行,還含有遺傳算法的工具箱,解壓添加路徑就可以使用,百度查詢MATLAB工具箱導入即可

代碼片段和文件信息
function?MultiGA()
%%?遺傳算法求解多目標優化案例
%%?將原多目標函數改寫為f1=(x^2+y^2)/4;f2=x(1-y)+10;
%?運用線性疊加法,F=a*f1(x)+b*f2(x)??a+b=1
%?總目標函數改寫為??f=0.6*(x^2+y^2)/4+0.4*(x*(1-y)+10);??
popse=100;??%?種群數目
maxgen=50;??%?最大迭代次數
preci=20;???%?編碼長度
gap=0.95;???%?代溝大小
px=0.7;?????%?交叉概率
pm=0.01;????%變異概率
lbx=1;??????%?變量下界
lby=1;
ubx=4;??????%?變量上界
uby=2;
trace=zeros(3maxgen);??%?定義尋優結果的初始值
FieldD=[preci?preci;lbx?lby;ubx?uby;1?1;0?0;1?1;1?1];?%?區域描述器
chrom=crtbp(popsepreci*2);??%?創建隨機種群
%?優化
gen=0;
pop=bs2rv(chromFieldD);????%?進制轉換
X=pop(:1);Y=pop(:2);
objv=0.15*(X.^2+Y.^2)+0.4*(X.*(1-Y)+10);??%?目標函數
while?gen?????fitnv=ranking(-objv);
????selch=select(‘sus‘chromfitnvgap);????%?選擇?‘sus’表示為隨機遍歷抽樣
????selch=recombin(‘xovmp‘selchpx);???????%?重組??‘xovmp’表示多點交叉
????selch=mut(selchpm);
????pop=bs2rv(selchFieldD);?????????????????%?子代個體進行進制轉換
????X=pop(:1);Y=pop(:2);
????objvsel=0.15*(X.^2+Y.^2)+0.4*(X.*(1-Y)+10);
????[chromobjv]=reins(chromselch11objvobjvsel);
????pop=bs2rv(chromFieldD);
????gen=gen+1;
????[YI]=max(objv);
????trace(1:2gen)=pop(I:);
????trace(3gen)=Y;
end
%%?畫出求解結果
figure(1)
plot3(trace(1:)trace(2:)trace(3:)‘b‘);??%?畫出每代最優點
xlabel(‘x‘)
ylabel(‘y‘)
zlabel(‘f‘)
figure(2)
plot(1:maxgentrace(3:));??
xlabel(‘迭代次數‘)
ylabel(‘最優解‘)
bestz=trace(3end);
bestX=trace(1end);
bestY=trace(2end);
fprintf([‘最優解:\n?X=‘num2str(bestX)‘\n?Y=‘num2str(bestY)‘\n?z=‘num2str(bestz)])
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-05-07?15:17??gatbx\
?????文件????????3242??2014-03-06?10:58??gatbx\bs2rv.m
?????文件????????1781??2014-03-06?10:58??gatbx\contents.m
?????文件????????1192??2014-03-06?10:58??gatbx\crtba
?????文件????????2198??2014-03-06?10:58??gatbx\crtbp.m
?????文件????????2105??2014-03-06?10:58??gatbx\crtrp.m
?????目錄???????????0??2019-05-07?15:17??gatbx\DOC\
?????文件?????3850173??2014-03-06?11:02??gatbx\DOC\GAToolbox?Documentation.pdf
?????文件???????18009??2014-03-06?10:58??gatbx\gpl.txt
?????文件????????7124??2014-03-06?10:58??gatbx\migrate.m
?????文件????????3962??2014-03-06?10:58??gatbx\mpga.m
?????文件????????1610??2014-03-06?10:58??gatbx\mut.m
?????文件????????3423??2014-03-06?10:58??gatbx\mutate.m
?????文件????????4898??2014-03-06?10:58??gatbx\mutbga.m
?????文件????????2648??2014-03-06?10:58??gatbx\objfun1.m
?????文件????????2567??2014-03-06?10:58??gatbx\objharv.m
?????文件????????4698??2014-03-06?10:58??gatbx\ranking.m
?????文件????????1490??2014-03-06?10:58??gatbx\readme.txt
?????文件????????1840??2014-03-06?10:58??gatbx\recdis.m
?????文件????????1906??2014-03-06?10:58??gatbx\recint.m
?????文件????????1963??2014-03-06?10:58??gatbx\reclin.m
?????文件????????4879??2014-03-06?10:58??gatbx\recmut.m
?????文件????????2505??2014-03-06?10:58??gatbx\recombin.m
?????文件????????5518??2014-03-06?10:58??gatbx\reins.m
?????文件????????1229??2014-03-06?10:58??gatbx\rep.m
?????文件????????2091??2014-03-06?10:58??gatbx\resplot.m
?????文件????????1134??2014-03-06?10:58??gatbx\rws.m
?????文件????????1208??2014-03-06?10:58??gatbx\scaling.m
?????文件????????2399??2014-03-06?10:58??gatbx\select.m
?????文件????????2095??2014-03-06?10:58??gatbx\sga.m
?????文件????????1345??2014-03-06?10:58??gatbx\sus.m
............此處省略36個文件信息
評論
共有 條評論