3.1.10.2. flow/LinExp¶
3.1.10.2.1. Linear Expressions and Constraints¶
Linear expressions (FlowLinExp
) and constraints (FlowLinConstraint
)
can be implicitly created from variable specifiers and operators, meaning one rarely
need to instantiate them explicitly.
However creating the zero-expression might sometimes be useful (e.g., in a sum expression)
and can be done simply with the expression FlowLinExp()
.
A variable specifier is a representation of either a single ILP variable or a sum of ILP variables. The addition, multiplication and division operators are overloaded for variable specifiers and linear expressions such that expressions can be written in the natural manner.
The operators <=
, ==
and >=
are overloaded on linear expressions to make the creation of
linear constraints easier. However, one argument to the operator must be a linear expression while
the other argument must be a number.
All variable specifiers are defined in module scope. See Hyperflow Model for an overview of the specifiers.
3.1.10.2.2. Class FlowVarSumVertex
¶
-
class
mod.
FlowVarSumVertex
¶ Represents the sum of all variables indicated by the given
id
. Can be indexed to retrieve a specifier for a single variable in the set.-
__init__
(self, id)¶ Construct a variable specifier for a sum of variables associated with vertices in the underlying derivation graph.
- Parameters
id (str) – The ID for the variable set to represent.
-
__str__
(self)¶
-
__getitem__
(self, x)¶ Select the variable associated with the derivation graph vertex which represents the given object. When the resulting specifier is given to a flow model, if the given object is a vertex, then it must belong to the same derivation graph as the one underlying the model. If the given object is a graph, a vertex in the underlying derivation graph must exist which has the graph associated.
-
3.1.10.2.3. Class FlowVarVertex
¶
3.1.10.2.4. Class FlowVarVertexGraph
¶
-
class
mod.
FlowVarVertexGraph
¶ Represents a variable associated with a single vertex in a derivation graph. This is done implicitly by a graph, and when this specifier is later given to a flow model a vertex with the graph associated must exist in the underlying derivation graph. .. py:function:: __init__(self, id, g)
- param str id
The ID for the variable set to select variables from.
- param Graph g
The graph used to select a variable from the variable set.
-
__str__
(self)¶
3.1.10.2.5. Class FlowVarSumEdge
¶
-
class
mod.
FlowVarSumEdge
¶ Represents the sum of all variables indicated by the given
id
. Can be indexed to retrieve a specifier for a single variable in the set.-
__init__
(self, id)¶ Construct a variable specifier for a sum of variables associated with edges in the underlying derivation graph.
- Parameters
id (str) – The ID for the variable set to represent.
-
__str__
(self)¶
-
__getitem__
(self, e)¶ Select the variable associated with the derivation graph edge which represents the given object. When the resulting specifier is given to a flow model, the given edge must be long to the same derivation graph as the one underlying the model.
- Parameters
e (DGHyperEdge) – an edge used to select a variable.
- Returns
a variable specifier for a single variable in the set represented by this object.
- Return type
-
3.1.10.2.6. Class FlowVarEdge
¶
-
class
mod.
FlowVarEdge
¶ Represents a variable associated with an edge in a derivation graph. .. py:function:: __init__(self, id, e)
- param str id
The ID for the variable set to select variables from.
- param DGHyperEdge e
The edge used to select a variable from the variable set.
-
__str__
(self)¶
-
edge
¶ The edge used to index into the variable set.
- Type
3.1.10.2.7. Class FlowVarSumCustom
¶
-
class
mod.
FlowVarSumCustom
¶ Represents the sum of all variables indicated by the given
id
. Can be indexed to retrieve a specifier for a single variable in the set.-
__init__
(self, id)¶ Construct a variable specifier for a sum of custom variables.
- Parameters
id (str) – The ID for the variable set to represent.
-
__str__
(self)¶
-
__getitem__
(self, id)¶ Select the variable associated with the given name. When the resulting specifier is given to a flow model that variable must have been created in the specification in some way.
- Parameters
e (str) – a name used to select a variable.
- Returns
a variable specifier for a single variable in the set represented by this object.
- Return type
-
3.1.10.2.8. Class FlowVarCustom
¶
3.1.10.2.9. Class FlowVar
¶
-
class
mod.
FlowVar
¶ Represents any variable specifier. They are all implicitly convertible to this type.
3.1.10.2.10. Class FlowLinExp
¶
-
class
mod.
FlowLinExp
¶ Represents a linear expresion over variable specifiers.
The usual arithmetic operators are overloaded on variable specifiers and this class to automatically create expressions.
3.1.10.2.11. Class FlowLinConstraint
¶
-
class
mod.
FlowLinConstraint
¶ Represents a linear constraint with a
FlowLinExp
on one side, and a constant on the other side. The operators<=
,==
, and>=
are overloaded on linear expressions to automatically create constraints.