[SCIP] Correction: Reliability Branching

Gerald Gamrath gamrath at zib.de
Thu Jan 7 15:06:53 CET 2016


Hi Ahmed,

I fear the link Jakob posted was not correct, here is the one for the 
source code of the .c-file.
http://scip.zib.de/doc/html_devel/branch__relpscost_8c_source.php
By the way: There are two documentations, the SCIP 3.2.0 and SCIP 
3.2.0-devel. The former only shows you the headers of the SCIP API, 
which is normally all you need if you want to use SCIP. If you want to 
check how something is implemented in detail, you can use the 
devel(oper) documentation, where you also see internal methods and where 
you can check out the complete source code.

Another remark on the first two parameters: They are used to define a 
limit on the total number of LP iterations you want to do in strong 
branching.
This value will be slightly increased at each node, based in the number 
of LP iterations needed for the node LP. Besides being a hard maximum 
for the number of strong branching LP iterations, it is also used to 
dynamically adjust the reliability threshold (see lines 649 - 653): If 
strong branching is expensive in the sense that the number of strong 
branching LP iterations comes close to the limit, the minimum number of 
pseudo cost observations to regard the pseudo costs of a variable as 
reliable is reduced.

Best,
Gerald

On 07.01.2016 10:17, Jakob Witzig wrote:
> Hi Ahmed,
>
> sorry for the confusing description of the parameters. Sometimes a 
> look into the source helps to see the differences, e.g., 
> http://scip.zib.de/doc/html/branch__relpscost_8h_source.php, lines 625 
> -- 627 and 892 -- 919.
>
> The first two parameters are used to calculate the maximal number of 
> strong branching iterations for the current node, where sbiterquot is 
> multiplied with the total number of LP iterations done so far. 
> Afterwards, an offset, i.e., sbiterofs, and the number of strong 
> branching LP iterations used in the root node are added.
>
> The third parameter is used to calculate the number of strong 
> branching iterations for a single strong branching candidate.
>
> I hope this short explanation makes the differences a bit more clear.
>
> Best,
> Jakob
>
> Am 07.01.2016 um 00:31 schrieb Ahmed Ibrahim:
>> For the third one I meant branching/relpscost/inititer
>> ------------------------------------------------------------------------
>> *From:* Scip [scip-bounces at zib.de] on behalf of Ahmed Ibrahim
>> [Ahmed.Ibrahim at umanitoba.ca]
>> *Sent:* Wednesday, January 06, 2016 4:36 PM
>> *To:* scip at zib.de
>> *Subject:* [SCIP] Reliability Branching
>>
>> Hi SCIP community,
>> Can any one help me clear the confusion between the following parameters
>> in reliability branching:
>>
>>  1. branching/relpscost/sbiterofs: explained in
>>     'http://scip.zib.de/doc/html/PARAMETERS.php' as the additional
>>     number of allowed strong LP iterations
>>  2. branching/relpscost/sbiterquot: explained in
>>     'http://scip.zib.de/doc/html/PARAMETERS.php' as the amaximal
>>     fraction of strong branching LP iterations compared to node
>>     relaxation LP iterations
>>  3. branching/relpscost/initcand: explained in
>>     'http://scip.zib.de/doc/html/PARAMETERS.php' as the iteration limit
>>     for strong branching initializations for pseudocosts entries
>>
>> To me the three seem to do the same thing, which is deciding the maximum
>> number of strong branching LP iterations . I don't understand how they
>> are different?
>>
>> Regards,
>> Ahmed
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> http://listserv.zib.de/mailman/listinfo/scip
>>
>
>



More information about the Scip mailing list