This class represents a reformulated exponential cone constraint operating elementwise on \(a, b, c\).
ExpCone(x, y, z, id = NA_integer_)# S4 method for ExpCone
as.character(x)
# S4 method for ExpCone
residual(object)
# S4 method for ExpCone
size(object)
# S4 method for ExpCone
num_cones(object)
# S4 method for ExpCone
cone_sizes(object)
# S4 method for ExpCone
is_dcp(object)
# S4 method for ExpCone
is_dgp(object)
# S4 method for ExpCone
canonicalize(object)
The variable \(x\) in the exponential cone.
The variable \(y\) in the exponential cone.
The variable \(z\) in the exponential cone.
(Optional) A numeric value representing the constraint ID.
A ExpCone object.
residual(ExpCone)
: The size of the x
argument.
size(ExpCone)
: The number of entries in the combined cones.
num_cones(ExpCone)
: The number of elementwise cones.
cone_sizes(ExpCone)
: The dimensions of the exponential cones.
is_dcp(ExpCone)
: An exponential constraint is DCP if each argument is affine.
is_dgp(ExpCone)
: Is the constraint DGP?
canonicalize(ExpCone)
: Canonicalizes by converting expressions to LinOps.
x
The variable \(x\) in the exponential cone.
y
The variable \(y\) in the exponential cone.
z
The variable \(z\) in the exponential cone.
Original cone: $$ K = \{(x,y,z) | y > 0, ye^{x/y} \leq z\} \cup \{(x,y,z) | x \leq 0, y = 0, z \geq 0\} $$ Reformulated cone: $$ K = \{(x,y,z) | y, z > 0, y\log(y) + x \leq y\log(z)\} \cup \{(x,y,z) | x \leq 0, y = 0, z \geq 0\} $$