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.
Et pourtant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // --- To prevent Cplex from eliminating x solver.add(x[w][m][p]);
Quand je fais :
J'obtiens une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(solver.getValue(x[0][0][0]) == 1){
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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Exception in thread "main" java.lang.NullPointerException at ilog.cplex.IloCplex.getValue(IloCplex.java:5109)
Merci d'avance
Partager