[Bonmin] Assertion in OsiSimpleInteger::createBranch()

David Wilkinson xyz-coin at effisols.com
Tue Jun 20 15:33:36 EDT 2017


Hi Stefan:

I still see the assertion when using Bonmin 1.8.6. So you think this is 
a bug in Bonmin?

Also in Bonmin 1.8.6 I get a Level 1 warning from Visual Studio (unsafe 
use of type 'bool' in operation) from the code

if (canFixThis>0)

in CoinPresolveDual.cpp line 1519. You might like to fix this in your 
trunk version.

Thanks,

David Wilkinson

===========================================


On 20.06.2017 12:17, Stefan Vigerske wrote:
> Hi,
> 
> On 06/20/2017 05:36 PM, David Wilkinson wrote:
>> Hi Stefan:
>> 
>> I will certainly upgrade to Bonmin 1.8.6, as I see it has all the 
>> changes regarding FORTRAN_INTEGER_TYPE and NO_CATCH_ALL that you and I 
>> have been discussing. Thanks for that! But are there other changes 
>> relative to Bonmin 1,8.4?
> 
> Bonmin 1.8.4 is based on a Cbc that is similar old as the Bonmin 1.8.4
> release. Bonmin 1.8.5/1.8.6 uses a current Cbc release, which should
> have less bugs.
> 
>> What do you mean by "fixed integer variable"? Do you mean one where 
>> the user has set the upper and lower bounds to be the same? That I 
>> certainly have not done.
> 
> It's more likely that Bonmin fixed some variable during branching.
> It's not wrong that variables get fixed (locally) during B&B, or that
> one has fixed variables in the problem, but attempting to branch on
> fixed variables is wrong.
> 
>> Until recently we were using (the very ancient) Bonmin 1.3.2, and 
>> interestingly this problem did not arise there.
> 
> Yes, that were the times when Pierre, the Bonmin developer, was still 
> active :).
> 
> Stefan
> 
>> 
>> David Wilkinson
>> 
>> ============================
>> 
>> On 20.06.2017 09:29, Stefan Vigerske wrote:
>>> Hi,
>>> 
>>> it sounds as if Bonmin tries to branch on a fixed integer variable.
>>> You might want to trace who created this OsiBranchingInformation and
>>> why this has happened.
>>> 
>>> Also consider upgrading to Bonmin 1.8.5 or 1.8.6 first. Bonmin 1.8.4
>>> is 21 months old.
>>> 
>>> Stefan
>>> 
>>> On 06/20/2017 03:16 PM, David Wilkinson wrote:
>>>> This is a Bonmin question, but I haven't seen any activity in the 
>>>> Bonmin group for a while, so I am sending to the Ipopt group also.
>>>> 
>>>> I am using Bonmin 1.8.4 with "B-BB" algorithm to solve a problem 
>>>> with two integer variables, both with lower bound 0 and upper bound 
>>>> 3, with an initial guess of (1,1). I am seeing an assertion error in 
>>>> OsiSimpleInteger::createBranch() around line 626 of 
>>>> OsiBranchingObject.cpp. The purpose of the assertion is to check 
>>>> that the upper bound for the variable under consideration is greater 
>>>> than the lower bound. When I hit the assertion, the value of 
>>>> columnNumber_ is 0, and both info->lower_[0] and info->upper_[0] are 
>>>> 0.0, so the assertion is correctly triggered.
>>>> 
>>>> Since assertions are not supposed to happen, I initially suspected 
>>>> user (me) error in setting up the problem, but I do not think so, 
>>>> because our driver program repeatedly requests optimizations of a 
>>>> similar type (with different objective and constraint functions, but 
>>>> the same bounds), and several such optimizations have been done 
>>>> correctly before this one. It may be that these optimizations do not 
>>>> fully satisfy the Bonmin convexity requirements, but surely this 
>>>> should not cause an assertion in the code? Our program will tolerate 
>>>> cases where Bonmin fails and emits an exception, and indeed if I 
>>>> throw an exception in OsiSimpleInteger::createBranch() instead of 
>>>> the assertion, our program continues with other successful Bonmin 
>>>> optimizations.
>>>> 
>>>> Any ideas?
>>>> 
>>>> Thanks,
>>>> 
>>>> David Wilkinson
>>>> _______________________________________________
>>>> Bonmin mailing list
>>>> Bonmin at list.coin-or.org
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_bonmin&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=BRcuJnQr5NAzU29t80hk2rsLc4vrlRySBDabuq0O1ZI&m=fSexfIOcTv9KTMRQVZe65MHJusguSwsHMzfmO1Q4DoE&s=vOOwrD4g3FsVpmxBP1Zdx0SWV-pW18OHMbJUxShxkVg&e=
>> 


More information about the Bonmin mailing list