[Coin-discuss] MIP hot starts-Thanks

Eduardo efsilva at pobox.com
Wed May 5 20:28:57 EDT 2004


    Thanks,
    I going to look at  Matteo Fischetti and Andrea Lodi paper.  However, I
am already using BCP and for now I prefer not to include SBB to solve the
subproblems (I know I should, but I need to make things easier).
    Eduardo.

-----Original Message-----
From: coin-discuss-admin at www-124.ibm.com
[mailto:coin-discuss-admin at www-124.ibm.com] On Behalf Of John J Forrest
Sent: Wednesday, May 05, 2004 6:31 AM
To: coin-discuss at oss.software.ibm.com
Subject: RE: [Coin-discuss] Row bounds in OsiGLPK and MIP hot starts-Thanks



Eduardo, 

On using an initial solution, there are at least two ways I can think of in
SBB.  One way, which I would have to do more testing on, is to pass in a
solution and then branch towards that so that you have a hotstart tree.  The
other way uses local branching as in the paper of Matteo Fischetti and
Andrea Lodi.  This looks very promising and I think something very like it
is implemented in Cplex 9.  I have not announced it yet as I am still
running tests but it is in Sbb/Samples/SbbTreeLocal and sample3.cpp. 

John Forrest 







"Eduardo" <efsilva at pobox.com> 
Sent by: coin-discuss-admin at www-124.southbury.usf.ibm.com 


05/04/2004 09:14 PM 


Please respond to
coin-discuss



To
<coin-discuss at www-124.southbury.usf.ibm.com> 

cc

Subject
RE: [Coin-discuss] Row bounds in OsiGLPK and MIP hot starts-Thanks

	




                 Prof. Brady Hunsaker,
                Thanks for the replay and suggestions.  Your second option
sounds
better to me, and I think I will try that.  May be I can use #ifdef
USE_COIN_XXX to keep the solver flexibility.
                I know how to set an initial IP solution in CPLEX using
callable
library, but I am new in GLPK and I did not find how to do it in GLPK. If
you can give some clues, I would be very happy.
                Thanks again,
                Eduardo.

                Prof. Ted Ralphs,
                It is good to know we are going to have a new MIP solver in
the
open-source world. And probably still able to adapt itself to
branch-and-price. 
                Congratulations,
                Eduardo. 



> -----Original Message-----
> From: coin-discuss-admin at www-124.ibm.com 
> [mailto:coin-discuss-admin at www-124.ibm.com] On Behalf Of 
> Brady Hunsaker
> Sent: Tuesday, May 04, 2004 12:03 PM
> To: coin-discuss at oss.software.ibm.com
> Subject: Re: [Coin-discuss] Row bounds in OsiGLPK and MIP hot starts
> 
> 
> On Tue, 2004-05-04 at 14:34, Eduardo wrote:
> > Dear COIN Team,
> > 
> >  
> > 
> > I am using CPLEX and GLPK(4-3) solvers  under OSI.  In my 
> algorithm, I 
> > need to solve several slight different MIP problems many times.  I 
> > still have some problems (probably in my code) but one of them is 
> > caused when I modify the bounds using OsiGlpk.  For example, the 
> > method OsiGlpkSolverInterface::setRowUpper should set a row upper 
> > bound.  However, it is actually setting the lower bound.  
> This is happening because this
> > method is just a copy of OsiGlpkSolverInterface::setRowLower.   
> > 
> 
> Well, that's an embarrassing "bug"!  I will correct OsiGlpk 
> this evening and post an email when I've committed the 
> change.  Eduardo, if you know of any other specific problems, 
> please let me know.
> 
> > 
> > Another thing I want to do is start the MIP solvers (via 
> OSI) from a 
> > heuristic integer solution I have.  Could you tell me the 
> better way 
> > to do that?
> > 
> 
> At present OSI is really oriented towards LP solvers.  I do 
> not believe there is a way to specify feasible integer 
> solutions (or even objective
> values) through OSI.  I've heard that the next generation of 
> OSI will be more useful with MIP solvers, however.  Could 
> someone with more knowledge say whether this feature is 
> expected to be present?  I'd also appreciate an estimate of 
> when the new OSI will be rolled out.  (It will help me decide 
> how much effort to invest in improving OsiGlpk in the
> meantime.)
> 
> In the meantime, Eduardo, you have at least two choices:
> 
> 1. Investigate COIN/SBB (Simple Branch-and-Bound), which may 
> have the features you are looking for and can be run with CLP 
> or DyLP (I think) as underlying LP solver.
> 
> 2. Use calls directly to the MIP solver's callable library 
> for that part of your code.  This obviously loses the 
> flexibility of OSI, but only for a small part of the code.  
> To do this, you need to access a solver-specific pointer to 
> the model (CPLEX also has an environment pointer), which is 
> present in OsiGlpk as getModelPtr and in OsiCpx as getLpPtr 
> and getEnvironmentPtr.  These are not present in the base 
> class OsiSolverInterface, however, so if you work with 
> OsiSolverInterface (as you should), then you'll have to do a 
> cast to class OsiXxxSolverInterface in order to call those 
> methods.  Once you have the pointers, you can use the usual 
> callable libraries.  If you need help sorting the details 
> out, feel free to ask.
> 
> Brady
> 
> -- 
> Brady Hunsaker
> Assistant Professor
> Industrial Engineering
> University of Pittsburgh
> http://www.engr.pitt.edu/hunsaker/
> 
> 
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at www-124.ibm.com 
> http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coi
n-discuss

_______________________________________________
Coin-discuss mailing list
Coin-discuss at www-124.ibm.com
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20040505/3c388ff9/attachment.html>


More information about the Coin-discuss mailing list