[Cbc] Mapping a solution from a base model to a preprocessed model
Denis Sbragion
d.sbragion at neomerica.it
Tue Mar 17 10:58:24 EDT 2020
Hello,
I'm trying to include into CBC an heuristic which provides a solution
computed outside of CBC, before the model is preprocessed by CBC
itself. Of course after preprocessing the model gets changed and the
heuristic solution no longer matches the model. I'm already using the
originalColumns() array to map the heuristic columns to the processed
model columns, but it looks like there's still something missing.
Every now and then the heuristic solution isn't accepted by CBC
because it is infeasible in the processed model. Of course I've
already double checked that the heuristic solution is feasible in the
unprocessed model, even by setting up a CBC model with columns bounds
"fixed" to the solution and "solving" it with CBC just to check
feasibility, by setting up some code to check feasibility directly,
without resorting to CBC functionalities, and even by setting up some
custom Octave scripts.
As this heuristic solution could be considered as a sort of hot start
solution, I tried using the setMIPStart() function as an alternative
to setting up an heuristic, but this fails in the same exact
situations where my approach fails.
Any hint on what to do in this situation? Is there somehing else that
need to be done to map a solution in an unprocessed model to a
processed one?
Thanks in advance for any help.
Bye,
--
Denis Sbragion
More information about the Cbc
mailing list