[Cbc] Multiplying two binary variables in the objective function

John Forrest john.forrest at fastercoin.com
Wed Oct 4 05:01:37 EDT 2017


Whoops - ignore this post - I was not thinking.

However this will make sense if it is more complicated.

Special Ordered Sets are very powerful.

John Forrest

On 04/10/17 09:57, John Forrest wrote:
> Bjorn,
>
> Probably simplest/best to make into Special Ordered Set of type 1 with 
> 4 variables
>
> B1_0_B2_0, B1_1_B2_0, B1_0_B2_1, B1_1_B2_1
>
> with objective values 0.0, 12.3, 12.3, 151.29
>
> and constraint
> B1_0_B2_0+B1_1_B2_0+B1_0_B2_1+B1_1_B2_1 == 1.0
> (you could leave out B1_0_B2_0 and make <=, but probably better 
> branching with ==)
>
> and corresponding changes to coefficients in constraints.
>
> That way you add 2 variables and 1 row which is probably better than 
> adding 1 variable and 3 rows - and will be better for branching.
>
> Depending on what you are trying to model, you could give weights to 
> give better branching decisions.
>
> John Forrest
> On 02/10/17 07:10, Bjørn Sigurd Johansen (Spider Solutions AS) wrote:
>> Dear CBC list,
>>
>> Is it possible to multiply two binary variables in the objective 
>> function scaled with the same factor?
>> E.g.
>> MINIMIZE Obj:
>> +12.3 B1 * 12.3 B2
>> or
>> +12.3 B1 * + 12.3 B2
>>
>> If binary variables are set through some sort of branching algorithm, 
>> perhaps it is possible?  But if the binary variables are 
>> set/estimated through some other mechanism, it might not be possible?
>>
>> If possible, what is the exact syntax for doing this?
>>
>> If not possible, I guess the option is to introduce a third binary 
>> B3, and set up the following constraints:
>> B3 <= B1
>> B3 <= B2
>> B3 >= B1 + B2 - 1
>> And then in the objective function use:
>> +12.3 B3
>> Correct / best option?
>>
>>
>> Best regards,
>> Bjorn
>>
>> _______________________________________________
>> Cbc mailing list
>> Cbc at list.coin-or.org
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=js2M0T-3OIMIVDvokcKjokJbk0F8QOCd0mT4FsVFE88&m=hM8BKlgl1z5yzxrZnxtYfw_AEAZDyQOjfvWFs39qJLk&s=DDn3zh-jLSVoNRCQal3m7LVGxVLHAnUxaImDCAH-088&e= 
>>
>>
>>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=DwIGaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=js2M0T-3OIMIVDvokcKjokJbk0F8QOCd0mT4FsVFE88&m=ru7IvQS__wCzcWuZWyT4Z2N1gBq46p_PvS1qpe7c7kE&s=gid7kHY0HNYvNE3hIAYt-AEm7zAZJgX7A1W17kdk7mQ&e= 
>
>



More information about the Cbc mailing list