<br><font size=2 face="sans-serif">Torsten,</font>
<br>
<br><font size=2 face="sans-serif">Apologies, &nbsp;I had another enquiry
to do with presolve and because you said presolve was on I got confused
and put the changes in the wrong place.</font>
<br>
<br><font size=2 face="sans-serif">Try again</font>
<br>
<br><font size=2 face="sans-serif">John Forrest</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;Torsten Fahle&quot;
&lt;Torsten.Fahle@inform-ac.com&gt;</b> </font>
<br><font size=1 face="sans-serif">Sent by: coin-lpsolver-bounces@list.coin-or.org</font>
<p><font size=1 face="sans-serif">12/01/2005 07:53 AM</font>
<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">&lt;coin-lpsolver@list.coin-or.org&gt;</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-lpsolver] CLP factorization
info lost when using &nbsp; &nbsp; &nbsp; &nbsp;OsiClpSolverInterface::initialeSolve
?</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Hi,<br>
<br>
Thanks for the fast reply, John.<br>
<br>
I tried with today's tarball, but the code still uses its own factor for
factorization rather than the one I stored via the modelPtr.<br>
<br>
Looking into the changes, ClpSolve::initialSolve() now has some extra code
that handels user defined factorization.<br>
So I put some printf into ClpSolve::InitialSolve() and into OsiClpSolverInterface::initialSolve().<br>
When running the code, only OsiClpSolverInterface::initialSolve() is called,
but ClpSolve::InitialSolve() is not.<br>
Thus your adaption is not considered.<br>
When replacing the formular in OsiClpSolverInterface::initialSolve(), line
154 with my value, CLP uses this value.<br>
Maybe this part has to be adapted as well?<br>
<br>
In case the problem is &nbsp;due to a mistake in my usage of the OsiInterface,
here is my calling sequence:<br>
<br>
 &nbsp;OsiClpSolverInterface *_solver = new OsiClpSolverInterface();<br>
<br>
 &nbsp;&lt;snip .. some code that generates the model in a CoinModel ..snip&gt;<br>
<br>
 &nbsp;_solver-&gt;loadFromCoinModel(*model);<br>
<br>
 &nbsp;_solver-&gt;getModelPtr()-&gt;setFactorizationFrequency(1400);<br>
<br>
 &nbsp;_solver-&gt;initialSolve(); &nbsp; <br>
 &nbsp; &nbsp;--&gt; solver runs without considering my factorization value<br>
<br>
Maybe you can help?<br>
 <br>
Thanks,<br>
<br>
 &nbsp;Torsten<br>
<br>
<br>
---<br>
Dr. Torsten Fahle<br>
Geschäftsbereich Systeme Airport<br>
INFORM GmbH, Pascalstr.23, 52076 Aachen, Germany<br>
Tel. (+49) 24 08 - 94 56 24 &nbsp;FAX: -94 56 25<br>
e-mail: Torsten.Fahle@inform-ac.com &nbsp; http://www.groundstar.de <br>
<br>
<br>
&gt;&gt;&gt; John J Forrest &lt;jjforre@us.ibm.com&gt; 30.11.2005 16:33
&gt;&gt;&gt;<br>
&quot;feature&quot; should be fixed now. &nbsp;Tell me if not.<br>
<br>
John Forrest<br>
<br>
<br>
<br>
&quot;Torsten Fahle&quot; &lt;Torsten.Fahle@inform-ac.com&gt; <br>
Sent by: coin-lpsolver-bounces@list.coin-or.org <br>
11/29/2005 11:00 AM<br>
<br>
To<br>
&lt;coin-lpsolver@list.coin-or.org&gt;<br>
cc<br>
<br>
Subject<br>
[Coin-lpsolver] CLP factorization info lost when using <br>
OsiClpSolverInterface::initialeSolve ?<br>
<br>
<br>
<br>
<br>
<br>
<br>
Hi,<br>
 <br>
I'd like to increase the factorization limit of CLP through the <br>
OsiClpSolverInterface.<br>
As far as I can see from the documentation, a simple way to do so is <br>
asking Osi for the model pointer <br>
and than change the parameters in question like <br>
<br>
 &nbsp;MyOsiSolver-&gt;getModelPtr()-&gt;setFactorizationFrequency(1400);<br>
<br>
When calling MyOsiSolver-&gt;initialSolve(), however, the parameter is
lost <br>
and instead Osi uses i<br>
ts own factorization value (computed as 100 + numberOfRows/50)<br>
<br>
In OsiSolverInterface.cpp the corresponding code reads as <br>
<br>
void OsiClpSolverInterface::initialSolve()<br>
{<br>
...<br>
 &nbsp; &nbsp; (###)<br>
 &nbsp; &nbsp; // change from 200 (unless changed)<br>
 &nbsp; &nbsp; &nbsp;if (model2-&gt;factorization()-&gt;maximumPivots()==200)<br>
 model2-&gt;factorization()-&gt;maximumPivots(100+model2-&gt;numberRows()/50);<br>
...<br>
}<br>
<br>
This looks like OSI is only allowed to change the value if it is still
the <br>
default value. <br>
Having changed the value to 1400 &nbsp;I was surprised that OSI still reads
a <br>
value of 200 and consequently updates maxPivots.<br>
<br>
So I checked the modelPtr_ which still holds the value 1400. And I checked
<br>
model2 which only holds 200.<br>
<br>
model2 is a pointer to a presolved LP that was &quot;stored&quot; in a
variable <br>
called solver a few lines before.<br>
And also solver only knows the default value of 200.<br>
<br>
The problem seems to occur already in the first three lines of <br>
initialSolve() where variable solver borrows the original model<br>
<br>
void OsiClpSolverInterface::initialSolve()<br>
{<br>
 &nbsp; &nbsp;ClpSimplex solver; <br>
 &nbsp; &nbsp;solver.borrowModel(*modelPtr_);<br>
 &nbsp; [...]<br>
}<br>
<br>
ClpSimplex::borrowModel() does only copy a selection of parameters. This
<br>
selection does not include factorization information as far as I can see.<br>
So solver only knows the default value 200.<br>
<br>
Since (###) explicitly checks for a change I assume it is a bug if solver
<br>
(and later on model2) do not know factorization info as well.<br>
<br>
My questions:<br>
 Is it intended not to copy the entire information?<br>
 If so, is there a different way to set factorization information through
<br>
OSI ?<br>
<br>
Thanks a lot.<br>
<br>
Kind regards,<br>
<br>
 &nbsp; Torsten<br>
<br>
<br>
<br>
---<br>
Dr. Torsten Fahle<br>
Geschäftsbereich Systeme Airport<br>
INFORM GmbH, Pascalstr.23, 52076 Aachen, Germany<br>
Tel. (+49) 24 08 - 94 56 24 &nbsp;FAX: -94 56 25<br>
e-mail: Torsten.Fahle@inform-ac.com &nbsp; http://www.groundstar.de <br>
<br>
<br>
<br>
_______________________________________________<br>
Coin-lpsolver mailing list<br>
Coin-lpsolver@list.coin-or.org <br>
http://list.coin-or.org/mailman/listinfo/coin-lpsolver <br>
<br>
<br>
_______________________________________________<br>
Coin-lpsolver mailing list<br>
Coin-lpsolver@list.coin-or.org<br>
http://list.coin-or.org/mailman/listinfo/coin-lpsolver<br>
</tt></font>
<br>