Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Problem about getDual() method

    Posted 03/26/12 09:06 AM

    Originally posted by: J5JK_chao_lei


    Lately, I have been trying to get dual variable values, using getDual() method, by solving a primal problem and then using the dual values to generate a cut to add into the model.

    However, the cut generated this way seems not right by cutting the optimal solution out of feasible domain. Then I tried to formulate the dual of problem and use getValue() method to get the "dual" information and this time, the cut functions well.

    It seems that many values obtaining from getDual() are "-0.0"s. Is that the source of the problem? If not, what reasons do you think can explain the error?
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Problem about getDual() method

    Posted 03/26/12 11:33 AM

    Originally posted by: T_O


    Do you have bounded variables? Then you have to obtain the reduced cost vector to get the duals for the bound-constraints.

    Best regards,
    Thomas
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Problem about getDual() method

    Posted 04/19/12 10:26 PM

    Originally posted by: J5JK_chao_lei


    Hi Thomas

    Thanks for your reply. There is indeed bounded variables between 0 to 1 in the problem. Could you further explain the reason for getting reduced cost of bounded variables instead of dual of constraints? Thanks!

    Best regards.
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Problem about getDual() method

    Posted 04/20/12 01:29 AM

    Originally posted by: T_O


    Well, in your case, the bounds like x <= 1 can be interpreted as constraints, so they have corresponding duals.

    To find these duals, have a look at the reduced cost vector.

    See also:
    http://orinanobworld.blogspot.de/2010/09/dual-values-for-primal-variable-bounds.html

    Best regards,
    Thomas
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Problem about getDual() method

    Posted 04/20/12 05:12 AM

    Originally posted by: J5JK_chao_lei


    Hi Thomas,
    Thanks for your explanation. But actually I was trying to get the dual values of ordinary constraints other than bounded values. The cut generated by using these obtained dual values is not correct to further continue the program. Just as my first post implying, there are so many -0.0 existing in the dual values.Do you think it might be caused by numerical error?
    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Problem about getDual() method

    Posted 04/20/12 06:22 AM

    Originally posted by: T_O


    I do not think that this is (only) due to numerical errors but of course, it might be.

    Your cuts are wrong because you have to consider the duals of the constraints and the duals of the bounds (which are in a way constraints). See also:
    http://orinanobworld.blogspot.de/2011/07/farkas-certificates-in-cplex.html

    Best regards,
    Thomas
    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: Problem about getDual() method

    Posted 04/21/12 07:37 PM

    Originally posted by: SystemAdmin


    There is nothing inherently worrisome about-0 ... unless you have reason to believe that value should be strictly nonzero.

    Paul

    Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. (Goethe)
    #CPLEXOptimizers
    #DecisionOptimization