[Coin-discuss] Warmstart/basis reuse

Esben Mose Hansen esben at ange.dk
Wed Jul 18 11:10:37 EDT 2007


Hi,

I'm trying to implement warmstart in my solver that uses 
OsiClpSolverInterface::initialSolve() as it's solver. Only, it doesn't work 
like I would expect.

These are the steps I use:

1. Solve a problem using OsiClpSolverInterface::initialSolve() 
2. Read the basis with solver.getWarmStart()
3. Load the same problem with (with readMps())
4. Set the basis with solver.setWarmStart()
5. solve the problem again.


In my opinion 5 should be quite fast, but it is in reality slower than the 
original solving, by 30 seconds or so. Any clue to what I am doing in wrong? 
I inserted some getBasis()->print() in intialSolve(), and could verify that 
the basis on the solved ClpSimplex model was indeed the same as was set on 
the ClpSimplex when solving 5. I even checked that the presolved ClpModel 
(called model model2 in the code) matched.

What have I missed? Does the solver need additional information in step 5, 
such as the column solution from step 1?

Thanks for reading :)

-- 
regards, Esben



More information about the Coin-discuss mailing list