Why multi objctive GA doesn't give identical answers?

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

采纳的回答

John D'Errico
John D'Errico 2020-10-16
编辑:John D'Errico 2020-10-16
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Direct Search 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by