How to solve a constrained binary multi-objective optimization problem through genetic algorithm?

10 Ansichten (letzte 30 Tage)
Dear All,
I would like to solve a multi-objective problem that has both equality and inequality constraints and where the decision variables are binary. I would like to find the Pareto front with the help of a genetic algorithm.
The solver gamultiobj handles such binary multi-objective problems but ignores the constraints. Alternatively, I tried defining the variables' bounds to [0,1] and set all variables as integers but failed in that.
Does anybody know how to deal with this issue? Any other toolbox for MATLAB that is capable is also highly appreciated. Thank you!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 28 Dez. 2016
You need to not tell it that you want integer constraints. Instead, you need to supply your own custom mutation and crossover and population files that happen to never generate non-binary values for those positions.
  2 Kommentare
Atamert Arslan
Atamert Arslan am 31 Jan. 2017
Bearbeitet: Walter Roberson am 31 Jan. 2017
Dear Mr. Roberson,
I very much appreciate your answer. I managed to find some hints on how to write those files you mentioned. The thread's link is as follows: https://de.mathworks.com/matlabcentral/answers/103369-is-it-possible-to-solve-a-mixed-integer-multi-objective-optimization-problem-using-global-optimizati
However, linear inequality and equality constraints are not included in the files posted there. It is just stated that it is possible to do so.
Would you mind also giving me some tips on how to do that? I know the workaround to turn equality constraints into inequality ones so my question reduces itself to only adding inequality constraints to my binary multi-objective problem.
Thank you very much!
Walter Roberson
Walter Roberson am 31 Jan. 2017
Just pass A, b, Aeq, beq matrices as usual. Those are evaluated by plain multiplication, which does not need to know that the x values are restricted to integer since it is just multiplication and comparison.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Laila Qaisi
Laila Qaisi am 19 Mär. 2017
If you have written the code would you please share it as iam trying to find the same. Thanks!
  1 Kommentar
Atamert Arslan
Atamert Arslan am 19 Mär. 2017
Bearbeitet: Atamert Arslan am 19 Mär. 2017
I found an NSGA-II implementation in MATLAB that worked for me https://de.mathworks.com/matlabcentral/fileexchange/31166-ngpm-a-nsga-ii-program-in-matlab-v1-4
In parallel, I ran a weighted sum method to test the pareto front. It worked fine until now.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Multiobjective Optimization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by