<!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>&nbsp;&nbsp;&nbsp; Thanks,</FONT></SPAN></DIV>
<DIV><SPAN class=481380922-05052004>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
color=#0000ff size=2>I going to&nbsp;look at&nbsp; <FONT color=#000000>Matteo 
Fischetti and Andrea Lodi paper</FONT>.&nbsp; However, I am already using BCP 
and for now I prefer not to include&nbsp;SBB to solve&nbsp;the subproblems (I 
know I should, but I need to make things easier).</FONT></SPAN></DIV>
<DIV><SPAN class=481380922-05052004>&nbsp;&nbsp;&nbsp; <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. &nbsp;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. &nbsp;The other way 
  uses local branching as in the paper of Matteo Fischetti and Andrea Lodi. 
  &nbsp;This looks very promising and I think something very like it is 
  implemented in Cplex 9. &nbsp;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" 
        &lt;efsilva@pobox.com&gt;</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>&lt;coin-discuss@www-124.southbury.usf.ibm.com&gt;</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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Prof. 
  Brady Hunsaker,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  Thanks for the replay and suggestions. &nbsp;Your second option 
  sounds<BR>better to me, and I think I will try that. &nbsp;May be I can use 
  #ifdef<BR>USE_COIN_XXX to keep the solver flexibility.<BR>&nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thanks 
  again,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  Eduardo.<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Prof. 
  Ted Ralphs,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  Congratulations,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  Eduardo. <BR><BR><BR><BR>&gt; -----Original Message-----<BR>&gt; From: 
  coin-discuss-admin@www-124.ibm.com <BR>&gt; 
  [mailto:coin-discuss-admin@www-124.ibm.com] On Behalf Of <BR>&gt; Brady 
  Hunsaker<BR>&gt; Sent: Tuesday, May 04, 2004 12:03 PM<BR>&gt; To: 
  coin-discuss@oss.software.ibm.com<BR>&gt; Subject: Re: [Coin-discuss] Row 
  bounds in OsiGLPK and MIP hot starts<BR>&gt; <BR>&gt; <BR>&gt; On Tue, 
  2004-05-04 at 14:34, Eduardo wrote:<BR>&gt; &gt; Dear COIN Team,<BR>&gt; &gt; 
  <BR>&gt; &gt; &nbsp;<BR>&gt; &gt; <BR>&gt; &gt; I am using CPLEX and GLPK(4-3) 
  solvers &nbsp;under OSI. &nbsp;In my <BR>&gt; algorithm, I <BR>&gt; &gt; need 
  to solve several slight different MIP problems many times. &nbsp;I <BR>&gt; 
  &gt; still have some problems (probably in my code) but one of them is 
  <BR>&gt; &gt; caused when I modify the bounds using OsiGlpk. &nbsp;For 
  example, the <BR>&gt; &gt; method OsiGlpkSolverInterface::setRowUpper should 
  set a row upper <BR>&gt; &gt; bound. &nbsp;However, it is actually setting the 
  lower bound. &nbsp;<BR>&gt; This is happening because this<BR>&gt; &gt; method 
  is just a copy of OsiGlpkSolverInterface::setRowLower. &nbsp; <BR>&gt; &gt; 
  <BR>&gt; <BR>&gt; Well, that's an embarrassing "bug"! &nbsp;I will correct 
  OsiGlpk <BR>&gt; this evening and post an email when I've committed the 
  <BR>&gt; change. &nbsp;Eduardo, if you know of any other specific problems, 
  <BR>&gt; please let me know.<BR>&gt; <BR>&gt; &gt; <BR>&gt; &gt; Another thing 
  I want to do is start the MIP solvers (via <BR>&gt; OSI) from a <BR>&gt; &gt; 
  heuristic integer solution I have. &nbsp;Could you tell me the <BR>&gt; better 
  way <BR>&gt; &gt; to do that?<BR>&gt; &gt; <BR>&gt; <BR>&gt; At present OSI is 
  really oriented towards LP solvers. &nbsp;I do <BR>&gt; not believe there is a 
  way to specify feasible integer <BR>&gt; solutions (or even objective<BR>&gt; 
  values) through OSI. &nbsp;I've heard that the next generation of <BR>&gt; OSI 
  will be more useful with MIP solvers, however. &nbsp;Could <BR>&gt; someone 
  with more knowledge say whether this feature is <BR>&gt; expected to be 
  present? &nbsp;I'd also appreciate an estimate of <BR>&gt; when the new OSI 
  will be rolled out. &nbsp;(It will help me decide <BR>&gt; how much effort to 
  invest in improving OsiGlpk in the<BR>&gt; meantime.)<BR>&gt; <BR>&gt; In the 
  meantime, Eduardo, you have at least two choices:<BR>&gt; <BR>&gt; 1. 
  Investigate COIN/SBB (Simple Branch-and-Bound), which may <BR>&gt; have the 
  features you are looking for and can be run with CLP <BR>&gt; or DyLP (I 
  think) as underlying LP solver.<BR>&gt; <BR>&gt; 2. Use calls directly to the 
  MIP solver's callable library <BR>&gt; for that part of your code. &nbsp;This 
  obviously loses the <BR>&gt; flexibility of OSI, but only for a small part of 
  the code. &nbsp;<BR>&gt; To do this, you need to access a solver-specific 
  pointer to <BR>&gt; the model (CPLEX also has an environment pointer), which 
  is <BR>&gt; present in OsiGlpk as getModelPtr and in OsiCpx as getLpPtr 
  <BR>&gt; and getEnvironmentPtr. &nbsp;These are not present in the base 
  <BR>&gt; class OsiSolverInterface, however, so if you work with <BR>&gt; 
  OsiSolverInterface (as you should), then you'll have to do a <BR>&gt; cast to 
  class OsiXxxSolverInterface in order to call those <BR>&gt; methods. 
  &nbsp;Once you have the pointers, you can use the usual <BR>&gt; callable 
  libraries. &nbsp;If you need help sorting the details <BR>&gt; out, feel free 
  to ask.<BR>&gt; <BR>&gt; Brady<BR>&gt; <BR>&gt; -- <BR>&gt; Brady 
  Hunsaker<BR>&gt; Assistant Professor<BR>&gt; Industrial Engineering<BR>&gt; 
  University of Pittsburgh<BR>&gt; http://www.engr.pitt.edu/hunsaker/<BR>&gt; 
  <BR>&gt; <BR>&gt; _______________________________________________<BR>&gt; 
  Coin-discuss mailing list<BR>&gt; Coin-discuss@www-124.ibm.com <BR>&gt; 
  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>