Does gamultiobj() return alternative solutions (different variables but same vector of objectives)?

1 次查看(过去 30 天)
I am trying to enumerate alternative solutions by running the algorithm for additional generations. I see some, but I was wondering if this could be because there are very tiny numerical differences between objective vectors and the implementation only keep solutions with unique vector of objectives.
I know what the all the alternative solutions are, which I obtained from an exact (branch and bound) optimization solver, however I am not able to get all alternative solutions by running gamultiobj() for additional generations.

回答(2 个)

Walter Roberson
Walter Roberson 2017-6-1
gamultiobj() and ga() both operate probabilistically in part. They are not certain to encounter all of the "catch basins" of all of the solutions within any given timeframe.
If I recall correctly from what I read a fair number of years ago, Simulated Annealing is the only strategy that is considered to be certain to eventually find the global minima of an arbitrary function -- provided that you run it at a pretty high temperature and a very slow cooling rate. This can require centuries of computation.

Opt User
Opt User 2017-6-1
编辑:Opt User 2017-6-1
I am aware that the heuristic nature of this algorithm does not guarantee that all soultions, or optimal solutions at all, will be found. To rephrase my question, I am wandering if the specific implementation of NSGA-II in Matlab only maintains solutions leading to unique Pareto Front vectors, and discards alternative or repeated solutions.

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by