Skip to content

Commit

Permalink
updating spy and py files; Suffixes, Scripts and Expressions need wor…
Browse files Browse the repository at this point in the history
…k now
  • Loading branch information
DLWoodruff committed May 16, 2018
1 parent eed9230 commit 2ea89ac
Show file tree
Hide file tree
Showing 117 changed files with 2,133 additions and 2,021 deletions.
105 changes: 55 additions & 50 deletions doc/OnlineDocs/getting_started/spyfiles/Spy4Sets.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,112 +2,117 @@
David L. Woodruff and Mingye Yang, Spring 2018
Code snippets for Set.rst in testable form
"""
from pyomo.environ import *
model = ConcreteModel()
# @Declare_set
>>> model.A = Set()
model.A = Set()
# @Declare_set

# @Set_dim
>>> model.B = Set(dimen=2)
model.B = Set(dimen=2)
# @Set_dim

def DoubleA_init(m):
return ['red', 'green', 'blue']

# @Set_initialize
>>> model.C = Set(initialize=DoubleA_init)
model.C = Set(initialize=DoubleA_init)
# @Set_initialize

# @Initialize_python_sets
>>> model.D = Set(initialize=['red', 'green', 'blue'])
model.D = Set(initialize=['red', 'green', 'blue'])
# @Initialize_python_sets

# @Sets_without_keywords
>>> model.E = Set(model.A)
model.E = Set(model.A)
# @Sets_without_keywords

# @Combined_arguments
model.F = Set(model.A, dimen=3)
# @Combined_arguments

# @RangeSet_simple_sequence
>>> model.G = RangeSet(1.5, 10, 3.5)
model.G = RangeSet(1.5, 10, 3.5)
# @RangeSet_simple_sequence

# @Set_operators
>>> model.H = model.A
>>> model.I = model.A | model.D # union
>>> model.J = model.A & model.D # intersection
>>> model.K = model.A - model.D # difference
>>> model.L = model.A ^ model.D # exclusive-or
model.I = model.A | model.D # union
model.J = model.A & model.D # intersection
model.K = model.A - model.D # difference
model.L = model.A ^ model.D # exclusive-or
# @Set_operators

# @Set_cross_product
>>> model.K = model.B * model.c
model.K = model.B * model.C
# @Set_cross_product

# @Restrict_to_crossproduct
>>> model.K = Set(within=model.B * model.C)
model.K = Set(within=model.B * model.C)
# @Restrict_to_crossproduct

# @Assign_to_crossproduct
>>> model.C = Set(model.A * model.B)
model.C = Set(model.A * model.B)
# @Assign_to_crossproduct

# @Contain_crossproduct_subset
>>> model.C = Set(within=model.A * model.B)
model.C = Set(within=model.A * model.B)
# @Contain_crossproduct_subset

# @Predefined_set_example
>>> model.M = Set(within=NegativeIntegers)
model.M = Set(within=NegativeIntegers)
# @Predefined_set_example

# @Declare_nodes
>>> model.Nodes = Set()
model.Nodes = Set()
# @Declare_nodes

# @Declare_arcs_crossproduct
>>> model.Arcs = Set(within=model.Nodes*model.Nodes)
model.arcs = model.Nodes*model.Nodes
# @Declare_arcs_crossproduct

# @Declare_arcs_within
>>> model.Arcs = Set(within=model.Nodes*model.Nodes)
model.Arcs = Set(within=model.Nodes*model.Nodes)
# @Declare_arcs_within

# @Declare_arcs_dimen
>>> model.Arcs = Set(dimen=2)
model.Arcs = Set(dimen=2)
# @Declare_arcs_dimen


# @Define_constraint_tuples
>>> def kv_init(model):
>>> return ((k,v) for k in model.K for v in model.V[k])
>>> model.KV=Set(dimen=2, initialize=kv_init)
def kv_init(model):
return ((k,v) for k in model.K for v in model.V[k])
model.KV=Set(dimen=2, initialize=kv_init)
# @Define_constraint_tuples

# @Define_another_constraint
>>> model.MyConstraint = Constraint(model.I,model.KV,rule=c1Rule)
# @Define_another_constraint


# @Declare_constraints_example
>>> from pyomo.environ import *
>>>
>>> model = AbstractModel()
>>>
>>> model.I=Set()
>>> model.K=Set()
>>> model.V=Set(model.K)
>>>
>>> def kv_init(model):
>>> return ((k,v) for k in model.K for v in model.V[k])
>>> model.KV=Set(dimen=2, initialize=kv_init)
>>>
>>> model.a = Param(model.I, model.K)
>>>
>>> model.y = Var(model.I)
>>> model.x = Var(model.I, model.KV)
>>>
>>> #include a constraint
>>> #x[i,k,v] <= a[i,k]*y[i], for i in model.I, k in model.K, v in model.V[k]
>>>
>>> def c1Rule(model,i,k,v):
>>> return model.x[i,k,v] <= model.a[i,k]*model.y[i]
>>> model.c1 = Constraint(model.I,model.KV,rule=c1Rule)
from pyomo.environ import *

model = AbstractModel()

model.I=Set()
model.K=Set()
model.V=Set(model.K)

def kv_init(model):
return ((k,v) for k in model.K for v in model.V[k])
model.KV=Set(dimen=2, initialize=kv_init)

model.a = Param(model.I, model.K)

model.y = Var(model.I)
model.x = Var(model.I, model.KV)

#include a constraint
#x[i,k,v] <= a[i,k]*y[i], for i in model.I, k in model.K, v in model.V[k]

def c1Rule(model,i,k,v):
return model.x[i,k,v] <= model.a[i,k]*model.y[i]
model.c1 = Constraint(model.I,model.KV,rule=c1Rule)
# @Declare_constraints_example

# @Define_another_constraint
model.MyConstraint = Constraint(model.I,model.KV,rule=c1Rule)
# @Define_another_constraint

99 changes: 52 additions & 47 deletions doc/OnlineDocs/getting_started/spyfiles/Spy4Sets.spy
Original file line number Diff line number Diff line change
Expand Up @@ -2,72 +2,77 @@
David L. Woodruff and Mingye Yang, Spring 2018
Code snippets for Set.rst in testable form
"""
>>> model.A = Set()
from pyomo.environ import *
model = ConcreteModel()
model.A = Set()

>>> model.B = Set(dimen=2)
model.B = Set(dimen=2)

>>> model.C = Set(initialize=DoubleA_init)
def DoubleA_init(m):
return ['red', 'green', 'blue']

>>> model.D = Set(initialize=['red', 'green', 'blue'])
model.C = Set(initialize=DoubleA_init)

>>> model.E = Set(model.A)
model.D = Set(initialize=['red', 'green', 'blue'])

model.E = Set(model.A)

model.F = Set(model.A, dimen=3)

>>> model.G = RangeSet(1.5, 10, 3.5)
model.G = RangeSet(1.5, 10, 3.5)

model.I = model.A | model.D # union
model.J = model.A & model.D # intersection
model.K = model.A - model.D # difference
model.L = model.A ^ model.D # exclusive-or

model.K = model.B * model.C

model.K = Set(within=model.B * model.C)

model.C = Set(model.A * model.B)

model.C = Set(within=model.A * model.B)

model.M = Set(within=NegativeIntegers)

model.Nodes = Set()

model.arcs = model.Nodes*model.Nodes

>>> model.H = model.A
>>> model.I = model.A | model.D # union
>>> model.J = model.A & model.D # intersection
>>> model.K = model.A - model.D # difference
>>> model.L = model.A ^ model.D # exclusive-or
model.Arcs = Set(within=model.Nodes*model.Nodes)

>>> model.K = model.B * model.c
model.Arcs = Set(dimen=2)

>>> model.K = Set(within=model.B * model.C)

>>> model.C = Set(model.A * model.B)
def kv_init(model):
return ((k,v) for k in model.K for v in model.V[k])
model.KV=Set(dimen=2, initialize=kv_init)

>>> model.C = Set(within=model.A * model.B)

>>> model.M = Set(within=NegativeIntegers)
from pyomo.environ import *

>>> model.Nodes = Set()
model = AbstractModel()

>>> model.Arcs = Set(within=model.Nodes*model.Nodes)
model.I=Set()
model.K=Set()
model.V=Set(model.K)

>>> model.Arcs = Set(within=model.Nodes*model.Nodes)
def kv_init(model):
return ((k,v) for k in model.K for v in model.V[k])
model.KV=Set(dimen=2, initialize=kv_init)

>>> model.Arcs = Set(dimen=2)
model.a = Param(model.I, model.K)

model.y = Var(model.I)
model.x = Var(model.I, model.KV)

>>> def kv_init(model):
>>> return ((k,v) for k in model.K for v in model.V[k])
>>> model.KV=Set(dimen=2, initialize=kv_init)
#include a constraint
#x[i,k,v] <= a[i,k]*y[i], for i in model.I, k in model.K, v in model.V[k]

>>> model.MyConstraint = Constraint(model.I,model.KV,rule=c1Rule)
def c1Rule(model,i,k,v):
return model.x[i,k,v] <= model.a[i,k]*model.y[i]
model.c1 = Constraint(model.I,model.KV,rule=c1Rule)

model.MyConstraint = Constraint(model.I,model.KV,rule=c1Rule)

>>> from pyomo.environ import *
>>>
>>> model = AbstractModel()
>>>
>>> model.I=Set()
>>> model.K=Set()
>>> model.V=Set(model.K)
>>>
>>> def kv_init(model):
>>> return ((k,v) for k in model.K for v in model.V[k])
>>> model.KV=Set(dimen=2, initialize=kv_init)
>>>
>>> model.a = Param(model.I, model.K)
>>>
>>> model.y = Var(model.I)
>>> model.x = Var(model.I, model.KV)
>>>
>>> #include a constraint
>>> #x[i,k,v] <= a[i,k]*y[i], for i in model.I, k in model.K, v in model.V[k]
>>>
>>> def c1Rule(model,i,k,v):
>>> return model.x[i,k,v] <= model.a[i,k]*model.y[i]
>>> model.c1 = Constraint(model.I,model.KV,rule=c1Rule)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.C = Set(model.A * model.B)
model.C = Set(model.A * model.B)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.C = Set(within=model.A * model.B)
model.C = Set(within=model.A * model.B)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.Arcs = Set(within=model.Nodes*model.Nodes)
model.arcs = model.Nodes*model.Nodes
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.Arcs = Set(dimen=2)
model.Arcs = Set(dimen=2)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.Arcs = Set(within=model.Nodes*model.Nodes)
model.Arcs = Set(within=model.Nodes*model.Nodes)
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
>>> from pyomo.environ import *
>>>
>>> model = AbstractModel()
>>>
>>> model.I=Set()
>>> model.K=Set()
>>> model.V=Set(model.K)
>>>
>>> def kv_init(model):
>>> return ((k,v) for k in model.K for v in model.V[k])
>>> model.KV=Set(dimen=2, initialize=kv_init)
>>>
>>> model.a = Param(model.I, model.K)
>>>
>>> model.y = Var(model.I)
>>> model.x = Var(model.I, model.KV)
>>>
>>> #include a constraint
>>> #x[i,k,v] <= a[i,k]*y[i], for i in model.I, k in model.K, v in model.V[k]
>>>
>>> def c1Rule(model,i,k,v):
>>> return model.x[i,k,v] <= model.a[i,k]*model.y[i]
>>> model.c1 = Constraint(model.I,model.KV,rule=c1Rule)
from pyomo.environ import *

model = AbstractModel()

model.I=Set()
model.K=Set()
model.V=Set(model.K)

def kv_init(model):
return ((k,v) for k in model.K for v in model.V[k])
model.KV=Set(dimen=2, initialize=kv_init)

model.a = Param(model.I, model.K)

model.y = Var(model.I)
model.x = Var(model.I, model.KV)

#include a constraint
#x[i,k,v] <= a[i,k]*y[i], for i in model.I, k in model.K, v in model.V[k]

def c1Rule(model,i,k,v):
return model.x[i,k,v] <= model.a[i,k]*model.y[i]
model.c1 = Constraint(model.I,model.KV,rule=c1Rule)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.Nodes = Set()
model.Nodes = Set()
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.A = Set()
model.A = Set()
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.MyConstraint = Constraint(model.I,model.KV,rule=c1Rule)
model.MyConstraint = Constraint(model.I,model.KV,rule=c1Rule)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
>>> def kv_init(model):
>>> return ((k,v) for k in model.K for v in model.V[k])
>>> model.KV=Set(dimen=2, initialize=kv_init)
def kv_init(model):
return ((k,v) for k in model.K for v in model.V[k])
model.KV=Set(dimen=2, initialize=kv_init)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.D = Set(initialize=['red', 'green', 'blue'])
model.D = Set(initialize=['red', 'green', 'blue'])
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.M = Set(within=NegativeIntegers)
model.M = Set(within=NegativeIntegers)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.G = RangeSet(1.5, 10, 3.5)
model.G = RangeSet(1.5, 10, 3.5)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.K = Set(within=model.B * model.C)
model.K = Set(within=model.B * model.C)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.K = model.B * model.c
model.K = model.B * model.C
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.B = Set(dimen=2)
model.B = Set(dimen=2)
Original file line number Diff line number Diff line change
@@ -1 +1 @@
>>> model.C = Set(initialize=DoubleA_init)
model.C = Set(initialize=DoubleA_init)
Loading

0 comments on commit 2ea89ac

Please sign in to comment.