matlab 多目标规划如何用matlab求解minf(1)=6-3x-4y-5zminf(2)=3x+4y+5z-6约束条件:x+y+z=1x,y,z>0
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 16:52:25
![matlab 多目标规划如何用matlab求解minf(1)=6-3x-4y-5zminf(2)=3x+4y+5z-6约束条件:x+y+z=1x,y,z>0](/uploads/image/z/5529456-0-6.jpg?t=matlab+%E5%A4%9A%E7%9B%AE%E6%A0%87%E8%A7%84%E5%88%92%E5%A6%82%E4%BD%95%E7%94%A8matlab%E6%B1%82%E8%A7%A3minf%281%29%3D6-3x-4y-5zminf%282%29%3D3x%2B4y%2B5z-6%E7%BA%A6%E6%9D%9F%E6%9D%A1%E4%BB%B6%EF%BC%9Ax%2By%2Bz%3D1x%2Cy%2Cz%3E0)
matlab 多目标规划如何用matlab求解minf(1)=6-3x-4y-5zminf(2)=3x+4y+5z-6约束条件:x+y+z=1x,y,z>0
matlab 多目标规划
如何用matlab求解
minf(1)=6-3x-4y-5z
minf(2)=3x+4y+5z-6
约束条件:
x+y+z=1
x,y,z>0
matlab 多目标规划如何用matlab求解minf(1)=6-3x-4y-5zminf(2)=3x+4y+5z-6约束条件:x+y+z=1x,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