[Coin-discuss] Glpk Osi for interior point?

Brady Hunsaker bkh at member.fsf.org
Mon Feb 4 22:10:33 EST 2008


The simplex and interior-point solvers in GLPK are fundamentally 
separate solvers.  It isn't natural to try to put both of these in one 
OSI interface.  Therefore, I think that Stefan's suggestion of a 
separate interface for GLPK's interior-point solver is the right 
approach, if someone wants it badly enough to write the interface.

Last time I checked carefully, GLPK did not have a cross-over routine to 
convert a solution from the interior-point routine into a basic optimal 
solution.  I expect that is still true.

Brady

Stefan Vigerske wrote:
> Hi,
> 
>> Am I correct in observing that there is no way of using the GLPK's 
>> interior-point solver via OSI? 
> 
> Yes, no way yet.
> 
>> And if so, is there any plan to add this 
>> feature? I have a case where the interior point is at least 50x faster 
>> than simplex, so it would help...
> 
> Actually trying GLPKs interior point solver is also on my TODO list, and 
> getting it into OsiGlpk would be nice.
> I have not had a look at it and how much different its use is from glpks 
> simplex method.
> 
> However, since there is nothing interior point related in the Osi base 
> class, it would be some OsiGlpk specific extension, and the question is 
> how to do this nicely.
> Should there be a method similar to initialSolve() that calls the 
> interior point solver? Or should there be a (OsiGlpk-specific) parameter 
> that says that the interior point solver should be used, so the next 
> time when initialSolve() or resolve() is called, then this parameter is 
> checked and the appropriate method called?
> 
>> I can, of course, call the lpx_interior method directly, but then the 
>> Osi still does not know about the solution, since all the access 
>> functions (status, objective function and column values) are different 
>> when using lpx_interior...
> 
> This sounds somehow bad. That would mean that every method in OsiGlpk 
> which accesses the glpk-solver needs to check whether the last solve was 
> an interior point solve or a simplex solve, and then call the 
> corresponding glpk function.
> Might be better to have a OsiGlpkInterior interface?
> 
>> It would thus help a lot if I could use the interior-point solution as a 
>> starting point for the standard simplex solver. Is this possible? (I 
>> tried setColSolution, but it does not seem to have any effect at all.)
> 
> Is there a GLPK option that tells the interior point solver to 
> automatically do a crossover to the simplex method? (maybe I should 
> check the manual...)
> 
> Best,
> Stefan
> 




More information about the Coin-discuss mailing list