Question & Answer
Question
How do I print (and iterate over) the conflicts in and relaxations for my infeasible model using OPL script.
Answer
The following sample shows one such approach for a simple model:
dvar int x1 in 0..40;
dvar int+ x2;
dvar int+ x3;
maximize x1 + 2*x2 - 3*x3;
subject to{
c1: x2 + x3 <= 20;
c2: x1 - 3*x2 + x3 <= 30;
c3: x1 <= 20;
c4: x1 >= 40;
}
main{
thisOplModel.generate();
if(cplex.solve()){
writeln("Solve successful; solve status="+cplex.getCplexStatus());
writeln("Objective value="+cplex.getObjValue());
}
else{
writeln("Solve failed; CPLEX status="+cplex.getCplexStatus());
writeln("Calling printConflict (CONFLICT REFINER)");
writeln(thisOplModel.printConflict());
writeln("Printing conflicts using conflictIterator");
var confIter = thisOplModel.conflictIterator;
for(var x in confIter){
writeln("Member name:"+x.ct.name);
writeln("Conflict type:"+x.info);
}
writeln("Calling printRelaxation (FEASOPT)");
writeln(thisOplModel.printRelaxation());
writeln("Printing relaxations using relaxationIterator");
var relaxIter = thisOplModel.relaxationIterator;
for(x in relaxIter){
writeln("Member name:"+x.ct.name);
writeln("Old bound:"+x.info);
writeln("New bound:"+x.info2);
writeln("Bound changed to:"+x.info3);
}
}
}
[{"Product":{"code":"SSSA5P","label":"IBM ILOG CPLEX Optimization Studio"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Area:ILOG Script for OPL\/OPL Script","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.2;12.3;12.4","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Product":{"code":"SSSA5P","label":"IBM ILOG CPLEX Optimization Studio"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Area:ILOG Script for OPL\/OPL Script","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF017","label":"Mac OS"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"12.4;12.3;12.2.0.1;12.2","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21615786