• 大小: 2.74MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-02
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

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 < maxgen
    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\crtbase.m
     文件        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个文件信息

评论

共有 条评论