Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  After root node

    Posted 06/19/12 11:04 AM

    Originally posted by: SystemAdmin


    I am solving a MIP problem usign CPLEX c++ library
    I set no cuts, no heuristics and no presolve
    After root node, the algorithm spend so much time doing something that i can understand (before branching).
    Could you please tell me what the algorithm does?
    Thanks in advance
    Paula
    Nodes Cuts/
    Node Left Objective IInf Best Integer Best Node ItCnt Gap

    0 0 15.0000 231 15.0000 302
    Presolve time = 0.00 sec.
    Initializing dual steep norms . . .

    Iteration log . . .
    Iteration: 1 Dual objective = -13105.435624
    Iteration: 121 Dual objective = -13089.303420
    Iteration: 213 Dual objective = -12085.177051
    Removing shift (1).

    Iteration log . . .
    Iteration: 1 Dual objective = -11581.043900
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -6278.676060
    Iteration: 35 Objective = -9588.232445
    Iteration: 132 Objective = -15677.106722

    Iteration log . . .
    Iteration: 1 Dual objective = -17780.016487
    Iteration: 7 Dual objective = -17778.840796
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -13966.388552
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -15664.124769
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -16837.188128
    Iteration: 5 Objective = -17669.193761
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -16507.675023
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -16840.010392
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -16507.674434

    Iteration log . . .
    Iteration: 1 Dual objective = -16184.249651
    Iteration: 4 Dual objective = -16174.982929
    Removing shift (1).
    Iteration: 16 Dual infeasibility = 0.000003
    Iteration: 22 Dual objective = -16170.249542
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -17177.522432
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -16511.029461
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -16843.787051
    Using devex.

    Iteration log . . .
    Iteration: 1 Objective = -17177.522432
    Using devex.

    Iteration log . . .
    Iteration: 1 Dual objective = 15.000000

    Nodes Cuts/
    Node Left Objective IInf Best Integer Best Node ItCnt Gap

    0 0 15.0000 8 Cuts: 168 303

    Iteration log . . .
    Iteration: 1 Dual objective = 15.000000
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: After root node

    Posted 06/19/12 11:21 AM

    Originally posted by: SystemAdmin


    I think the iterations you see come from initialization of strong branching.
    You can disable strong branching by changing parameter IloCplex::VarSel.
    Or you can limit the work spent on strong branch by changing parameters IloCplex::StrongCandLim and IloCplex::StrongItLim.
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: After root node

    Posted 06/19/12 12:34 PM

    Originally posted by: SystemAdmin


    Thanks for your answer!
    I think that this is not the problem since I set CPX_VARSEL_PSEUDOREDUCED.
    I tried CPX_VARSEL_STRONG with StrongCandLim = 1 and StrongItLim=1 and the behaviour is the same.
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: After root node

    Posted 06/19/12 12:46 PM

    Originally posted by: SystemAdmin


    OK, could you please use IloCplex::writeParam() to write out a file with changed parameters right before doing IloCplex::solve() and attach that file here?
    If possible, could you also attach the model?
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: After root node

    Posted 06/19/12 01:17 PM

    Originally posted by: SystemAdmin


    Param File
    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: After root node

    Posted 06/19/12 02:04 PM

    Originally posted by: SystemAdmin


    OK, the situation is as follows: After the relaxation is solved CPLEX tries to do some special things to reduce the number of integer infeasible variables (sorry, I cannot go into more details). These special things are based on solving LPs and that is where the output you see comes from.
    You can disable these special strategies by using a hidden parameter:
    cplex.setParam(IloCplex::IntParam(2132), -1);
    

    Caveat:
    • Hidden parameters are not part of the official public API. They may change or even get removed between releases without notice.
    • Disabling the strategies to reduce the number of integer infeasible variables may affect performance in a bad way.

    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: After root node

    Posted 06/19/12 01:18 PM

    Originally posted by: SystemAdmin


    Model
    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: After root node

    Posted 06/19/12 01:18 PM

    Originally posted by: SystemAdmin


    Output
    #CPLEXOptimizers
    #DecisionOptimization