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

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.

1 件のコメント

To look at the code,
temp = which('-all','gamultiobjsolve');
edit( temp{1} )

サインインしてコメントする。

カテゴリ

質問済み:

2017 年 6 月 1 日

コメント済み:

2017 年 6 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by