Comment puis-je changer le type de variable de décision dans Concert Technologies (avec Java)
J'ai un modèle MILP avec des variables continues ($y_{ij}$) et binaires ($x_{ij}$). J'utilise Java et cplex 12.8 pour l'implémentation.
Y a-t-il un moyen par lequel - en utilisant l'API Java-cplex - je pourrais écrire un seul modèle qui peut être résolu en premier avec le binaire $x_{ij}$et puis pour les variables continues ($0 \leq x_{ij} \leq 1$)? Je veux voir l'écart entre LP-R et MIP à la volée - et je ne veux pas construire deux modèles LP et MILP différents.
Réponses
Le type d'une variable ne peut pas être modifié. Cependant, il peut être écrasé pour un modèle particulier en ajoutant un objet IloConversion, qui vous permet de spécifier de nouveaux types de variables dans ce modèle. Lorsqu'ILOG CPLEX trouve un objet de conversion dans le modèle actif, il utilise les types de variables spécifiés dans l'objet de conversion au lieu du type d'origine spécifié pour l'optimisation. Par exemple dans un modèle contenant:
IloNumVar x = cplex.numVar(0.0, 1.0);
cplex.add(cplex.conversion(x, IloNumVarType.Int));