optimization doesn't carry out using fgoalattain

4 views (last 30 days)
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 Comment
Manikanta Aditya
Manikanta Aditya on 5 Mar 2024
Edited: Manikanta Aditya on 5 Mar 2024
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.

Sign in to comment.

Answers (1)

John D'Errico
John D'Errico on 5 Mar 2024
Edited: John D'Errico on 5 Mar 2024
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.

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!