[Cbc] Cbc returns invalid result on simple problem unless presolve is enabled

Stefan Hacker hacker.stefan at gmail.com
Wed Nov 16 08:48:27 EST 2016


Hi,

I just noticed I wrote presolve when I meant preprocess. The example
commandlines are correct. Sorry for the confusion.

Regards,
Stefan

On 16 November 2016 at 10:09, Stefan Hacker <hacker.stefan at gmail.com> wrote:
> Hi,
>
> I am trying to use Cbc to solve what I thought to be a simple problem.
> However the behavior I see makes me wonder if I am encountering a Cbc
> bug or if there is something wrong in the way I am using it.
>
> If I run the attached model using Cbc 2.9.7 (version isn't that
> important I think) from the console like this:
> cbc model.lp -solve
>
> I get the expected objective value of 0.9. However without presolving enabled
> cbc model.lp -preprocess off -solve
>
> Cbc returns an objective value of 1000 which is incorrect.
>
> Originally I was using Cbc as a library (close to the minimum.cpp
> example from the documentation) and didn't consider presolve to be
> relevant for such a small problem. Activating it feels like I am just
> suppressing a symptom without understanding or fixing the cause. Even
> more confusing to me is that after the call to branchAndBound the
> CbcModel returns 0 for primary and secondary status and
> isProvenOptimal returns true.
>
> Is the result being wrong without presolve a bug or am I trying
> something stupid here without noticing? Also Cbc returning "optimal"
> in all ways I know to check but still returning an incorrect result is
> unsettling. Did I miss some indicator Cbc gave me?
>
> Thanks a lot.
>
> Regards,
> Stefan


More information about the Cbc mailing list