el0ps.penalty.Bigm

class el0ps.penalty.Bigm(M)

Big-M BasePenalty penalty function.

The splitting terms are expressed as

\[\begin{split}h_i(x_i) = \begin{cases} 0 & \text{if } |x_i| \leq M \\ +\infty & \text{otherwise} \end{cases}\end{split}\]

for some \(M > 0\).

Parameters:
M: float

Big-M value.

__init__(M)

Methods

__init__(M)

bind_model(model)

Impose an constraint associated with the penalty function in a pyomo model.

conjugate(i, x)

Value of the convex conjugate of the i-th splitting term of the penalty function at x.

conjugate_subdiff(i, x)

Subdifferential of the conjugate of the i-th splitting term of the penalty function at x, returned as an interval.

get_spec()

Specify the numba types of the class attributes.

param_bndry(i, lmbd)

param_bndry_neg(i, lmbd)

Infimum of the set self.subdiff(i, tau) where tau = self.param_limit_neg(i, lmbd).

param_bndry_pos(i, lmbd)

Supremum of the set self.subdiff(i, tau) where tau = self.param_limit_pos(i, lmbd).

param_limit(i, lmbd)

param_limit_neg(i, lmbd)

Infimum of the set self.conjugate_subdiff(i, tau) where tau = self.param_slope_neg(i, lmbd).

param_limit_pos(i, lmbd)

Supremum of the set self.conjugate_subdiff(i, tau) where tau = self.param_slope_pos(i, lmbd).

param_slope(i, lmbd)

Supremum of the set {x in R | self.conjugate(i, x) <= lmbd}.

param_slope_neg(i, lmbd)

Infimum of the set {x in R | self.conjugate(i, x) <= lmbd}.

param_slope_pos(i, lmbd)

Supremum of the set {x in R | self.conjugate(i, x) <= lmbd}.

params_to_dict()

Returns the parameters name and value used to initialize the class instance.

prox(i, x, eta)

Proximity operator of the i-th splitting term of the penalty function weighted by eta at x.

subdiff(i, x)

Subdifferential of the i-th splitting term of the penalty function at x, returned as an interval.

value(i, x)

Value of the i-th splitting term of the penalty function at x.