Having a problem in pareto front while running GAMULTIOBJ with integer variables

10 vues (au cours des 30 derniers jours)
Hello all,
Thank your for your continuous help and assistance.
I have a problem while running GAMULTIOBJ with integer variables. I set the population size and number of generations to 50. Consequently when generation terminated and plotting the pareto front, I got oniy 18 points where all of them are duplicated and some others should be omitted if GAMULTIOBJ is working properly.
Kindly find attached the results which i got. Thank you

Réponses (1)

Walter Roberson
Walter Roberson le 2 Jan 2022
The decision variable combinations are all different, it appears to me.
If you have combinations in which some variables effectively become "don't care" (their contribution is supressed by a different variable), then you are going to get equivalent outputs, unless you put in constraints to only permit a "cannonical" form.
For example,
x3 * 5 + (x3 > 4) * (x4 * 7 - x5 * 9)
then when x3 <= 4, all values for x4 and x5 will give equivalent output, and gamultiobj cannot know that it should only emit one of the combinations. You would have to put in a constraint such as
(x3 <= 4) * ((x4 > min_x4) + (x5 > min_x5))
which would be 0 (permitted) if x3 > 4 or if x4 == min_x4 and x5 == min_x5; this would force x4 and x5 to their minima if x3 <= 4

Catégories

En savoir plus sur Multiobjective Optimization dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by