Ellipsoidal Uncertainty¶
- class lropt.Ellipsoidal(dimension=None, rho=1.0, p=2, a=None, b=None, c=None, d=None, data=None, ub=None, lb=None, sum_eq=None)¶
 Ellipsoidal uncertainty set, defined as
\[\mathcal{U}_{\text{ellips}} = \{Az+b \ | \ \| z\|_2 \le \rho\}\]Parameters¶
- rhofloat, optional
 Ellipsoid scaling. Default 1.0.
- Anp.array, optional
 matrix defining \(A\) in uncertainty set definition. By default \(A = I\)
- bnp.array, optional
 vector defining \(b\) in uncertainty set definition. By default \(b = 0\)
- data: np.array, optional
 An array of uncertainty realizations, where each row is one realization. Required if the uncertainty should be trained, or if loss function passed.
- loss: function, optional
 The loss function used to train the uncertainty set. Required if uncertainty set parameters should be trained or if data is passed. Function must use torch tensors, and arguments to loss function must be given in the same order as cvxpy variables defined in problem.
- c: np.array, optional
 matrix defining the lhs of the polyhedral support: :math: cu le d. By default None.
- d: np.array, optional
 vector defining the rhs of the polyhedral support: :math: cu le d. By default None.
- ub: np.array | float, optional
 vector or float defining the upper bound of the support. If scalar, broadcast to a vector. By default None.
- lb: np.array | float, optional
 vector or float defining the lower bound of the support. If scalar, broadcast to a vector. By default None.
- sum_eq: np.array | float, optinal
 vector or float defining an equality constraint for the uncertain vector. By default None.
Returns¶
- Ellipsoidal
 Ellipsoidal uncertainty set.