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개)
Walter Roberson
2022년 1월 2일
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에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!