UncertaintySet
(class from pyomo.contrib.pyros.uncertainty_sets
)
- class pyomo.contrib.pyros.uncertainty_sets.UncertaintySet[source]
Bases:
object
An object representing an uncertainty set to be passed to the PyROS solver.
An UncertaintySet object should be viewed as merely a container for data needed to parameterize the set it represents, such that the object’s attributes do not reference the components of a Pyomo modeling object.
- __init__()
Methods
__init__
()Compute auxiliary uncertain parameter values for a given point.
is_bounded
(config)Determine whether the uncertainty set is bounded.
is_nonempty
(config)Return True if the uncertainty set is nonempty, else False.
is_valid
(config)Return True if the uncertainty set is bounded and non-empty, else False.
point_in_set
(point)Determine whether a given point lies in the uncertainty set.
set_as_constraint
([uncertain_params, block])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).
Attributes
Dimension of the uncertainty set (number of uncertain parameters in a corresponding optimization model of interest).
Geometry of the uncertainty set.
Bounds for the value of each uncertain parameter constrained by the set (i.e. bounds for each set dimension).
Member Documentation
- compute_auxiliary_uncertain_param_vals(point, solver=None)[source]
Compute auxiliary uncertain parameter values for a given point. The point need not be in the uncertainty set.
- Parameters:
point ((N,) array-like) – Point of interest.
solver (Pyomo solver, optional) – If needed, a Pyomo solver with which to compute the auxiliary values.
- Returns:
aux_space_pt – Computed auxiliary uncertain parameter values.
- Return type:
- is_bounded(config)[source]
Determine whether the uncertainty set is bounded.
- Parameters:
config (ConfigDict) – PyROS solver configuration.
- Returns:
True if the uncertainty set is certified to be bounded, and False otherwise.
- Return type:
Notes
This check is carried out by 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 during the validation step of a PyROS solver call.
- point_in_set(point)[source]
Determine whether a given point lies in the uncertainty set.
- Parameters:
point ((N,) array-like) – Point (parameter value) of interest.
- Returns:
is_in_set – True if the point lies in the uncertainty set, False otherwise.
- Return type:
Notes
This method is invoked at the outset of a PyROS solver call to determine whether a user-specified nominal parameter realization lies in the uncertainty set.
- abstract set_as_constraint(uncertain_params=None, block=None)[source]
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).
- Parameters:
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.
- Returns:
A collection of the components added or addressed.
- Return type:
- abstract property dim
Dimension of the uncertainty set (number of uncertain parameters in a corresponding optimization model of interest).
- abstract property geometry
Geometry of the uncertainty set. See the Geometry class documentation.
- abstract property parameter_bounds
Bounds for the value of each uncertain parameter constrained by the set (i.e. bounds for each set dimension).