Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Changing objective function coefficients during the branch & cut

    Posted 01/10/17 09:26 AM

    Originally posted by: helene63


    Hi,

    I'd like to solve a MIP using the Cplex branch & cut and adding lazy constraints. Moreover, I'd like to change some objective function coefficients during the branch & cut in such a way that the new objective function is used only for the LP resolution of the current node and its children.

    Is it possible to do such a thing with Cplex? If the answer is yes, what callback function can I use to change the objective function coefficients?

    Thanks in advance,

    Hélène

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Changing objective function coefficients during the branch & cut

    Posted 01/10/17 09:34 AM

    It is not possible to change the objective function during the solve.

    I don't think this is a limitation in CPLEX but a limitation in the branch&cut algorithm itself. If you change the objective for a subtree how would you relate primal/dual bounds obtained from the subtree with the modified objective to primal/dual bounds from the rest of the tree?

    What makes you want to change the objective function for a subtree? Maybe there is another way to achieve what you have in mind.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Changing objective function coefficients during the branch & cut

    Posted 01/10/17 10:01 AM

    Originally posted by: helene63


    Dear Daniel,

    Thanks a lot for your answer.

    In fact I have a minimization problem with a "real" objective function which is not linear (nor quadratic). Since the "real" objective function is too difficult I use a linear objective function which provides me with a lower bound of the real one. During the branch & cut, some branching decisions could help me to adjust the coefficients of the linear objective function.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Changing objective function coefficients during the branch & cut

    Posted 01/10/17 11:29 AM

    Originally posted by: PierreBonami


    Hi,

    I am not sure that it would work in your case but I think that the way to do it would be to put the objective as a constraint (i.e. replace the original objective with a variable eta and add a constraint eta >= obj), then in the course of the branch-and-cut you would add local lazy cuts on eta corresponding to tighter approximations of the objective. For this to work you probably need some assumptions on how you approximate the objective (and it might not be efficient).


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Changing objective function coefficients during the branch & cut

    Posted 01/11/17 05:02 AM

    Originally posted by: helene63


    Hi,

    Indeed I think it is the way to do it. Thanks a lot for your help.

     

     


    #CPLEXOptimizers
    #DecisionOptimization