[Clp] command line warm start

John Forrest john.forrest at fastercoin.com
Mon Jun 23 07:55:02 EDT 2014


Marc,

If you want to send me two consecutive tougher problems (made anonymous 
if necessary), I can have a quick look to see what might work well.

John Forrest

On 23/06/14 11:07, Meketon, Marc wrote:
>
> John, thank you very much.
>
> For my set of problems, for the cold start the dual is much faster (40 
> minutes versus hours on the tougher problems).  If I don't use the 
> command-line interface, what would be your suggestions?  Of course, it 
> could be that the primal would work well for the warm start, but it 
> would be nice to know the alternative, non-command line strategy in 
> case I really need to use the dual algorithm for the warm start.
>
> *From:*clp-bounces at list.coin-or.org 
> [mailto:clp-bounces at list.coin-or.org] *On Behalf Of *John Forrest
> *Sent:* Monday, June 23, 2014 3:34 AM
> *To:* clp at list.coin-or.org
> *Subject:* Re: [Clp] command line warm start
>
> Marc,
>
> A few questions:
>
> (1)Does anyone have experience performing a warm start using the 
> command-line version of CLP?  If so, do you have any advice that you 
> could share?
>
>
> It should be fine.  If you do presolve on the problem then Clp tries 
> to adjust the input basis, but does not get it right every time.  If 
> presolve does very little you may wish to switch that off
>
> (2)Does anyone have specific advice on the "BasisOut/BasisIn" 
> strategy?  For example, while the non-zero patterns will be the same, 
> I cannot mathematically guarantee that the basis from one LP in the 
> set will form a valid basis in another (the input basis could imply a 
> negative variable, although that is unlikely).  Does CLP reject the 
> basis in that case and start cold, or is it more clever?  Any other 
> advice on this strategy will also be most welcomed.
>
> If the basis is non-singular then Clp accepts it even if some 
> variables are infeasible.  If the basis is singular then Clp throws 
> some variables out of basis - it may throw out more than absolutely 
> necessary - but not many.  The standard format of the basis on file 
> includes primal values for variables.  If you specify the primal 
> algorithm and if those values determine a feasible (or nearly 
> feasible) solution then when Clp throws out a variable it keeps its 
> input value and sets it to "superbasic".  It then goes through matrix 
> once doing fast iterations to move these variables to a bound or into 
> basis.  This means that nearly all the useful information is used.
>
> If the dual algorithm is much faster for your problem (with a basis) 
> then there are things you can do - but not with command line interface.
>
>
> John Forrest
>
>
> ------------------------------------------------------------------------
> This e-mail and any attachments may be confidential or legally 
> privileged. If you received this message in error or are not the 
> intended recipient, you should destroy the e-mail message and any 
> attachments or copies, and you are prohibited from retaining, 
> distributing, disclosing or using any information contained herein. 
> Please inform us of the erroneous delivery by return e-mail. Thank you 
> for your cooperation.
>
>
> _______________________________________________
> Clp mailing list
> Clp at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/clp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20140623/2f243217/attachment.html>


More information about the Clp mailing list