<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>
<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=481380922-05052004><FONT face=Arial color=#0000ff
size=2> Thanks,</FONT></SPAN></DIV>
<DIV><SPAN class=481380922-05052004> <FONT face=Arial
color=#0000ff size=2>I going to look at <FONT color=#000000>Matteo
Fischetti and Andrea Lodi paper</FONT>. 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).</FONT></SPAN></DIV>
<DIV><SPAN class=481380922-05052004> <FONT face=Arial
color=#0000ff size=2>Eduardo.</FONT></SPAN></DIV>
<BLOCKQUOTE
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B>
coin-discuss-admin@www-124.ibm.com [mailto:coin-discuss-admin@www-124.ibm.com]
<B>On Behalf Of </B>John J Forrest<BR><B>Sent:</B> Wednesday, May 05, 2004
6:31 AM<BR><B>To:</B> coin-discuss@oss.software.ibm.com<BR><B>Subject:</B> RE:
[Coin-discuss] Row bounds in OsiGLPK and MIP hot
starts-Thanks<BR><BR></FONT></DIV><BR><FONT face=sans-serif
size=2>Eduardo,</FONT> <BR><BR><FONT face=sans-serif size=2>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 face=sans-serif size=2>John Forrest</FONT>
<BR><BR><BR><BR><BR><BR><BR>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="40%"><FONT face=sans-serif size=1><B>"Eduardo"
<efsilva@pobox.com></B> </FONT><BR><FONT face=sans-serif
size=1>Sent by: coin-discuss-admin@www-124.southbury.usf.ibm.com</FONT>
<P><FONT face=sans-serif size=1>05/04/2004 09:14 PM</FONT>
<TABLE border=1>
<TBODY>
<TR vAlign=top>
<TD bgColor=white>
<DIV align=center><FONT face=sans-serif size=1>Please respond
to<BR>coin-discuss</FONT></DIV></TR></TBODY></TABLE><BR></P>
<TD width="59%">
<TABLE width="100%">
<TBODY>
<TR>
<TD>
<DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
<TD vAlign=top><FONT face=sans-serif
size=1><coin-discuss@www-124.southbury.usf.ibm.com></FONT>
<TR>
<TD>
<DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
<TD vAlign=top>
<TR>
<TD>
<DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
<TD vAlign=top><FONT face=sans-serif size=1>RE: [Coin-discuss] Row
bounds in OsiGLPK and MIP hot
starts-Thanks</FONT></TR></TBODY></TABLE><BR>
<TABLE>
<TBODY>
<TR vAlign=top>
<TD>
<TD></TR></TBODY></TABLE><BR></TR></TBODY></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></BLOCKQUOTE></BODY></HTML>