[Bonmin] Assertion in OsiSimpleInteger::createBranch()
Stefan Vigerske
stefan at math.hu-berlin.de
Wed Jun 21 03:46:29 EDT 2017
Hi,
On 06/20/2017 09:33 PM, David Wilkinson wrote:
> Hi Stefan:
>
> I still see the assertion when using Bonmin 1.8.6.
Too bad.
> So you think this is
> a bug in Bonmin?
Bonmin or underlying Cbc.
> 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.
OK, I can do.
Stefan
>
> 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=
>>>>>
>>>
>
--
http://www.gams.com/~stefan
More information about the Bonmin
mailing list