急询:利用MATLAB求多目标线性函数优化问题?谢了!

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:33:48
急询:多目标线性函数优化问题?谢了!
四个目标函数:
Min(15.4x1+13.0x2+13.6x3+20.6x4)
MAX(36.4x1+43.1x2+41.2x3+28.2x4)
Min(2.75x1+2.32x2+2.42x3+3.68x4)
Min(2.20x1+1.80x2+1.20x3+9.60x4)
约束条件如下:
∑xi=1;
xi>0(i=1,2,3,4)
--感谢!

function fgoal
clear;clc;
x0=[0 0 0 0];%x的初值,随便给啦
goal=[1 1 1 1]; %目标值,本题也可以随便给啦
weight=[1 1 1 1]; %权重值,本题也可以随便给啦
A=[-1 0 0 0;0 -1 0 0; 0 0 -1 0;0 0 0 -1]; %xi>0(i=1,2,3,4) 化成标准形xi<=0
B=[0;0;0;0]
Aeq=[1 1 1 1];%∑xi=1;
Beq=1;
[X,FVAL,ATTAINFACTOR,EXITFLAG]=fgoalattain(@fun,x0,goal,weight,A,B,Aeq,Beq)
function f=fun(x)
f(1)=15.4*x(1)+13.0*x(2)+13.6*x(3)+20.6*x(4);
f(2)=-(36.4*x(1)+43.1*x(2)+41.2*x(3)+28.2*x(4));
f(3)=2.75*x(1)+2.32*x(2)+2.42*x(3)+3.68*x(4);
f(4)=2.20*x(1)+1.80*x(2)+1.20*x(3)+9.60*x(4);

运行结果:
X = -0.0000 1.0000 0 0.0000
FVAL = 13.0000 -43.1000 2.3200 1.8000