[Cbc] How to debug infeasible problems

Christopher Gross christopher.gross at unikat.uni-augsburg.de
Tue May 31 03:42:44 EDT 2016


Hi,

thank you both, Haroldo and David, for your suggestions. I am aware of 
the possibility of adding slack variables to find the problematic 
constraints. However, I just recently created a reformulation of the 
model to get rid of a large number of slack variables and thereby 
drastically decrease solution time. This brought with it the 
aforementioned problem of infeasibilities.

As it seems to be impossible to find the problematic constraints with 
CBC without using slack variables, I have now added preprocessing to my 
model which should hopefully catch all possible problems. I was hoping 
to avoid this, as I will have to manually adjust it together with the 
model, but it seems to me this is the most sensible option for now.

Thanks again and best regards,

Christopher


On 2016-05-30 16:24, David Ibarra Gómez wrote:
> I do not know an automatic way of doing that.
>
> I usually build a second problem (to be solved if the original its 
> infeasible) full of slacks on each constraint with very high cost on 
> the objective function. The non-zero slacks gives clues of which is 
> the problem.
>
> Some times I run several problems changing the cost of the slacks if 
> there are too much non zero.
>
> I know it's not exactly what you looked at, but it has work for me on 
> real problems. User found very useful to have a clue about what's 
> wrong when the problem it's infeaseble and they are changing input data.
>
> Kind regards.
>
> David Ibarra
>
>
>
>
> > To: cbc at list.coin-or.org
> > From: christopher.gross at unikat.uni-augsburg.de
> > Date: Mon, 30 May 2016 15:47:56 +0200
> > Subject: [Cbc] How to debug infeasible problems
> >
> > 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
> > --
> > Christopher Gross, M.Sc.
> >
> > Lehrstuhl für Health Care Operations/Health Information Management
> >
> > Universitäres Zentrum für Gesundheitswissenschaften am Klinikum Augsburg
> > (UNIKA-T), Neusässer Straße 47, 86156 Augsburg;
> >
> > Wirtschaftswissenschaftliche Fakultät, Universität Augsburg,
> > Universitätsstraße 16, 86159 Augsburg
> >
> >
> > Tel.: +49 821 598-6454
> >
> > E-Mail: christopher.gross at unikat.uni-augsburg.de
> > Web: http://www.wiwi.uni-augsburg.de/bwl/brunner/
> > _______________________________________________
> > Cbc mailing list
> > Cbc at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/cbc

-- 
Christopher Gross, M.Sc.

Lehrstuhl für Health Care Operations/Health Information Management

Universitäres Zentrum für Gesundheitswissenschaften am Klinikum Augsburg
(UNIKA-T), Neusässer Straße 47, 86156 Augsburg;

Wirtschaftswissenschaftliche Fakultät, Universität Augsburg,
Universitätsstraße 16, 86159 Augsburg


Tel.: +49 821 598-6452

E-Mail:  christopher.gross at unikat.uni-augsburg.de
Web:  http://www.unika-t.de/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20160531/5985fb21/attachment.html>


More information about the Cbc mailing list