[Osi] Bug in Osi?

Stefan Vigerske stefan at math.hu-berlin.de
Tue Apr 2 11:03:33 EDT 2013


Hi,

On 04/02/2013 04:47 PM, John Forrest wrote:
> As I thought - not an exciting bug. CglPreProcess does some bound
> tightening which OsiPresolve does not know about.  I have fixed it in
> CglPreProcess and so made code 0.0001% slower for no very good reason.

I think one reason why this assert was put in was that some LP solvers 
(SoPlex in this case) do not like warmstarting from a basis where some 
variables are at infinity at all.
Since Osi is supposed to work for general solvers, it needs to do things 
that may be a waste of time for particular uses.

> I can put it into trunk.  I could also put into stable, but I need to
> know which stable (also it would still be a lot easier to take out
> asserts in stable).

I'm in strong favor to keep asserts in stables/releases :-).

Stefan

>
> John Forrest
>
>
> On 02/04/13 13:58, Horand Gassmann wrote:
>> Stefan Vigerske <stefan at math.hu-berlin.de> wrote:
>>
>>> Hi,
>>>
>>> I remember having put in this assert some years ago.
>>> The assert makes sense to me. If the basis status is at-upper-bound,
>>> then the upper bound should not be infinity.
>>> Instead of taking it out, it would be better to nail down the actual
>>> bug.
>>
>> First off, thanks to both John and Stefan to take the time to respond.
>> I agree with Stefan, if there is a bug that somehow sets the starting
>> basis to odd values (and I would consider atUpperBound paired with
>> upperBound == infty to be odd), then it makes sense to try to track
>> that down first.
>>
>> I have prepared an mps file and ran that through Cbc. The postsolve()
>> method is entered three times, and after the first call the number of
>> columns changes from 35 to 55. After the second call a bunch of cuts
>> are created according to the log, and the basis is changed in a number
>> of placed. I attach the log as a separate file. Maybe you can make
>> more of the output than I can.
>>
>> Cheers
>>
>> gus
>>
>>> On 04/01/2013 06:22 PM, John Forrest wrote:
>>>> I noticed this recently when using trunk.  I took out assert in
>>>> Osi/trunk and could see no harm in it.
>>>>
>>>> It should not be a fatal error.  I don't really have time to track it
>>>> down.  It must be a minor bug in one of the CoinPresolve....
>>>> postsolvers.
>>>>
>>>> John Forrest
>>>> On 01/04/13 16:28, Horand Gassmann wrote:
>>>>> Hi,
>>>>>
>>>>> I am trying to solve a small aggregate planning model. (AMPL model and
>>>>> data files attached.) The LP relaxation works fine, but when I add an
>>>>> integrality constraint on the first set of variables (number_workers),
>>>>> I get an assert error:
>>>>>
>>>>> ../../../../Osi/src/Osi/OsiPresolve.cpp:507: virtual void
>>>>> OsiPresolve::postsolve(bool): Assertion `status !=
>>>>> CoinWarmStartBasis::atUpperBound || originalModel_->getColUpper()[i] <
>>>>> infty' failed.
>>>>>
>>>>> What causes the error is unclear to me. I do not provide a starting
>>>>> basis, so I wouldn't expect the presolver to even go there. Is this a
>>>>> bug? Does the presolver require finite upper bounds? Any ideas?
>>>>>
>>>>> Thanks
>>>>>
>>>>> gus
>>>>> -------------------------------------------------------
>>>>>
>>>>> Horand I. Gassmann, Professor
>>>>>
>>>>> Kenneth C. Rowe School of Business, Dalhousie University
>>>>> 6100 University Avenue, PO Box 15000
>>>>> Halifax, Nova Scotia, Canada, B3H 4R2
>>>>> ph. (902) 494-1844
>>>>> fax (902) 494-1107
>>>>>
>>>>> http://myweb.dal.ca/gassmann/
>>>>>
>>>>>
>>>>> ----- End forwarded message -----
>>>>>
>>>>>
>>>>> -------------------------------------------------------
>>>>>
>>>>> Horand I. Gassmann, Professor
>>>>>
>>>>> Kenneth C. Rowe School of Business, Dalhousie University
>>>>> 6100 University Avenue, PO Box 15000
>>>>> Halifax, Nova Scotia, Canada, B3H 4R2
>>>>> ph. (902) 494-1844
>>>>> fax (902) 494-1107
>>>>>
>>>>> http://myweb.dal.ca/gassmann/
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Osi mailing list
>>>>> Osi at list.coin-or.org
>>>>> http://list.coin-or.org/mailman/listinfo/osi
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Osi mailing list
>>>> Osi at list.coin-or.org
>>>> http://list.coin-or.org/mailman/listinfo/osi
>>>>
>>>
>>> _______________________________________________
>>> Osi mailing list
>>> Osi at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/osi
>>>
>>>
>>
>>
>>
>> -------------------------------------------------------
>>
>> Horand I. Gassmann, Professor
>>
>> Kenneth C. Rowe School of Business, Dalhousie University
>> 6100 University Avenue, PO Box 15000
>> Halifax, Nova Scotia, Canada, B3H 4R2
>> ph. (902) 494-1844
>> fax (902) 494-1107
>>
>> http://myweb.dal.ca/gassmann/
>



More information about the Osi mailing list