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 中查找有关 Multiobjective Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!