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

Stefan Vigerske stefan at mathematik.hu-berlin.de
Fri Mar 10 15:42:53 EST 2006


Hi,

> As I thought checkSolution was not doing quite what you wanted.  It left
> the slack variable super basic at it's original value so complementarity
> was lost.  What you wanted was for all non-basic variables to be at
> indicated bound and then the values of the basic variables computed.
>
> I have modified checkSolution() to checkSolution(int setAtBounds=0).  This
> means that default behavior is same but if setAtBounds is 1 then values
> will be recomputed if any primal values moved while ==2 will always
> recompute.  So try checkBounds(1) and see if that helps.

Thanks a lot for the effort. Yes, now the dual infeasiblity is vanished after 
a checkBounds(1). That's great. :-)
But actually not all I needed. I also would like to know if this dual point is 
optimal. I've tried several ways now to force Clp to make just one step and 
to check if the dual changes by that.
1. When I call ClpSimplex::dualPivotResult() it ends in an abort in 
ClpSimplexDual::pivotResult().
2. When I switch off the scaling by ClpModel::scaling(0) and call 
ClpSimplex::pivot(), then this calls ClpSimplex::unpack() in line 6474, this 
calls ClpPackedMatrix::unpack() in line 2441, this calls 
CoinIndexedVector::add() in line 2114, which crashes somehow.
3. When I set the iteration limit to 1, and make a resolve, I can see no 
change in the primal infeasiblities or dual value. Increasing the limit to 5 
or 10 does not change anything too. Not limiting it, so doing a complete 
resolve, shows that he requires around 40-50 iterations.

Is there any method to see if he needs to make a change in the dualBasis to 
improve optimality of the dual solution?

Thanks a lot of the help,
I hope it don't take too much time. If so, I might be able to live with a 
complete presolve and comparision of the dual values afterwards :-),
Stefan

-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan



More information about the Clp mailing list