Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Debugging "IloAlgorithm cannot extract extractable"

    Posted 01/07/14 12:09 PM

    Originally posted by: CDYD_Victor_Miller


    I have a C++ program, using concert technology, which reads in the description of one of  a family of problems, and then, depending on various flags, generates different problems for cplex top optimize.  I have one option which generates a quadratic objective function where all the variables are boolean (i.e. 0/1) without any other constraints.  This has been working without problem, except for one particular input that I have, which causes the error "IloAlgorithm cannot extract extractable".  What's puzzling, is that there doesn't appear to be anything different about this particular problem than a whole bunch of others.  Are there any suggestions for debugging this?  My version of cplex is 12.5.0.0 running on x86_64 Linux redhat.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Debugging "IloAlgorithm cannot extract extractable"

    Posted 01/07/14 03:58 PM

     

    Try printing the IloModel (or exporting it to an LP file) before calling solve. Is it possible that in this particular instance you either refer to a variable that was never created or have a term whose coefficient was never initialized?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Debugging "IloAlgorithm cannot extract extractable"

    Posted 01/10/14 01:19 AM

    Try catching the CannotExtractException (a subclass of IloException). This exception reports the extractables that CPLEX failed to extract:

    try {
       ...
    } catch (IloAlgorithm::CannotExtractException &e) {
       IloExtractArray &failed = e.getExtractables();
       std::cerr << "Failed to extract:" << std::endl;
       for (IloInt i = 0; i < failed.getSize(); ++i)
          std::cerr << "\t" << failed[i] << std::endl;

    } catch (IloException &e ) {
       ...
    }


    #CPLEXOptimizers
    #DecisionOptimization