<br><font size=2 face="sans-serif">Eduardo,</font>
<br>
<br><font size=2 face="sans-serif">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.</font>
<br>
<br><font size=2 face="sans-serif">John Forrest</font>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>"Eduardo" <efsilva@pobox.com></b>
</font>
<br><font size=1 face="sans-serif">Sent by: coin-discuss-admin@www-124.southbury.usf.ibm.com</font>
<p><font size=1 face="sans-serif">05/04/2004 09:14 PM</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
coin-discuss</font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif"><coin-discuss@www-124.southbury.usf.ibm.com></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">RE: [Coin-discuss] Row bounds
in OsiGLPK and MIP hot starts-Thanks</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>
Prof. Brady Hunsaker,<br>
Thanks for the replay and suggestions. Your second option sounds<br>
better to me, and I think I will try that. May be I can use #ifdef<br>
USE_COIN_XXX to keep the solver flexibility.<br>
I know how to set an initial IP solution in CPLEX using callable<br>
library, but I am new in GLPK and I did not find how to do it in GLPK.
If<br>
you can give some clues, I would be very happy.<br>
Thanks again,<br>
Eduardo.<br>
<br>
Prof. Ted Ralphs,<br>
It is good to know we are going to have a new MIP solver in the<br>
open-source world. And probably still able to adapt itself to<br>
branch-and-price. <br>
Congratulations,<br>
Eduardo. <br>
<br>
<br>
<br>
> -----Original Message-----<br>
> From: coin-discuss-admin@www-124.ibm.com <br>
> [mailto:coin-discuss-admin@www-124.ibm.com] On Behalf Of <br>
> Brady Hunsaker<br>
> Sent: Tuesday, May 04, 2004 12:03 PM<br>
> To: coin-discuss@oss.software.ibm.com<br>
> Subject: Re: [Coin-discuss] Row bounds in OsiGLPK and MIP hot starts<br>
> <br>
> <br>
> On Tue, 2004-05-04 at 14:34, Eduardo wrote:<br>
> > Dear COIN Team,<br>
> > <br>
> > <br>
> > <br>
> > I am using CPLEX and GLPK(4-3) solvers under OSI. In
my <br>
> algorithm, I <br>
> > need to solve several slight different MIP problems many times.
I <br>
> > still have some problems (probably in my code) but one of them
is <br>
> > caused when I modify the bounds using OsiGlpk. For example,
the <br>
> > method OsiGlpkSolverInterface::setRowUpper should set a row upper
<br>
> > bound. However, it is actually setting the lower bound.
<br>
> This is happening because this<br>
> > method is just a copy of OsiGlpkSolverInterface::setRowLower.
<br>
> > <br>
> <br>
> Well, that's an embarrassing "bug"! I will correct
OsiGlpk <br>
> this evening and post an email when I've committed the <br>
> change. Eduardo, if you know of any other specific problems,
<br>
> please let me know.<br>
> <br>
> > <br>
> > Another thing I want to do is start the MIP solvers (via <br>
> OSI) from a <br>
> > heuristic integer solution I have. Could you tell me the
<br>
> better way <br>
> > to do that?<br>
> > <br>
> <br>
> At present OSI is really oriented towards LP solvers. I do <br>
> not believe there is a way to specify feasible integer <br>
> solutions (or even objective<br>
> values) through OSI. I've heard that the next generation of
<br>
> OSI will be more useful with MIP solvers, however. Could <br>
> someone with more knowledge say whether this feature is <br>
> expected to be present? I'd also appreciate an estimate of <br>
> when the new OSI will be rolled out. (It will help me decide
<br>
> how much effort to invest in improving OsiGlpk in the<br>
> meantime.)<br>
> <br>
> In the meantime, Eduardo, you have at least two choices:<br>
> <br>
> 1. Investigate COIN/SBB (Simple Branch-and-Bound), which may <br>
> have the features you are looking for and can be run with CLP <br>
> or DyLP (I think) as underlying LP solver.<br>
> <br>
> 2. Use calls directly to the MIP solver's callable library <br>
> for that part of your code. This obviously loses the <br>
> flexibility of OSI, but only for a small part of the code. <br>
> To do this, you need to access a solver-specific pointer to <br>
> the model (CPLEX also has an environment pointer), which is <br>
> present in OsiGlpk as getModelPtr and in OsiCpx as getLpPtr <br>
> and getEnvironmentPtr. These are not present in the base <br>
> class OsiSolverInterface, however, so if you work with <br>
> OsiSolverInterface (as you should), then you'll have to do a <br>
> cast to class OsiXxxSolverInterface in order to call those <br>
> methods. Once you have the pointers, you can use the usual <br>
> callable libraries. If you need help sorting the details <br>
> out, feel free to ask.<br>
> <br>
> Brady<br>
> <br>
> -- <br>
> Brady Hunsaker<br>
> Assistant Professor<br>
> Industrial Engineering<br>
> University of Pittsburgh<br>
> http://www.engr.pitt.edu/hunsaker/<br>
> <br>
> <br>
> _______________________________________________<br>
> Coin-discuss mailing list<br>
> Coin-discuss@www-124.ibm.com <br>
> http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coi<br>
n-discuss<br>
<br>
_______________________________________________<br>
Coin-discuss mailing list<br>
Coin-discuss@www-124.ibm.com<br>
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss<br>
</tt></font>
<br>