[Coin-discuss] improving the performance of adding constraints via OSI

Michael Hennebry hennebry at web.cs.ndsu.nodak.edu
Tue May 27 08:51:24 EDT 2008


On Mon, 26 May 2008, Laszlo Ladanyi wrote:

> The real solution would be to write a generic caching mechanism for OSI. One
> that would implement storing the changes in a CoinBuild object and when there
> is a call to something where the actual solver must be invoked then all the
> changes would be applied at once and then the call to the solver would be
> made. This is relatively simple to write, but it's lots of coding...

Caching wouldn't help this particular issue.
The OP wants to resolve after each addition.

> On Tue, 27 May 2008, Kish Shen wrote:

> > I have been having this performance issue with adding constraints to a problem, which I would
> > like to solve now.
> >
> > My use of OSI is to provide an interface to the constraint logic programming language ECLiPSe.
> > The user can create and modify a problem in many ways, in particular, the user can add
> > constraints incrementally to a problem, and repeatedly solve a problem. Unfortunately,  I
> > am unable to make this incremental adding of constraints efficient via OSI -- the cost
> > increase quite rapidly with the number of constraints, while doing the same thing with CPLEX
> > is much more efficient. Here are the results of a simple test I did with adding the same
> > constraint repeatedly to a problem, and here are the timings for doing this on CPLEX (10.1)

-- 
Michael   hennebry at web.cs.ndsu.NoDak.edu
"Those parts of the system that you can hit with a hammer (not advised)
are called Hardware;  those program instructions that you can only
curse at are called Software."




More information about the Coin-discuss mailing list