2222
2323model = pyo .ConcreteModel ()
2424
25- model .index_set = pyo .Set (initialize = [1 , 2 ])
25+ model .idx_set = pyo .Set (initialize = [1 , 2 ])
2626DOMAIN_PTS = {1 : [1 , 2 , 3 ], 2 : [1 , 2 , 3 ]}
2727F = {1 : [1 , 4 , 9 ], 2 : [1 , 4 , 9 ]}
2828# Note we can also implement this like below
@@ -37,18 +37,18 @@ def SOS_indices_init(model, t):
3737
3838
3939model .SOS_indices = pyo .Set (
40- model .index_set , dimen = 2 , ordered = True , initialize = SOS_indices_init
40+ model .idx_set , dimen = 2 , ordered = True , initialize = SOS_indices_init
4141)
4242
4343
4444def sos_var_indices_init (model ):
45- return [(t , i ) for t in model .index_set for i in range (len (DOMAIN_PTS [t ]))]
45+ return [(t , i ) for t in model .idx_set for i in range (len (DOMAIN_PTS [t ]))]
4646
4747
4848model .sos_var_indices = pyo .Set (ordered = True , dimen = 2 , initialize = sos_var_indices_init )
4949
50- model .x = pyo .Var (model .index_set ) # domain variable
51- model .Fx = pyo .Var (model .index_set ) # range variable
50+ model .x = pyo .Var (model .idx_set ) # domain variable
51+ model .Fx = pyo .Var (model .idx_set ) # range variable
5252model .y = pyo .Var (model .sos_var_indices , within = pyo .NonNegativeReals ) # SOS2 variable
5353
5454model .obj = pyo .Objective (expr = pyo .sum_product (model .Fx ), sense = pyo .maximize )
@@ -73,11 +73,11 @@ def constraint3_rule(model, t):
7373 return sum (model .y [t , j ] for j in range (len (DOMAIN_PTS [t ]))) == 1
7474
7575
76- model .constraint1 = pyo .Constraint (model .index_set , rule = constraint1_rule )
77- model .constraint2 = pyo .Constraint (model .index_set , rule = constraint2_rule )
78- model .constraint3 = pyo .Constraint (model .index_set , rule = constraint3_rule )
76+ model .constraint1 = pyo .Constraint (model .idx_set , rule = constraint1_rule )
77+ model .constraint2 = pyo .Constraint (model .idx_set , rule = constraint2_rule )
78+ model .constraint3 = pyo .Constraint (model .idx_set , rule = constraint3_rule )
7979model .SOS_set_constraint = pyo .SOSConstraint (
80- model .index_set , var = model .y , index = model .SOS_indices , sos = 2
80+ model .idx_set , var = model .y , index = model .SOS_indices , sos = 2
8181)
8282
8383# Fix the answer for testing purposes
0 commit comments