I am confused by the documentation for fgoalattain

4 次查看(过去 30 天)
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?

回答(1 个)

Walter Roberson
Walter Roberson 2015-11-11
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 个评论
Cy
Cy 2015-11-16
编辑:Cy 2015-11-16
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 2015-11-22
编辑:Cy 2015-11-22
Could anyone clarify if I had this right? I would appreciate the feedback. Just for my understanding of how the tool works. Thanks

请先登录,再进行评论。

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by