Initial convergence mixed integer ga optimization - only unfeasible results?
8 views (last 30 days)
Show older comments
Hello everyone
I'm currently working on a mixed integer ga optimization problem. The code works fine, after a while a get I get o logical solutions with a good fitness function. However, when I look to the convergence plot, I notice something weird. In the beginning, the penalty value is very low, then suddenly jumping to a more logic value. I asume that in the beginning, only unfeasible results are found, but I cannot explain why the penalty value is so low. From the definition of the penalty function:
- The genetic algorithm attempts to minimize a penalty function, not the fitness function. The penalty function includes a term for infeasibility. This penalty function is combined with binary tournament selection by default to select individuals for subsequent generations. The penalty function value of a member of a population is:
- If the member is feasible, the penalty function is the fitness function.
- If the member is infeasible, the penalty function is the maximum fitness function among feasible members of the population, plus a sum of the constraint violations of the (infeasible) point.
So if it is true that in the first generations there are only unfeasible individuals, how can the low value be explained. The sum of the constraint violations should than be much higher I suppose? When I look to the webpage from Mixed integer ga optimization ( https://nl.mathworks.com/help/gads/mixed-integer-optimization.html ), the examples show the same behaviour, but is not explained.
Thanks in advance

1 Comment
Accepted Answer
Walter Roberson
on 9 May 2025
If the member is infeasible, the penalty function is the maximum fitness function among feasible members of the population, plus a sum of the constraint violations of the (infeasible) point.
Suppose that to start with, all of the points are infeasible, but the constraint violations are mathematically small. Then the maximum fitness function among feasible members would be empty (which is probably taken to be 0), and the sum of the constraint violations would be small. The overall calculated value would be small.
Eventually feasible points are found, and at that point the maximum fitness function among the feasible members starts kicking in -- and that value is potentially large.
More Answers (0)
See Also
Categories
Find more on Get Started with Optimization Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!