[Cbc] SOS constraints
    John Forrest 
    john.forrest at fastercoin.com
       
    Fri May  9 02:54:34 EDT 2014
    
    
  
Miles,
Definition of SOS type 1 that is used is that at most one in set 
nonzero.  If more than one then you create two branches around a point 
in set and one branch sets all one side to zero and the other branch 
sets the other side to zero.
So in this case you do need the equality constraint.
John Forrest
On 08/05/14 18:50, Miles Lubin wrote:
> Hi all,
>
> I just tried to clean up and test SOS constraints in the new C
> interface. My test problem is:
>
> Minimize  5x[1] + 3x[2] + 2x[3] + 7x[4] + 4x[5]
>       s.t.       x[1] +  x[2] +  x[3] +  x[4] +  x[5] == 1
>                 All x binary
>
> I have not added the equality constraint explicitly to the model, but
> instead added an SOS 1 constraint. When I solve, the solution is zero,
> so the SOS 1 constraint doesn't seem to be enforced. Is adding the SOS
> object to the model sufficient to enforce the constraint, or is it
> purely for branching?
>
> Test code: https://projects.coin-or.org/Cbc/browser/trunk/Cbc/test/CInterfaceTest.c?rev=2033#L113
> Implementation of Cbc_addSOS in the C interface:
> https://projects.coin-or.org/Cbc/browser/trunk/Cbc/src/Cbc_C_Interface.cpp#L827
>
> Thanks,
> Miles
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
>
>
    
    
More information about the Cbc
mailing list