Clear Filters
Clear Filters

Genetic Algorithm Constrait Penalization

3 views (last 30 days)
Gökhan Kof
Gökhan Kof on 8 Jan 2017
Answered: Ed Marquez on 12 Jan 2017
Hi,
I want to solve an IP w/ GA but I do not want to enter linear constraints. I want to penalize the unsatisfied constraint amount from the fitness function. I can just write an appropriate fitness function but I want the penalty coefficient to increase as I go to future iterations so that at the end I won't end up with an infeasible solution.
Thanks

Answers (1)

Ed Marquez
Ed Marquez on 12 Jan 2017
You could specify additional options for the 'ga' function you are using. You can start by creating a variable 'options' that uses optimoptions,
options = optimoptions(@ga)
Refer to the link below to see all the options and values you can assign to those options:
https://www.mathworks.com/help/gads/gaoptimset.html
Once you create the 'options' variable, you can change the NonlinearConstraintAlgorthm property to 'penalty' and this may get you closer to the behavior that you are after. Refer to the link below (Penalty Algorithm Section) to better understand how the problem is solved when the NonlinearConstraintAlgorithm option is changed:
https://www.mathworks.com/help/gads/description-of-the-nonlinear-constraint-solver_bqf8bdd.html

Community Treasure Hunt

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

Start Hunting!