CAD教程 行业资讯 3D模型下载 Pro/E教程 CAD书店 软件下载 联系我们
技术资料 CAD招聘 发布招聘 CAD问答 设计竞赛 CAD认证 北京CAD培训
视频教程 PS教程 CAD图纸 图书推荐 Solidworks教程 CAD培训 CAD软件商

 最新视频教程Pro/ENGINEER Wildfire2.0 工业设计实例视频教程 (全套免费在线学习)   AutoCAD视频教程每日更新
 
首页 > CAD在线问答 > matlab

matlab 多目标规划

2014-10-06 CAD教育网 http://www.cadedu.com



问题描述:如何用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



 

 

matlab 中function的用法
matlab if语句
我来回答 共有条 回答
用户名: 密码:
验证码: 匿名发表
| AutoCAD | Pro/E | UG | 3Dmax | catia | solidworks | maya | photoshop | 模具设计 | 有限元 | matlab | 计算机图形学 | 室内设计 |