matlab 多目标规划

如何用matlab求解

minf(1)=6-3x-4y-5z
minf(2)=3x+4y+5z-6
约束条件:
x+y+z=1
x,y,z>0

请高手帮帮忙

是这样的

function zFgoalattain
% 多目标最优化
clear all; clc
% 给定目标,权重按目标比例确定,给出初值
%options = optimset('TolCon',1e-008);
goal = [1 1 ];
weight = [0.5 0.5];
x0 = [1 1 1];
% 给出约束条件的系数
A=[]; B=[];
Aeq = [1 1 1]; Beq = 1;
lb=[0 0 0]; ub=[];
% 求解
[x,fval,attainfactor,exitflag] = fgoalattain(@ObjFun,x0,goal,weight,A,B,Aeq,Beq,lb,ub)
% ------------------------------------------------------------------
function f = ObjFun(x)
f1=-3*x(1)-4*x(2)-5*x(3)+6;
f2=3*x(1)+4*x(2)+5*x(3)-6;
f=[f1;f2];

结果:
x =

0 0 1.0000

fval =

1.0000
-1.0000

attainfactor = 6.9944e-015

exitflag = 5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-27
你好!已通过扣扣探讨,满意请采纳,谢谢寻觅回答。。。