generate_strongly_connected_components
(function from pyomo.contrib.incidence_analysis.scc_solver
)
- pyomo.contrib.incidence_analysis.scc_solver.generate_strongly_connected_components(constraints, variables=None, include_fixed=False, igraph=None)[source]
Yield in order
BlockData
that each contain the variables and constraints of a single diagonal block in a block lower triangularization of the incidence matrix of constraints and variablesThese diagonal blocks correspond to strongly connected components of the bipartite incidence graph, projected with respect to a perfect matching into a directed graph.
- Parameters:
constraints (List of Pyomo constraint data objects) – Constraints used to generate strongly connected components.
variables (List of Pyomo variable data objects) – Variables that may participate in strongly connected components. If not provided, all variables in the constraints will be used.
include_fixed (Bool, optional) – Indicates whether fixed variables will be included when identifying variables in constraints.
igraph (IncidenceGraphInterface, optional) – Incidence graph containing (at least) the provided constraints and variables.
- Yields:
Tuple of
BlockData
, list-of-variables – Blocks containing the variables and constraints of every strongly connected component, in a topological order. The variables are the “input variables” for that block.