Implements a parameterization for (random) noise in data.
Perturbation(universe, name, shape)¶
A parameter that can be used to describe (random) noise in data.
This is the initial building block for an
UncertainAffineExpression. In particular, an affine transformation of this parameter represents uncertain data.
__init__(universe, name, shape)¶
universe (PerturbationUniverse) – Either the set that the perturbation parameter lives in or the distribution according to which the perturbation is distributed.
name (str) – Symbolic string description of the perturbation, similar to a variable’s name.
This constructor is meant for internal use. As a user, you will want to first define a universe (e.g.
ConicPerturbationSet) for the parameter and obtain the parameter from it.
Return an independent copy of the perturbation.
The uncertainty universe that the parameter belongs to.
Base class for uncertain perturbation sets and distributions.
distributionalfor a distinction between perturbation sets, random distributions and distributional ambiguity sets, all three of which can be represented by this class.
The naming scheme for implementing classes is as follows:
Perturbation sets (robust optimization) end in
random distributions (stochastic programming) end in
distributional ambiguity sets (DRO) end in
Create a detailed universe type from subtype parameters.
Find a worst-case realization of the uncertainty for an expression.
A pair where the first element is the worst-case (expeceted) value as a
floatand where the second element is a realization of the perturbation parameter that attains this worst case as a
floator CVXOPT matrix (or
Nonefor stochastic uncertainty).
TypeError – When the function is not scalar.
picos.uncertain.IntractableWorstCase – When computing the worst-case (expected) value is not supported, in particular when it would require solving a nonconvex problem.
RuntimeError – When the computation is supported but fails.
Whether this is a distribution or distributional ambiguity set.
If this is
True, then this represents a random distribution (stochastic programming) or an ambiguity set of random distributions (distributionally robust optimization) and any expression that depends on its random
parameter, when used in a constraint or as an objective function, is understood as a (worst-case) expected value.
If this is
False, then this represents a perturbation set (robust optimization) and any expression that depends on its perturbation
parameter, when used in a constraint or as an objective function, is understood as a worst-case value.
The perturbation parameter.
Detailed type of a perturbation parameter universe.