I am confused by the documentation for fgoalattain

4 views (last 30 days)
Cy
Cy on 10 Nov 2015
Edited: Cy on 22 Nov 2015
When the weighting function weight is positive, fgoalattain attempts to make the objectives less than the goal values. To make the objective functions greater than the goal values, set weight to be negative rather than positive.
Given the formulation: F(x)-weight. y <= goal
Isn't this backwards, particularly the negative weights?

Answers (1)

Walter Roberson
Walter Roberson on 11 Nov 2015
It is common to code minimization routines but not maximization routines, and to say "to find the maximum of a function, minimize the negative of the function". The usage you describe is consistent with that, "multiply by a negative if you want to find a high value rather than a low value".
  2 Comments
Cy
Cy on 16 Nov 2015
Edited: Cy on 16 Nov 2015
I understood minimizing the negative to maximize the function, but I think if I understand correctly how it's been applied here, it seems a little convoluted (to me).
So even though it's not written explicitly, the negatives of the functions are used in the optimization, so that for negative w (or -w.y > 0), then actually |F(x)| is being made greater than |goal|.
So that, (-goal) - (-F(x)) >= -w.y
And similarly for the reverse (i.e. |F(x)| < |goal|) when w is positive?
Cy
Cy on 22 Nov 2015
Edited: Cy on 22 Nov 2015
Could anyone clarify if I had this right? I would appreciate the feedback. Just for my understanding of how the tool works. Thanks

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!