Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Dual Values in mixed-integer optimization

    Posted Tue March 15, 2011 12:03 PM

    Originally posted by: GasperA


    Does somebody know how can I get the dual values (similar like lambda values in LP), when calling the CPLEX MIP solver from Matlab (i.e., when doing a MIP optimization using the Matlab function cplexmilp)? If not directly, then how can I do it?
    Thank you!
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Dual Values in mixed-integer optimization

    Posted Tue March 15, 2011 12:13 PM

    Originally posted by: John Cui


    You are solving a MIP, right? If yes, then I don't think MIP have dual values.
    So in our matlab connector's toolbox functions, we return lambda for LP/QP only.
    John Cui
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Dual Values in mixed-integer optimization

    Posted Tue March 15, 2011 12:32 PM

    Originally posted by: GasperA


    Dear John Cui,

    thank you for your answer. Sorry for questioning but I’m not an expert in optimization and have just started to learn it. So there are no dual values just in your matlab connector's toolbox functions or there are no dual values in MIP in general. Is there any other possibility to get a shadow price in MIP.

    Thank you!
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Dual Values in mixed-integer optimization

    Posted Tue March 15, 2011 01:15 PM

    Originally posted by: John Cui


    There are no dual values in MIP in general.

    John Cui
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Dual Values in mixed-integer optimization

    Posted Tue March 15, 2011 01:48 PM

    Originally posted by: SystemAdmin


    Even though there exists the concept of a dual for a MIP, this is only of theoretical use. It has exponential size and is really not practical.

    I guess you mainly want to answer the question "What prevents my model from improving the objective function?" when looking at an optimal solution. You can get some clue using the conflict refiner.

    Assume you are solving
    min c*x
    s.t. A*x <= b
    x >= 0
    x_j integer for j \in I
    

    and you get an optimal objective value c'. Then the following problem will be infeasible:
    min c*x
    s.t. A*x <= b
    c*x <= c' - eps
    x >= 0
    x_j integer for j \in I
    

    for a suitable small value eps. Now, if you run the conflict refiner on this infeasible model, it will extract a (hopefully) small subset of the model that already suffices to prove that no better solution than c' can exist.
    Tobias
    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Dual Values in mixed-integer optimization

    Posted Wed March 16, 2011 04:50 AM

    Originally posted by: GasperA


    Thanks for the answer.

    Is it also possible to get the duals that after I solve the MIP, I fix the integer values and then run a LP. Should I get the same values for the duals?

    Thanks!
    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: Dual Values in mixed-integer optimization

    Posted Wed March 16, 2011 05:19 AM

    Originally posted by: SystemAdmin


    Yes, getting dual values by solving the fixed LP is possible. The question is then what the meaning of these duals is.

    Tobias
    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: Dual Values in mixed-integer optimization

    Posted Wed March 16, 2011 12:12 PM

    Originally posted by: John Cui


    You can take a look this FAQ about duals and reduce costs in MIP:
    http://www-01.ibm.com/support/docview.wss?uid=swg21399941

    John Cui
    #CPLEXOptimizers
    #DecisionOptimization