Topic
  • 3 replies
  • Latest Post - ‏2012-11-26T07:34:24Z by SystemAdmin
SystemAdmin
SystemAdmin
7929 Posts

Pinned topic How to improve the time of getIIS when using cplex to solve linear programm

‏2012-11-22T05:52:42Z |
I invoke cplex by java api to check whether the linear constraint set is feasible. It takes no more than one second to give the result that the linear constraint set is infeasible, but the time of getting the irreducible infeasible set(IIS) is very long.

Here is the code to set the cplex.

cplex.setOut(null);
cplex.setParam(IloCplex.IntParam.RootAlg, IloCplex.Algorithm.Auto);
cplex.setParam(IloCplex.IntParam.Threads,1);
cplex.setParam(IloCplex.IntParam.RootAlg, IloCplex.Algorithm.Concurrent);
if(!cplex.solve)
IloConstraint con[] = cplex.getIIS().getConstraints().
....
Dose there exists some methods to make the getIIS operation more efficient?
Updated on 2012-11-26T07:34:24Z at 2012-11-26T07:34:24Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: How to improve the time of getIIS when using cplex to solve linear programm

    ‏2012-11-22T10:39:12Z  
    Nothing comes to mind to speed up getIIS() in general.
    However, you may want to consider using refineConflict() instead. This allows you to specify the set of constraints on which the conflict should be found. If you know that some constraints are definitely not part of the conflict then you can remove them and this will usually make conflict computation faster.
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: How to improve the time of getIIS when using cplex to solve linear programm

    ‏2012-11-22T11:50:12Z  
    Nothing comes to mind to speed up getIIS() in general.
    However, you may want to consider using refineConflict() instead. This allows you to specify the set of constraints on which the conflict should be found. If you know that some constraints are definitely not part of the conflict then you can remove them and this will usually make conflict computation faster.
    Thank for your reply, but I just want to acquire the infeasible constraint set.
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: How to improve the time of getIIS when using cplex to solve linear programm

    ‏2012-11-26T07:34:24Z  
    Thank for your reply, but I just want to acquire the infeasible constraint set.
    Note that function getIIS() is deprecated. So it might still be better to use refineConflict() :-)