Cplex concert variables sans valeur
Bonjour à tous,
J'utilise la librairie java de Cplex afin de résoudre mon problème d'optimisation.
Tout se passe bien jusqu'au moment ou je dois récupérer le résultat.
Tout d'abord, la résolution semble correcte :
Solution status = Optimal
Solution value = 0.0
Ensuite, mes contraintes sont bien posées
exemple : IloRange ubiquity_M0_P0 : 1.0 <= 1.0*X_W0_M0_P0 + 1.0*X_W1_M0_P0 + 1.0*X_W2_M0_P0 + 1.0*X_W3_M0_P0 <= 1.0
J'ai même ajouté à la main les variables au solveur pour éviter qu'il ne les supprime quand elles n'ont pas d'impacte sur l'objectif.
Code:
1 2 3
|
// --- To prevent Cplex from eliminating x
solver.add(x[w][m][p]); |
Et pourtant...
Quand je fais :
Code:
1 2
|
if(solver.getValue(x[0][0][0]) == 1){ |
J'obtiens une erreur :
Code:
1 2 3
|
Exception in thread "main" java.lang.NullPointerException
at ilog.cplex.IloCplex.getValue(IloCplex.java:5109) |
Je n'ai aucune idée de ce qui pose problème. Ma variable est bien contrainte, alors pourquoi n'a t'elle pas de valeur? et comment éviter ce problème?
Merci d'avance