Mix-integer optimization problem using GA
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Is there anyway we can assign some specific values to a variable in the optimization problem? For example, x1 can only take values of 32 40 50 and 65.
When I read through this material: https://www.mathworks.com/help/gads/mixed-integer-optimization.html
I know that GA can find integer solutions. However, in my problem, some of my variables can only be assigned with specific values. For example, variable X1 only takes the value of 32 40 50 and 65. Is there anyway we can define it ?
Thank you so much,
Regards,
Kim,
1 commentaire
Bruno Luong
le 17 Juil 2019
Modifié(e) : Bruno Luong
le 17 Juil 2019
For example, variable X1 only takes the value of 32 40 50 and 65.
Reformulate your score/variable, instead of minimizing (by GA)
f(x1,x2, ...,xn) with x1 in [32,40,50,65]
minimize
g(y1,x2,...xn) := f(yourset(y1),x2,...,xn) with y1 (integer) in 1:4
and with
yourset := [32,40,50,65]
Réponses (2)
KALYAN ACHARJYA
le 15 Juil 2019
Modifié(e) : KALYAN ACHARJYA
le 15 Juil 2019
Define x1 as array with allowable values,
x1 =[32 40 50 65];
if sum(x1==input_value)>=1
% Allowed % Do something
else
%Not allowed with revert message
end
Is this you are looking for?
0 commentaires
Bruno Luong
le 15 Juil 2019
Modifié(e) : Bruno Luong
le 17 Juil 2019
Take x1 fix allowed value, e.g. 32, optimize wrt (x2,...), repeat 4 times pick the solutions (among 4) with smallest score value.
If your allowed array is large you might use integer programming GA method.
1 commentaire
Walter Roberson
le 15 Juil 2019
intlinprog permits discrete values but not general objective functions.
ga permits discrete values and general objective functions but uses a randomized approach in its choices.
Voir également
Catégories
En savoir plus sur Get Started with Optimization Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!