Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
Expand all | Collapse all

Solving SOCP model with Benders Decomposition

  • 1.  Solving SOCP model with Benders Decomposition

    Posted 12/13/19 12:57 AM

    Originally posted by: Nadere


    Hello,

    I want to solve the SOCP problem with benders decomposition under uncertainty. For each scenario, I solve the dual of subproblem which is SOCP.
    Therfore, I use barrier algorithm to solve the problem as follows:

    cplex.setParam(IloCplex::Param::Barrier::QCPConvergeTol, CONVTOL);   // CONVTOL = 1e-8 (small error will typically remain)

    cplex.solve();
    In order to access the maximum primal infeasibility, I use the following comment.


    IloNum violation = cplex.getQuality(IloCplex::MaxPrimalInfeas);

    My question is: If the value of violation is greater zero (e.g. 100), can we use solutions of the dual of subproblem to generate benders optimality cut? If not, what should I do for generating cut?

    Thanks,

    Nadere


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Solving SOCP model with Benders Decomposition

    Posted 12/26/19 07:02 AM

    Originally posted by: Christian Bliek


    Hello,

     

    This really is more a research problem ;-)

    In cplex we have implemented benders for milp only. A description of this implementation can be found in:

     

    Pierre Bonami, Domenico Salvagnin, Andrea Tramontani

    Implementing automatic Benders decomposition in a modern MIP solver

    Optimization Online, http://www.optimization-online.org/DB_HTML/2019/12/7506.html

     

    To improve numerics they adjust the scaling of the artificial variable; see "Scaling of the Variable η in Optimality Cuts" in section 3. For socp you can probably do this too.

     

    What I had in mind in https://www.ibm.com/developerworks/community/forums/html/topic?id=3983043d-64cc-4850-93f1-05ee54bb0f32 is that you could include error terms in the derivation of the cut. More precisely in the above paper, in appendix A.1 (ii) the cuts are derived from the base conditions. This will be the case for socp as well. Now in practice the base conditions will be satisfied only up to a tolerance. This could be modeled by error terms. When you then proceed with the derivation, you can carry the error terms along so that they will appear in your final cut. This will allow you to assess how your cut is affected by errors in the original socp solve. 

     

    Christian.

     


    #CPLEXOptimizers
    #DecisionOptimization