Minimizing an objective function

4 次查看(过去 30 天)
Hi everyone,
I am quite new to Matlab. I want to minimize my objective function, but I have not done it before and I do not know how to minimize the objective function in matlab. Here is a simplified version of the function I need to minimize:
f=3*w(1) +5*w(2) +7*w(3)
st. w(1)+w(2)+w(3)=1
Any code, illustration would help tremendously.
Thanks.

采纳的回答

Roger Stafford
Roger Stafford 2014-12-11
编辑:Roger Stafford 2014-12-11
Unless you place some further constraints on W values, there is no limit to how much 'f' can be reduced. The right answer would be minus infinity. For example, let W(1) = 1, w(2) = +2^50, w(3) = -2^50. Then the sum of the w's is 1 and f is -2^51+3 which is a huge negative number. If you restrict W to non-negative values, then the obvious answer is 3 without the necessity of using matlab.
To learn how to accomplish such a minimization in a general situation, read the documentation for 'fmincon' at:
http://www.mathworks.com/help/optim/ug/fmincon.html
  1 个评论
Eraldo
Eraldo 2014-12-16
Thanks for your reply Roger.
Actually, the bounds are zero and one. So, it's a weighted average.
I finished it, BUT I am having difficulties with the for loop inside the function. Instead of the numbers above I need to use my estimates for each period and it just doesn't recognize my estimate. Do you think it might be because of the for loop?
Many thanks in advance.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by