[Cbc] Issue processing mipstarts

Tiago Maduro Dias tmdias at gmail.com
Wed Dec 4 03:10:57 EST 2019


Hi Haroldo,

Thanks for looking into this! Yes, any kind of feedback from CBC as to what is wrong would be great.

I’m a bit baffled that the solution can be infeasible, though. As detailed in my original e-mail, what I did to produce reduced-mipstart-issue-solution-1.sol, was take mipstart-issue-solution-1.sol, which was produced by CBC and accepted as a mipstart, and delete most of the lines from the file (keeping just the ones corresponding to the a(…) variables, which are the core assignment variables). It seems obvious that there is at least one valid assignment that includes the supplied assignments (mipstart-issue-solution-1.sol). Did I miss something in how I set up this example?

Obrigado,

Tiago Maduro Dias.
On 3 Dec 2019, 23:07 -0100, Haroldo Gambini Santos <haroldo.santos at gmail.com>, wrote:
> Hi Tiago,
>
> Just tested fixing variables in reduced-mipstart-issue-solution-1.sol in
> mipstart-issue.lp and loaded the proble in CPLEX, CPLEX says it is
> infeasible, so it seems that the problem is not in MIPstart, but in your
> initial solution. It would be good if Cbc could inform what part of the
> fixation is making the solution infeasile I'll try to do that.
>
> --
> =============================================================
> 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.
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20191204/8e88dfdc/attachment-0001.html>


More information about the Cbc mailing list