[Coin-lpsolver] optimality of a dual solution after rhs change

Stefan Vigerske stefan at mathematik.hu-berlin.de
Thu Mar 9 06:50:49 EST 2006


Hi,

Thanks a lot for your help. I've never tried these methods before.
But now I've a problem that after changing the bounds of a row of the problem, 
the dual solution becomes infeasible. From my understanding of duality 
theory, changing a right-hand-side shouldn't affect the feasibility space of 
the dual problem, since the right-hand-side of the primal is the objective of 
the dual.
I tried this on a small example (see appendix). After increasing an upper 
bound, there is a dual infeasibility reported which is exactly the value of 
the dual variable for the row which bound had been changed.
Also isProvenAbandoned() returns true, while isProvenOptimal() returns false. 
I know that the last primal point might be not feasible or not optimal after 
a change of the bounds of a row, but the dual point should stay feasible, and 
I'm only interested whether it is still optimal.
Is there a way to check only if the dual solution is still optimal after a 
change of the bounds, like a isProvenDualOptimal() ?

> In my understanding the two methods you mention will re-compute the
> reduced costs and duals for a new objective BUT it would be up to the user
> to check whether the solution is still optimal.  The simplest function to
> use is Clp's checksolution method.  If you modify the problem in any way
> and then use getModelPtr() to get a Clp pointer then after
> clpPpointer->checkSolution() you can check if the problem is still optimal
> (and returned as such by OsiSolverInterface::isProvenOptimal).  You could
> also interrogate such ClpSimplex functions as numberDualInfeasibiliies()
> or sumDualInfeasibilities() or their primal counterparts for more subtle
> information.

Thanks again :-),
Stefan

-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clptest.cpp
Type: text/x-c++src
Size: 2074 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/clp/attachments/20060309/f782bfa4/attachment.bin>


More information about the Clp mailing list