Learn R Programming

CVXR (version 1.0)

ExpCone-class: The ExpCone class.

Description

This class represents a reformulated exponential cone constraint operating elementwise on \(a, b, c\).

Usage

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)

Arguments

x

The variable \(x\) in the exponential cone.

y

The variable \(y\) in the exponential cone.

z

The variable \(z\) in the exponential cone.

id

(Optional) A numeric value representing the constraint ID.

object

A '>ExpCone object.

Methods (by generic)

  • residual: The size of the x argument.

  • size: The number of entries in the combined cones.

  • num_cones: The number of elementwise cones.

  • cone_sizes: The dimensions of the exponential cones.

  • is_dcp: An exponential constraint is DCP if each argument is affine.

  • is_dgp: Is the constraint DGP?

  • canonicalize: Canonicalizes by converting expressions to LinOps.

Slots

x

The variable \(x\) in the exponential cone.

y

The variable \(y\) in the exponential cone.

z

The variable \(z\) in the exponential cone.

Details

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\} $$