Dependency of Order of Objective Functions in Multiobjective GA

2 visualizzazioni (ultimi 30 giorni)
Hello, I wonder why the Pareto optimal solutions change with the order of non-linear objective functions. Because, I actually anticipated to reach the same optimal solutions. e.g. fitnessfcn=@(x)[x(1)^2/4+x(2)^2/4,(x(1)*(1-x(2))+10)]; One of them objective is nonlinear and the other one is linear; if I try to solve fitnessfcn=@(x)[x(1)^2/4+x(2)^2/4,10^6*(x(1)*(1-x(2))+10)];I found same optimal points. However, if I solved fitnessfcn=@(x)[10^6*(x(1)^2/4+x(2)^2/4),(x(1)*(1-x(2))+10)]; the pareto optimal solutions are changed and I have different optimal points. What is the reason of this situation? Thank you for your attention.

Risposte (1)

Mario CASTRO GAMA
Mario CASTRO GAMA il 18 Gen 2018
I do not understand the question.
1. If you divide by 10^6 the criteria (rescaling) it will handle the optimization in a much more efficient way.
2. Probably if you increase the decimal format (long g) it will be easier to see on screen.
3. Now, if you run GA two different times, the random seed will be different and the results will be different. In theory, after a large number of generations, the Pareto front will converge to a similar shape, but this depends on the problem.
Hope this helps
  1 Commento
Hasan Eren Bekiloglu
Hasan Eren Bekiloglu il 21 Gen 2018
Thank you for your answer, I especially wonder why Pareto solutions change with respect to the order of the objective functions. For example, if I multiply an objective function with 10^6, I have similar but not exactly same Pareto solutions. However, 'multigaobj' function normalized my objectives, so I anticipated same Pareto solutions because I used 'rng default' for random numbers to reproducibility. Even, sometimes the Pareto front shifts a bit. Maybe, it is only about the last digits after the comma.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by