[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