(class from pyomo.contrib.pyros.uncertainty_sets)
pyomo.contrib.pyros.uncertainty_sets
Bases: UncertaintySet
UncertaintySet
A set of finitely many distinct points (or scenarios).
scenarios ((M, N) array_like) – A sequence of M distinct uncertain parameter realizations.
Notes
The \(n\)-dimensional discrete set is defined by
in which \(q^i \in \mathbb{R}^n\) refers to scenarios[i - 1] for \(i = 1, 2, \dots, m\).
scenarios[i - 1]
Examples
2D set with three scenarios:
>>> from pyomo.contrib.pyros import DiscreteScenarioSet >>> discrete_set = DiscreteScenarioSet( ... scenarios=[[1, 1], [2, 1], [1, 2]], ... ) >>> discrete_set.scenarios [(1, 1), (2, 1), (1, 2)]
Initialize self (see class docstring).
Methods
__init__(scenarios)
__init__
compute_auxiliary_uncertain_param_vals(point)
compute_auxiliary_uncertain_param_vals
Compute auxiliary uncertain parameter values for a given point.
is_bounded(config)
is_bounded
Return True if the uncertainty set is certified to be bounded, False otherwise.
is_nonempty(config)
is_nonempty
Return True if the uncertainty set is nonempty, and False otherwise.
point_in_set(point)
point_in_set
Determine whether a given point lies in the discrete scenario set.
set_as_constraint([uncertain_params, block])
set_as_constraint
Construct a block of Pyomo constraint(s) defining the uncertainty set on variables representing the uncertain parameters, for use in a two-stage robust optimization problem or subproblem (such as a PyROS separation subproblem).
validate(config)
validate
Check DiscreteScenarioSet validity.
Attributes
dim
Dimension N of the discrete scenario set.
geometry
Geometry of the discrete scenario set.
parameter_bounds
Bounds in each dimension of the discrete scenario set.
scenarios
Uncertain parameter realizations comprising the set.
type
Brief description of the type of the uncertainty set.
Member Documentation
Compute auxiliary uncertain parameter values for a given point. The point need not be in the uncertainty set.
point ((N,) array-like) – Point of interest.
solver (Pyomo solver, optional) – If needed, a Pyomo solver with which to compute the auxiliary values.
aux_space_pt – Computed auxiliary uncertain parameter values.
numpy.ndarray
config (ConfigDict) – PyROS solver configuration.
bool
This check is carried out by checking if all parameter bounds are finite.
If no parameter bounds are available, the following processes are run to perform the check: (i) feasibility-based bounds tightening is used to obtain parameter bounds, and if not all bound are found, (ii) solving a sequence of maximization and minimization problems (in which the objective for each problem is the value of a single uncertain parameter). If any of the optimization models cannot be solved successfully to optimality, then False is returned.
This method is invoked by self.validate().
self.validate()
point ((N,) array-like) – Point (parameter value) of interest.
True if the point lies in the set, False otherwise.
uncertain_params (None, Var, or list of Var, optional) – Variable objects representing the (main) uncertain parameters. If None is passed, then new variable objects are constructed.
block (BlockData or None, optional) – Block on which to declare the constraints and any new variable objects. If None is passed, then a new block is constructed.
A collection of the components added or addressed.
UncertaintyQuantification
ValueError – If finiteness or nonemptiness checks fail.
int
Geometry
List, length N, of coordinate value (lower, upper) bound pairs.
list[tuple[numbers.Real, numbers.Real]]
Uncertain parameter realizations comprising the set. Each tuple is an uncertain parameter realization.
Note that the scenarios attribute may be modified, but only such that the dimension of the set remains unchanged.
list[tuple[numbers.Real, …]]
str