[Clp] Problem infeasible after fast dual although only bound changed?
Sebastian Theophil
stheophil at think-cell.com
Tue Jul 21 07:22:26 EDT 2009
Hi,
I have a very simple primal degenerate LP problem:
\Problem name:
Minimize
obj: x2
Subject To
cons0: x0 + x2 >= -0
cons1: - x0 + x2 >= -10
cons2: x1 + x2 >= -0
cons3: - x1 + x2 >= -10
Bounds
x0 Free
x1 Free
x2 Free
End
The primal solution is (5, 5, -5), but there are two dual solutions
(0.5, 0.5, 0, 0) and (0, 0, 0.5, 0.5).
The code below reads the file, searches a dual positive variable and
changes the RHS of the associated constraint. The constraint can no
longer be binding, and the dual solution should change solution after a
resolve. This works as expected without startFastDual.
If startFastDual is active, the dual solution doesn't change though
although it is no longer feasible.
OsiClpSolverInterface solver;
solver.readLp("C:\\primaldegenerate1.lp");
solver.initialSolve();
solver.startFastDual(0);
int nRow=0;
for(; nRow<solver.getNumRows(); ++nRow) {
if(abs(solver.getRowPrice()[nRow])>gvEPSILON_CONSTRAINT) {
break;
}
}
solver.setRowLower( nRow, solver.getRowLower()[nRow]-1.0
);
solver.resolve();
solver.stopFastDual();
Is this a bug or am I doing sth wrong? I thought bound changes inside
fast dual were allowed. What would be the fastest way to resolve the
system after such a change?
Thanks,
Sebastian
--
Sebastian Theophil . stheophil at think-cell.com
Software Engineer
think-cell Software GmbH . Invalidenstr. 34 . 10115 Berlin, Germany
http://www.think-cell.com . phone +49-30-666473-10 . toll-free (US) +1-800-891-8091
Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl . Amtsgericht Berlin-Charlottenburg, HRB 85229
More information about the Clp
mailing list