[Cbc] Issue processing mipstarts

Haroldo Gambini Santos haroldo.santos at gmail.com
Tue Dec 3 18:36:10 EST 2019


Hi,

There are some things that can be improved in mipstart, I'll test with 
your example some ideas that I had recently and report the result here.

Cheers

-- 
=============================================================
Haroldo Gambini Santos
Computing Department
Universidade Federal de Ouro Preto - UFOP
email: haroldo at ufop.edu.br
        Haroldo.GambiniSantos at cs.kuleuven.be
home/research page: www.decom.ufop.br/haroldo


It has long been an axiom of mine that the little things are infinitely
the most important.
-- Sir Arthur Conan Doyle, "A Case of Identity"

On Tue, 3 Dec 2019, Tiago Maduro Dias wrote:

> Hi,
> 
> Regarding mipstarts, my understanding is that CBC can handle partial solutions and performs a mini branch &
> bound to assign values to the remaining variables. That seems consistent with the behaviour I’ve observed
> over time.
> 
> I have, however, an example where CBC is unable to use a mipstart to build a valid solution unless every or
> most variables are supplied.
> 
> In this case, I’m using CBC as part of an incremental process, so it’s critical that the initial solutions
> aren’t discarded, otherwise the process will have a very tough time converging.
> 
> I see some action going on around mipstarts lately, so I was wondering if someone could take a look at this
> use case? If it’s just a matter of not enough effort being put into reading the solution, could putting
> more effort into that step be given as an option? I’d be willing to wait several seconds for the initial
> solution to be read successfully.
> 
> To replicate, consider the following, using a very recent trunk (the files in italic are available
> here: https://1drv.ms/u/s!AuB7kemPSzoPlCxNYivdB9J7Fj-7?e=pHzXHL):
>  *  cbc -maxN 1000 -import mipstart-issue.lp -solve -solution mipstart-issue-solution-1.sol
>      +  This produces a solution file to use afterwards.
>  *  cbc -maxN 1000 -import mipstart-issue.lp -mipstart mipstart-issue-solution-1.sol -solve
>      +  If we just provide the exact same solution, it is read (and CBC ultimately doesn’t improve on it
>         inside the given node limit, but that’s OK).
>  *  cbc -maxN 1000 -import mipstart-issue.lp -mipstart reduced-mipstart-issue-solution-1.sol -solve
>      +  If we edit the solution file so that it just keeps the assignment variables and then provide it, we
>         get the message "Warning: mipstart values could not be used to build a solution.” and the mipstart
>         is ignored
> Thanks In advance for any support you can provide.
> 
> Best regards,
> Tiago Maduro Dias.
> 
>


More information about the Cbc mailing list