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

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

답변 (1개)

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

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2022년 1월 2일

답변:

2022년 1월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by