Minimizing an objective function

4 visualizzazioni (ultimi 30 giorni)
Eraldo
Eraldo il 11 Dic 2014
Commentato: Eraldo il 16 Dic 2014
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.

Risposta accettata

Roger Stafford
Roger Stafford il 11 Dic 2014
Modificato: Roger Stafford il 11 Dic 2014
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 Commento
Eraldo
Eraldo il 16 Dic 2014
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by