Nikou
                
              
                
              
                  
                  
              1
              
             
            
              I would like to model the following in GAMS
B(i1,j,t) + B(i2,j,t) + B(i3,j,t)  =l= V ,    B(.,.,.)  nonnegative variables and V a constant.
B(i1,j,t) * B(i2,j,t) * B(i3,j,t) =e= 0
I would like to solve the problem using SOS1 sets. The triplet   B(i1,j,t), B(i2,j,t), B(i3,j,t) forms  a SOS1.
How can I translate this logic in GAMS code?
             
            
              
              
              
            
           
          
            
            
              Read https://www.gams.com/latest/docs/UG_LanguageFeatures.html#UG_LanguageFeatures_SpecialOrderSetsOfType1-SOS1. Move your i index to the last position in variable, i.e. B(j,t,i) and declare the variable as SOS1 variables. But the SOS1 constraint is not equivalent with B(i1,j,t)*B(i2,j,t)*B(i3,j,t)=e=0;.
-Michael
             
            
              
              
              
            
           
          
            
              
                Nikou
                
              
              
                  
                  
              3
              
             
            
              Thank you very much!
I suppose you mean that
B(i1,j,t) * B(i2,j,t) * B(i3,j,t) =e= 0
implies that at  least one of the Bs has to be zero while SOS1 means that at most one of the Bs is nonzero.
This is ok for my model.