Dependency of Order of Objective Functions in Multiobjective GA

1 view (last 30 days)
Hasan Eren Bekiloglu
Hasan Eren Bekiloglu on 5 Jan 2018
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.

Answers (1)

Mario CASTRO GAMA
Mario CASTRO GAMA on 18 Jan 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 Comment
Hasan Eren Bekiloglu
Hasan Eren Bekiloglu on 21 Jan 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!