Why multi objctive GA doesn't give identical answers?

2 views (last 30 days)
I am trying to use gamultiobj for a problem, but every time that I run my code, I get a different answer out of gamultiobj. WHy this happens and how I can fix this problem?

Accepted Answer

John D'Errico
John D'Errico on 16 Oct 2020
Edited: John D'Errico on 16 Oct 2020
First, many optimization problems have multiple solutions. Nonlinear problems often do.
Second, there is no assurance that any optimizer, including ga or tools like it, will generate the globally optimal solution. Those tools try to increase the probability that an optimal solution is found.
Third, since those tools use random searches, they will often find different solutions. Call it twice, and since the random seed will be different, you can get a different result. Again the goal is you get a globally optimal solution, but that cannot be gauranteed.
Finally, even if two methods find the same "solution" they may find slightly different solutions, to within any tolerances.
You probably need to spend some time in learning about optimization, and the optimizers you are using.
How can you "fix" it? Again, learn about optimization. You may be able to better constrain the problem, since if you know something about the process, then providing intelligently chosen constraints can hugely improve the result.
Next, since the optimizers use randomness to try to improve things, then running the tools for a longer time can help. And using multi-start methods can help.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!