Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Changing bounds in constraints during optimization

    Posted 11/07/14 04:37 AM

    Originally posted by: SuneGadegaard


    Hi,

    I was wondering if it is possible, in some way or another, to change the bounds on a constraint locally during branch-and-cut. At the moment I just add another constraint, in a branch callback, with identical left hand side and a changed RHS. I imagine that CPLEX is quite efficient in detecting that it is essentially the same constraint with a new RHS and will therefore just drop redundant constraints.

    But, how do I simply change the rhs in a callback such that the change is only effective in subsequent child nodes?

    I am using c++ and the concert technology library.

    Regards Sune


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Changing bounds in constraints during optimization

    Posted 11/11/14 02:40 AM

    For technical reasons, CPLEX cannot remove constraints that are rendered redundant by constraints added during branching as easily as you may think.

    The best way to implement your strategy is to add explicit slack variables to the constraints and then change the bounds on those slack variables when branching (instead of adding new constraints that differ only in the right-hand side from existing constraints).


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Changing bounds in constraints during optimization

    Posted 11/11/14 04:29 AM

    Originally posted by: SuneGadegaard


    I really don't know why i did not think of this. Simple and easy to implement! Thanks a lot!


    #CPLEXOptimizers
    #DecisionOptimization