多目标优化实例和matlab程序

时间:2025-02-19

多目标优化具体模型,并附上matlab程序和运行结果

NSGA-II 算法实例

目前的多目标优化算法有很多, Kalyanmoy Deb的带精英策略的快速非支配排序遗传算法(NSGA-II) 无疑是其中应用最为广泛也是最为成功的一种。本文用的算法是MATLAB自带的函数gamultiobj,该函数是基于NSGA-II改进的一种多目标优化算法。

一、 数值例子

多目标优化问题

42minf1(x1,x2) x14 10x12 x1x2 x2 x12x2

42minf2(x1,x2) x2 x12x2 x14 x1x2

5 x1 5s.t. 5 x2 5

二、 Matlab文件

function y=f(x) 1. 适应值函数m文件:

y(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2;

y(2)=x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2);

2. 调用gamultiobj函数,及参数设置:

clear

clc

fitnessfcn=@f; %适应度函数句柄

nvars=2; %变量个数

lb=[-5,-5]; %下限

ub=[5,5]; %上限

A=[];b=[]; %线性不等式约束

Aeq=[];beq=[]; %线性等式约束

options=gaoptimset('paretoFraction',0.3,'populationsize',100,'generations',200,'stallGenLimit',200,'TolFun',1e-100,'PlotFcns',@gaplotpareto);

% 最优个体系数paretoFraction为0.3;种群大小populationsize为100,最大进化代数generations为200,

% 停止代数stallGenLimit为200, 适应度函数偏差TolFun设为1e-100,函数gaplotpareto:绘制Pareto前端

[x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)

多目标优化具体模型,并附上matlab程序和运行结果

3. 计算结果

35

30

25Pareto front

Objective 2

2015

10

5

-5-40-35-30-25-20

Objective 1-15-10-5

图1. 实例1对应的Pareto前沿图

从图1可以看出Pareto前分布较均匀,多样性较好。

多目标优化实例和matlab程序.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219