[Cbc] How to debug infeasible problems

Haroldo Gambini Santos haroldo.santos at gmail.com
Mon May 30 10:24:00 EDT 2016


Hi Cristopher,

AFAIK, for Integer Programs, to detect a minimum set of constraints 
which cause infeasibility, in the general case, is NP-Hard.

One thing that you can do, but will probably increase the difficult of 
your model, is to include slack variables in all constraints (one per 
constraint) and add them to the objective function with high penalties. 
All constraints will be satisfied if possible. To check which are the 
"complicating constraints" just look to which slack variables are active.

Cheers,

Em 30/05/2016 10:47, Christopher Gross escreveu:
> Hi,
>
> I am using CBC in a software that generates models based on user input.
> Sometimes, users input invalid data leading to an infeasible model. As
> the amount of data they enter is not very small, it is often hard to see
> at a glance which data exactly causes the problem.
>
> Is it possible to configure CBC to output why a problem is infeasible?
> It would be great if it could give the line name where the conflict
> occurs, similar to what CPLEX does. I had a look around the config
> options, but could not find how to turn this on. Am I missing something
> or is this feature not available?
>
> Thanks and regards,
>
> Christopher

-- 
==================================================
Haroldo Gambini Santos
D.Sc, Computer Science
Universidade Federal de Ouro Preto
http://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"


More information about the Cbc mailing list