' Copyright 2025, Gurobi Optimization, LLC'' This example creates a very simple Special Ordered Set (SOS) model.' The model consists of 3 continuous variables, no linear constraints,' and a pair of SOS constraints of type 1.ImportsSystemImportsGurobiClasssos_vbSharedSubMain()TryDimenvAsNewGRBEnv()DimmodelAsNewGRBModel(env)' Create variablesDimubAsDouble()={1,1,2}DimobjAsDouble()={-2,-1,-1}DimnamesAsString()={"x0","x1","x2"}DimxAsGRBVar()=model.AddVars(Nothing,ub,obj,Nothing,names)' Add first SOS1: x0=0 or x1=0Dimsosv1AsGRBVar()={x(0),x(1)}Dimsoswt1AsDouble()={1,2}model.AddSOS(sosv1,soswt1,GRB.SOS_TYPE1)' Add second SOS1: x0=0 or x2=0Dimsosv2AsGRBVar()={x(0),x(2)}Dimsoswt2AsDouble()={1,2}model.AddSOS(sosv2,soswt2,GRB.SOS_TYPE1)' Optimize modelmodel.Optimize()ForiAsInteger=0To2Console.WriteLine(x(i).VarName&" "&x(i).X)Next' Dispose of model and envmodel.Dispose()env.Dispose()CatcheAsGRBExceptionConsole.WriteLine("Error code: "&e.ErrorCode&". "&e.Message)EndTryEndSubEndClass
Help and Feedback