[Cbc] Zero-half cuts announcement. Also an SOS question

John Forrest john.forrest at fastercoin.com
Fri Jan 11 04:35:42 EST 2013


James,

When I tried the cuts, I found that the cuts often moved the continuous 
solution up - but as you noticed, this did not always translate to a 
faster time.  If you can send me a problem, I can look at it.

It is not worth using SOS for a set that short - it might be worth 
adding an extra variable, making it 0-1 and giving it a high priority.  
This would make the decision as to use any of them taken before which 
one.  All these things are very problem dependant.  Also SOS should be 
what they say - Special ORDERED Set, preferably with some nice reference 
value for each variable e.g. capacity to give them their order.

John

On 11/01/13 06:54, James Gunning wrote:
> Hi John, list
>         Thanks very much for the effort. I've managed to build as you 
> suggest.
> That is indeed a sad story behind things, but I'm sure Alberto would 
> have liked to
> see his efforts appreciated and incorporated as you have so kindly done.
>
> So far results seem a bit unusual using it:  generally a deal slower 
> actually, with  more erratic
> variations than with cbc "defaults". I don't understand things yet, 
> clearly.
>
> Thanks very much for your efforts either way.
>
> PS: a very simple (ignoramus question), rather unrelated.
> I have groups of binary variables where only 1 is allowed on, eg
>
> x1+x2+x3 <=1
> x4+x5+x6 <=1
>
> Should I go to the trouble of using SOS in cbc, or is the constraint 
> above enough, for performance reasons?
>
> Best wishes all,
>       James.
>
>
>
> John Forrest wrote:
>> James,
>>
>> After digging around a bit, I have put a first version of CglZeroHalf
>> into Cgl trunk.
>>
>> Point Cbc to Cgl/trunk.  To do this copy Dependencies to xxxxxx and edit
>> file to have
>>
>> Cgl               https://projects.coin-or.org/svn/Cgl/trunk/Cgl
>>
>> Then
>> svn propset svn:externals -F xxxxxx . (note .). Then do svn up.
>>
>> You also have to add -DZERO_HALF_CUTS to configure (you may have to do
>> make clean).
>>
>> This should work with Cbc stable 2.8 and trunk.
>>
>> By default these cuts are off.  To use add to your command line
>> -zerohalfCuts root (or other options) or just -zero.  I think it may
>> only help on a small subset of problems and may need some tuning.
>>
>> It is very sad that it took so long to get these cuts into Coin-OR. Here
>> I would have thanked Alberto Caprara of Bologna University who provided
>> the code, but unhappily he died in a mountaineering accident last year -
>> see here for heartfelt tributes from colleagues.
>>
>> http://albertocaprara.people.ing.unibo.it/gbook.php?page=1
>>
>> John Forrest
>> _______________________________________________
>> Cbc mailing list
>> Cbc at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/cbc
>



More information about the Cbc mailing list