Originally posted by: 3HDM_Dorota_Mankowska
Dear all,
I work on an exact solution method for my optimization problem, where I decompose the model to master and slave. The slave model is often infeasible and I need the information about the constraints/variables causing the infeasibility to add proper cutting plane to the master. In other words, I need the minimal or irreducible infeasible subsystem (MIS, or IIS, for short). There is a function in concert technology cplex.getIIS(); but I havent found any method to look into the function so far. I have tried to print out the IIS using both, conflict refiner and getIIS(), but I failed. Here is my code (using cplex 12.5 and JDK 7):
IloCplex cplex = new IloCplex();
cplex.importModel("model.lp");
IloLPMatrix lp = (IloLPMatrix)matrixEnum.next();
IloRange[] rng = lp.getRanges();
cplex.solve();
IloConstraint[] constraints = new IloConstraint[rng.length];
for (int c1 = 0; c1 < rng.length; c1++)
constraints[c1] = rng[c1];
ConflictStatus[] conflicts=cplex.getConflict(constraints);
for(int i=0; i<conflicts.length; i++)
System.out.println("conf "+i+" "+conflicts[i].toString()); ---> this here doesnt work at all with a bug: CPLEX Error 1719: Conflict is not available.
System.out.println("1 "+cplex.getIIS().getConstraint().toString());
System.out.println("2 "+cplex.getIIS().toString());
From the last two lines I get
Starting infeasibility finder algorithm...
Performing row sensitivity filter
Performing column sensitivity filter
1 [Lilog.cplex.IloCplex$IIS$Status;@2019a9d1
2 ilog.cplex.IloCplex$IIS@74dbe8cd
Can you please help me to find out, what an IIS in my infeasible model is and how can I get it? It would be very great, if I could at least find out, which constraints causes the infeasibility.
Thank you in advance for your help.
Best wishes,
Dorota Mankowska
#CPLEXOptimizers#DecisionOptimization