Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Strange delay

    Posted 01/23/14 05:44 AM

    Originally posted by: martin#r


    Hi,

    I experience a strange delay during my cplex runs when branch&bound starts. I experienced it in cplex 12.5 and 12.6. My formulation uses a lazy and a user-cutcallback. I added prints to this callback at the start and end. Then I get the following output:

          1     3      361.9702  1359                    357.1675    57581                     y_10 N      1      0      1
    <strange delay>
    START_user
    END_user
    START_user
    END_user
    START_user
    END_user
    START_user
    END_user
          2     4      389.7698  1054                    361.9706    74578                     y_10 N      2      0      1
    <strange delay>
    START_user
    END_user
    START_user
    END_user
          3     5      363.1496  1393                    362.0136    82511                     y_59 D      3      1      2
    

     

    There is a slight delay between 'END' and the cplex output. This one should be the LP-resolve. But then there is second delay between the cplex-output and the next 'START'. This delay is sometimes multiple seconds long and I do not know the reason for it.

     

    If anyone has ideas what this might be or ideas on some additional ouput I might submit your help is highly appreciated.

     

    I already disabled a few things (all defines are currently enabled):

    cplex->setParam( IloCplex::Threads, 1);
    
    #if defined(CPLEX_CUTS_OFF) || defined(LP_BOUND)
            cplex->setParam( IloCplex::FlowCovers, -1);
                    cplex->setParam( IloCplex::FlowPaths, -1);
                    cplex->setParam( IloCplex::MIRCuts, -1);     //disable mixed integer rounding cuts
                    cplex->setParam( IloCplex::FracCuts, -1);    //disable Gomory fractional cuts
                    cplex->setParam( IloCplex::ImplBd, -1);              //disable implied bound cuts
                    //cplex->setParam( IloCplex::LiftProjCuts, -1);      //only relevant for cplex 12.6
                    cplex->setParam( IloCplex::EachCutLim, 0);
    #endif
    
    #if defined(CPLEX_HEURISTICS_OFF) || defined(LP_BOUND)
                    cplex->setParam( IloCplex::HeurFreq, -1);
                    cplex->setParam( IloCplex::RINSHeur, -1);
                    cplex->setParam( IloCplex::FPHeur, -1);
    #endif
    
    #if defined(CPLEX_PRESOLVING_OFF) || defined(LP_BOUND)
                    cplex->setParam( IloCplex::PreInd, false);
                    cplex->setParam( IloCplex::RelaxPreInd, 0);
                    cplex->setParam( IloCplex::RepeatPresolve, 0);
                    cplex->setParam( IloCplex::PreslvNd, -1);
                    cplex->setParam( IloCplex::Probe, -1);
                    cplex->setParam( IloCplex::ProbeTime, 1e+75);
    #endif
    

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Strange delay

    Posted 01/29/14 09:06 AM

    Very hard to tell what may be going on. Is there any chance you can run a profiler on your code to get an idea where the time is spent?


    #CPLEXOptimizers
    #DecisionOptimization