各位大侠,我想用matlab中的fgoalattain函数,实现多目标函数优化。请问,函数中的goal怎么设置?

各位大侠,我想用matlab中的fgoalattain函数,实现多目标函数的函数值最小化。请问,函数中的goal怎么设置?目标函数都是平方和,所以都为正数。请问,实现多个... 各位大侠,我想用matlab中的fgoalattain函数,实现多目标函数的函数值最小化。请问,函数中的goal怎么设置?目标函数都是平方和,所以都为正数。
请问,实现多个函数的函数值最小化,用fgoalattain函数对吗?我随便设置了goal,初始值,结果不对。求各位大侠帮忙啊。非常感谢!
展开
 我来答
百度网友5dfd0c5
2013-01-09 · TA获得超过122个赞
知道答主
回答量:49
采纳率:0%
帮助的人:54.4万
展开全部
一般的结构:
[x,fval] = fgoalattain(FUN,X0,GOAL,WEIGHT,A,B,Aeq,Beq,LB,UB,NONLCON)
当然,你还可以在等式右侧添加输出量,等式左侧的输入量,如果缺则填[]。
按照你给的目标函数举例:
min (x1-1)^2+(x2-2)^2+(x3-3)^2
min x1^2+2*x2^2+3*x3^2
s.t. x1+x2+x3=6
x1,x2,x3>=0
%建立个m文件:
function y=fun(v,options)
x1=v(1);
x2=v(2);
x3=v(3);
y(1)=(x1-1)^2+(x2-2)^2+(x3-3)^2;
y(2)=x1^2+x2^2+x3^2;
%命令窗求解:
[x,fval]=fgoalattain(@fun,[1 1 1],[1 1],[1 1],[],[],[1 1 1],[6],[0 0 0],[])

%结果如下:
x =
2.0000 2.0000 2.0000
fval =
2.0000 12.0000

PS:fgoalattain函数是多目标规划早期的算法,目的是把多目标转化为单目标,给每个目标函数一个权重weight,然后去求解。
昆吾忆楣8I
2013-01-06
知道答主
回答量:12
采纳率:0%
帮助的人:4.2万
展开全部
查帮助文件,或执行 help fgoalattain 命令后,有介绍。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式