[Osi] How to define SOS constraint

Christian Schmidt christian2.schmidt at gmx.de
Fri May 21 08:18:25 EDT 2010


Hi John,

thanks for your help!

> The main problem is the lack of an O in your SOS, which means the
> branches have an element of randomness depending on your order.  The
> main advantage of SOS is branching in the correct place using a set of
> weights e.g. size of facility.  Also for long sets a set can be
> evaluated in fewer branches but that again relies on there being an
> order.

I see. In my case probably a sensible order would be "nearest" facility 
first. Although I would have expected that branching selects this edge 
anyway because the relaxation will probably deliver most of the quantity 
from the nearest facility.

My idea behind SOS was that I could reduce the B&B tree significantly: 
If I have n potential facilities that makes 2^n decision nodes without 
SOS and only n with SOS.

> You could do N-way branching - each branch only allowing one variable.
> This would be same as your big M method without variable/constraint
> overhead and it would be more likely to make correct first choice.

If I understand correctly this is what I meant. Do I have to do 
something special to enable N-way branching or is this done by default 
on SOS-constraints?

> Three way branching is a variant - first branch only allows variable
> with largest value and other two branches fix that variable and half the
> others to zero (choosing each half to have an equal selection of zero
> and nonzero).

Do I have to do something to enable these strategies?

Thanks,
Christian




More information about the Osi mailing list