#!/usr/bin/env python3# 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.importgurobipyasgpfromgurobipyimportGRBtry:# Create a new modelmodel=gp.Model("sos")# Create variablesx0=model.addVar(ub=1.0,name="x0")x1=model.addVar(ub=1.0,name="x1")x2=model.addVar(ub=2.0,name="x2")# Set objectivemodel.setObjective(2*x0+x1+x2,GRB.MAXIMIZE)# Add first SOS: x0 = 0 or x1 = 0model.addSOS(GRB.SOS_TYPE1,[x0,x1],[1,2])# Add second SOS: x0 = 0 or x2 = 0model.addSOS(GRB.SOS_TYPE1,[x0,x2],[1,2])model.optimize()forvinmodel.getVars():print(f"{v.VarName}{v.X:g}")print(f"Obj:{model.ObjVal:g}")exceptgp.GurobiErrorase:print(f"Error code{e.errno}:{e}")exceptAttributeError:print("Encountered an attribute error")
Help and Feedback