el0ps.penalty.BigmPositiveL2norm¶
- class el0ps.penalty.BigmPositiveL2norm(M, beta)¶
Positive big-M plus L2-norm
BasePenalty
penalty function.The splitting terms are expressed as
\[\begin{split}h_i(x_i) = \begin{cases} \beta x_i^2 & \text{if } 0 \leq x_i \leq M \\ +\infty & \text{otherwise} \end{cases}\end{split}\]for some \(M > 0\) and \(\beta > 0\).
- Parameters:
- M: float
Big-M value.
- beta: float
L2-norm weight.
- __init__(M, beta)¶
Methods
__init__
(M, beta)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_neg
(i, lmbd)Infimum of the set
self.subdiff(i, tau)
wheretau = self.param_limit_neg(i, lmbd)
.param_bndry_pos
(i, lmbd)Supremum of the set
self.subdiff(i, tau)
wheretau = self.param_limit_pos(i, lmbd)
.param_limit_neg
(i, lmbd)Infimum of the set
self.conjugate_subdiff(i, tau)
wheretau = self.param_slope_neg(i, lmbd)
.param_limit_pos
(i, lmbd)Supremum of the set
self.conjugate_subdiff(i, tau)
wheretau = self.param_slope_pos(i, 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
atx
.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
.