Budget Uncertainty

class lropt.Budget(dimension=None, rho1=1.0, rho2=1.0, a=None, b=None, c=None, d=None, data=None, ub=None, lb=None, sum_eq=None)

Budget uncertainty set defined as

\[\mathcal{U}_{\text{budget}} = \{Az+b \ | \ \|z \|_\infty \le \rho_1, \|z \|_1 \leq \rho_2\}\]

Parameters

rho1float, optional

Box scaling. Default 1.0.

rho2float, optional

1-norm scaling. Default 1.0.

a1np.array, optional

matrix defining \(A_1\) in uncertainty set definition. By default \(A_1 = I\)

a2np.array, optional

matrix defining \(A_2\) in uncertainty set definition. By default \(A_2 = I\)

b1np.array, optional

vector defining \(b_1\) in uncertainty set definition. By default \(b_1 = 0\)

b2np.array, optional

vector defining \(b_2\) in uncertainty set definition. By default \(b_2 = 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

Budget

Budget uncertainty set.