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?
0 个评论
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Direct Search 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!