Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  Cplex Solution Staus : Unknown

    Posted Tue August 28, 2018 01:02 AM

    Originally posted by: ShaCplex


    Hi,

    I got the solution status of an LP model as Unknown when I changed one of the variable bounds from (0, inf) to (0, value) and set value = 0.

    The issue resolved when I changed the bounds again back to (0,inf).

    What can be inferred from this? Can we conclude the reasons for this?

     

     

     

     

     

    Regards,

    shahul


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Cplex Solution Staus : Unknown

    Posted Tue August 28, 2018 01:51 AM

    What API do you use? How do you obtain the status?

    In case you are using the getStatus() method of one of the object oriented APIs, what does getCplexStatus() return?

    One option to figure out more details would be to export the model to a SAV file, then solve with the interactive optimizer and see what the exact status is.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Cplex Solution Staus : Unknown

    Posted Tue August 28, 2018 06:30 AM

    Originally posted by: ShaCplex


    I have done it in JAVA.

    Cplex returned the status as Unknown. The optimizer has not gathered any information about the model.

     

     

     

     

     

    regards,

    shahul


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Cplex Solution Staus : Unknown

    Posted Tue August 28, 2018 08:17 AM

    You cplex.getStatus() and cplex.getCplexStatus() both return Unknown? In that case your only chance is to either spot something from the engine log or cplex.exportModel("model.sav") and then try to solve model.sav in the interactive optimizer.


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Cplex Solution Staus : Unknown

    Posted Tue August 28, 2018 08:25 AM

    There is also something else you can do to get the actual integer status of the engine. Create this class:

    package ilog.cplex;
    
    import ilog.cplex.IloCplex;
    import ilog.concert.IloException;
    
    public final class EngineStatus {
       public static int getIntStatus(IloCplex cplex) throws IloException {
          return cplex.getCplexStatus().getValue();
       }
    }
    

    Note that the class must be in package ilog.cplex! Then after cplex.getStatus() returns Unknown call ilog.cplex.EngineStatus.getIntStatus(cplex). This should return the integer status code. What is the value you get?


    #CPLEXOptimizers
    #DecisionOptimization