optimization doesn't carry out using fgoalattain

4 次查看(过去 30 天)
I was using fgoalattain for a multiobjective optimization but the optimization didn't carry out. The error message is as below.
Attainment Max Line search Directional
Iter F-count factor constraint steplength derivative Procedure
0 62 0 8.06997
1 125 8.07 4.461e-09 1 1
Local minimum possible. Constraints satisfied.
fgoalattain stopped because the predicted change in the objective function is less than the value of the function tolerance and constraints
are satisfied to within the value of the constraint tolerance.
  1 个评论
Manikanta Aditya
Manikanta Aditya 2024-3-5
编辑:Manikanta Aditya 2024-3-5
The message you’re seeing is not an error, but rather a termination condition for the fgoalattain function in MATLAB. This function is used for multiobjective optimization and it stops when it finds a solution that satisfies the constraints within the specified tolerance.

请先登录,再进行评论。

回答(1 个)

John D'Errico
John D'Errico 2024-3-5
编辑:John D'Errico 2024-3-5
Sigh. So many times this same question gets asked. :) Clearly not your fault of course, given the number of others who trip over the same issue. I think it is something in how the message is worded, but many users think it is an error report, so they get confused. At least I do not see the word terminated, which really gets people upset. Even then, termination is just a synonym for the word done.
You say the optimization did not carry out. But what did you expect it to do? Display a picture of a little dancing frog, singing a song to tell you it is happy with the result? :) Mathworks would probably need to get a license for Kermit from the Henson heirs then, which would be expensive. Not gonna happen. Anyway, computers are generally on the dour side.
What does it say? Is this an ERROR message? NO! Errors in MATLAB are shown in red. This is the output of the solver, saying that as far as it is concerned, it is done. All constraints are satisfied, and it does not find anyplace better to search. fgoalattain thinks it solved the problem you posed to it to solve.
Now, it is still possible that you have some problem, since it quit after only one iteration. That may indicate you just posed a truly trivial problem to solve, or it may indicate that in some way, your problem is not properly formulated. (There are many basic mistakes people make.) We don't know. But as far as it is concerned, fgoalattain is happy at what it did.
Maybe the software really should display a little smiley face. All is good in the world as far as it is concerned.

类别

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

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by