[Coin-discuss] Quadratic costs in OSI?

Matthew Saltzman mjs at ces.clemson.edu
Sat Jun 11 16:29:13 EDT 2005


On Fri, 10 Jun 2005, Antonio Frangioni wrote:

> Hello.
>
> We are embarking into a project where we need solving either (convex, 
> separable) QPs or LPs. I would love doing it through a OSISolver, and 
> I'd expect this to be possible since all major actual solvers under the 
> interface in fact solve QPs as well. Yet, the OSISolver interface does 
> not allow for solving QPs.
>
> I can hack my way through dynamic_casts<>() and solver-specific 
> fragments, and this is probably what I'll end up doing rather than 
> writing my code for one specific solver, but of course I'll be much 
> happier with a completely standard solution. Any chance that the 
> interface could be revised in the near future for treating QPs? Any way 
> in which I could help this happening?

The lack of QP support in the OSI not a technical issue, it's only 
because nobody has done it yet.  (The original OSI developers were more 
concerned about linear problems.)

(1) In the very short term, I'll point out that CLP has a quadratic 
interface already built (see Clp/ClpQuadraticObjective.cpp and 
Clp/include/ClpQuadraticObjective.hpp).  This interface could be used 
directly to get CLP to solve your QPs.  The CLP direct API is fairly 
OSI-like, so moving back to the OSI itself once QP is implemented 
shouldn't be very difficult.

(2) The CLP QP interface probably provides most of the calls that would 
need to be elevated into OSI to support calls to QP solvers.  It wouldn't 
be that hard to write an OSI base layer to make the appropriate calls.

(3) The real work is writing calls in the OsiXxxSolverInterface layer for 
all the solvers.  The best strategy here is probably just to take the 
solver you want to use and write the suporting calls for it.  Solver 
interface subproject managers or volunteers who want QP support for some 
other solver would have to fill in the holes once the base class is done.

If you want to take a crack at it, we'd love that.  I'm happy to provide 
support and I'm pretty sure the other OsiXxx maintainers would as well. 
In my opinion, your time would be better spent implementing a true QP OSI 
than trying to hack a solver-specific add-on. If you want us to do it, it 
may take a bit more time.


>
> Antonio Frangioni    -    Associate Professor    -    Università di Pisa
> Dipartimento di Informatica - Largo B. Pontecorvo, 3 - 56127 Pisa, Italy
> Ph: +39 050 2212789, Fax: +39 050 2212726, Web: www.di.unipi.it/~frangio
>
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
>

-- 
 		Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs


More information about the Coin-discuss mailing list