Topic
  • 3 replies
  • Latest Post - ‏2012-12-05T22:27:37Z by SystemAdmin
Matt31
Matt31
8 Posts

Pinned topic Dual bound for a continuous optimization problem?

‏2012-12-04T04:07:05Z |
I'm currently using CPLEX to solve a (very large) linear program produced by the Reformulation Linearization Technique, within my own branch-and-bound framework. I'm solving the LP with the dual simplex algorithm. After a fixed number of iterations, I'd like to stop the solver and obtain a lower (dual) bound on my minimization problem. Of course, I can obtain the dual values via IloCplex.getDuals(), but is there a way to get just the dual objective value directly using the Java API?

Apologies for the simple question, but I've been unable to find the answer after scouring the Java API docs and the discussion forum here.

Thanks a lot,
-Matt
Updated on 2012-12-05T22:27:37Z at 2012-12-05T22:27:37Z by SystemAdmin
  • Matt31
    Matt31
    8 Posts

    Re: Dual bound for a continuous optimization problem?

    ‏2012-12-04T14:35:34Z  
    A quick addendum to my question: I found a CPLEX tech note that discusses how to compute the dual objective using getDuals(), getReducedCosts(), getLB(), and getUB(). Of course, this is what I'm trying to avoid.
    http://www-01.ibm.com/support/docview.wss?uid=swg21399940

    So the question is still open: is there a Java API call to obtain the dual bound after running Dual Simplex?

    -Matt
  • Matt31
    Matt31
    8 Posts

    Re: Dual bound for a continuous optimization problem?

    ‏2012-12-04T22:37:34Z  
    It looks like calling IloCplex::getObjValue() does exactly what I want when the Simplex algorithm terminates early. That is, when using Dual simplex it returns the dual objective, and when using Primal simplex it returns the primal objective.
    -Matt
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: Dual bound for a continuous optimization problem?

    ‏2012-12-05T22:27:37Z  
    • Matt31
    • ‏2012-12-04T22:37:34Z
    It looks like calling IloCplex::getObjValue() does exactly what I want when the Simplex algorithm terminates early. That is, when using Dual simplex it returns the dual objective, and when using Primal simplex it returns the primal objective.
    -Matt
    Yes, exactly.