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

1 view (last 30 days)
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.

Answers (2)

Walter Roberson
Walter Roberson on 1 Jun 2017
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 on 1 Jun 2017
Edited: Opt User on 1 Jun 2017
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.

Community Treasure Hunt

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

Start Hunting!