Mixed integer optimisation with genetic algorithm problem
Mostrar comentarios más antiguos
Hi,
I'm trying to run setup an optimisation problem using a genetic algorithm with the following specification.
options = gaoptimset(@ga)
[x,fval,exitflag,output,population,scores] = ga(@alpha3_0,6,[0,0,0,1,-1,0],[0],[],[],[25,15,80,45,45,15],[80,15,150,200,200,100],[],[1, 2],options)
The aim is to have integer constraints on parameters 1 and 2 as well as the specified linear inequality.
According to the documentation this should be possible as it states that while equality constraints are not enforced but that the solver shouldn't have a problem with mixed integer problems and inequality constraints.
The results of this so far has been that the optimisation runs without any problems other than that the inequality constraint is completely ignored.
Any help would be greatly appreciated.
Cheers,
Calen
3 comentarios
Sean de Wolski
el 3 de Abr. de 2012
Is the constraint ignored in the result or in the intermediate generations?
Calen Walshe
el 4 de Abr. de 2012
Bob Hickish
el 17 de En. de 2017
I am having a very similar problem 5 years on. http://uk.mathworks.com/matlabcentral/answers/320749-using-genetic-algorithm-ga-function-for-integer-and-linear-inequality-constrained-optimization-ca
Will update the above question if I find an answer (for other people looking into this).
Respuestas (1)
Seth DeLand
el 4 de Abr. de 2012
0 votos
Hi Calen, The GA solver uses a penalty function when optimizing mixed-integer problems. The penalty function takes into account both the fitness function and the constraint violation. There's some more info here.
So it is possible for infeasible points to get evaluated, and they return a high value for the penalty function. You could try adjusting the PenaltyFactor and InitialPenalty values to increase the penalty applied to points that violate the constraint. This won't stop all infeasible points from being evaluated, but it will make their penalty value worse which hopefully results in the solver moving away from those points faster.
3 comentarios
Paul Kerr-Delworth
el 12 de Abr. de 2012
Hi Calen,
As Seth says, the mixed integer GA solver uses a penalty function to handle the fitness function and inequality constraints.
However, the mixed integer GA solver does not use the PenaltyFactor and InitialPenalty function options as the penalty function used does not require a penalty parameter.
We do not try to enforce the inequality constraints at each generation, so it is possible for population members to not satisfy the inequality constraints during the intermediate generations for the mixed integer GA.
Saying that, we do honor the bound constraints at each generation. If you can tighten the lower and upper bounds, this can help the mixed integer GA solver converge more quickly.
Hope this helps
Best regards,
Paul
Calen Walshe
el 24 de Abr. de 2012
suvrat
el 26 de En. de 2014
i am facing the same problem could you please tell me how you work on this problem.
Categorías
Más información sobre Genetic Algorithm en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!