Norm Uncertainty

class lropt.Norm(dimension=None, p=2, rho=1.0, a=None, b=None, c=None, d=None, data=None, ub=None, lb=None, sum_eq=None)

Norm uncertainty set, defined as

\[\mathcal{U}_{\text{Norm}} = \{Az+b \ | \ z\| \|_p \le \rho\}\]

when \(p = 2\) this is an ellipsoidal set, and when \(p = \infty\) this is a box set

Parameters

rhofloat, optional

Default 1.0.

pinteger, optional

Order of the norm. Default 2.

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.

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

Norm

Norm uncertainty set.