<div dir="ltr"><div dir="ltr">Thanks so much!<div><br></div><div>I've been experimenting with this update, and it appears to work far better on the lp's that I'm generating. My preliminary tests seem to indicate that 

CLP_MOVEMENT 2 is actually slightly better than 1, but the difference is small, and I haven't done many tests yet. With this update the code also appears to do better with a primal nonbasic warmstart vector than with a starting basis, though I haven't tested enough yet to say for sure.</div><div><br></div><div>I'm just a bit unclear though still on a couple of things. I had seen in the "MoreSpecialOptions" that there is an option (bit 8192) to assure that the code uses the method selected by the user, but when I use initialSolve() it appears to ignore this, though when using primal() it seems to obey it. It also seems that the solution paths are not the same when I call primal() as when I call initialSolve(). In particular when I provided a starting basis initialSolve() didn't seem to benefit at all (though it ran a values pass), though primal() did. Is the difference only in initializations, or are there other differences?</div><div><br></div><div>I also noticed that in the old version of the code, while forcing it to run primal was a lot slower than the default setting, it was still a lot faster than the version with the warm start. I'm guessing that this is because in the previous version of the code the warmstart was driving some disadvantageous behavior?</div><div><br></div><div>Thanks again for all your help, and thanks also for creating and maintaining CLP!</div><div><br></div><div>BTW, if anyone else was interested in looking at these lp's, I should have pointed out that these are maximization problems. Below are links to mps's for the two problems with numbers in decimal format.</div><div><br></div><div><a href="https://1drv.ms/u/s!AuXES_soqYA6gsAe8wZdtsUXqUYkqg?e=G2po08">https://1drv.ms/u/s!AuXES_soqYA6gsAe8wZdtsUXqUYkqg?e=G2po08</a><br></div><div><a href="https://1drv.ms/u/s!AuXES_soqYA6gsAfSOqVAbjX50ssKA?e=8Fe1TG">https://1drv.ms/u/s!AuXES_soqYA6gsAfSOqVAbjX50ssKA?e=8Fe1TG</a><br></div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 28, 2020 at 11:30 PM John Forrest <<a href="mailto:jjhforrest@gmail.com">jjhforrest@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> From scratch the code is using dual, while from a warmstart it will use <br>
primal.  I have been looking at badly scaled problems in primal.  Taking <br>
some of that code and modifying ClpSimplexPrimal.cpp in Clp.1.17.6, the <br>
first example solves in under two minutes.<br>
<br>
I attach the code for you to try.  Really the #define CLP_MOVEMENT 1 <br>
should be in configuration, but it should make it easier for you to try.<br>
<br>
John Forrest<br>
<br>
_______________________________________________<br>
Clp mailing list<br>
<a href="mailto:Clp@list.coin-or.org" target="_blank">Clp@list.coin-or.org</a><br>
<a href="https://list.coin-or.org/mailman/listinfo/clp" rel="noreferrer" target="_blank">https://list.coin-or.org/mailman/listinfo/clp</a><br>
</blockquote></div></div>