How can I add constraint on variable in genetic algorithm which can take both discrete and continuous values.
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Himanshu Nagpal
le 25 Fév 2020
Commenté : Himanshu Nagpal
le 26 Fév 2020
Hi everyone,
I am trying to solve an optimization problem using genetic algorithm. I am using the standard function "ga" for this. In the problem, the decision variable can take both discrete and continous values.
For example: Let a be the decision variable, it can take following values
a = {0, 1, 2, 6, 7,} and 45 <= a <= 85.
How can I represent this in [lb <= a <= ub]?
2 commentaires
Sky Sartorius
le 25 Fév 2020
Can you tell us more about the application? Does this decision variable represent anything physical in the real world?
Réponse acceptée
Alan Weiss
le 25 Fév 2020
You can represent this 0-or-in-a-range type of constraint by using an auxiliary variable. Suppose that your variable z can be in the continuous range [1,2] or else it can be zero (this is perfectly general by scaling the range). Set y = 0 means the variable is 0, or y = 1 means the variable is in its range. Then take y as an integer binary variable and x = y*z and minimize f(x).
Alan Weiss
MATLAB mathematical toolbox documentation
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Genetic Algorithm dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!