[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