[Clp] warmstarting problems

rm zuckerberg rmzuckerberg at gmail.com
Mon Aug 31 01:11:38 EDT 2020


Thanks so much!

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.

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?

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?

Thanks again for all your help, and thanks also for creating and
maintaining CLP!

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.

https://1drv.ms/u/s!AuXES_soqYA6gsAe8wZdtsUXqUYkqg?e=G2po08
https://1drv.ms/u/s!AuXES_soqYA6gsAfSOqVAbjX50ssKA?e=8Fe1TG

Mark

On Fri, Aug 28, 2020 at 11:30 PM John Forrest <jjhforrest at gmail.com> wrote:

>  From scratch the code is using dual, while from a warmstart it will use
> primal.  I have been looking at badly scaled problems in primal.  Taking
> some of that code and modifying ClpSimplexPrimal.cpp in Clp.1.17.6, the
> first example solves in under two minutes.
>
> I attach the code for you to try.  Really the #define CLP_MOVEMENT 1
> should be in configuration, but it should make it easier for you to try.
>
> John Forrest
>
> _______________________________________________
> Clp mailing list
> Clp at list.coin-or.org
> https://list.coin-or.org/mailman/listinfo/clp
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20200831/eeacce52/attachment.html>


More information about the Clp mailing list