cone function

Cone Constructors

Cone Constructors

Constructor functions for the different cone types. Currently ROI supports eight different types of cones.

  • Zero cone [REMOVE_ME]Kzero={0}[REMOVEME2] \mathcal{K}_{\mathrm{zero}} = \{0\} [REMOVE_ME_2]
  • Nonnegative (linear) cone [REMOVE_ME]Klin={xx0}[REMOVEME2] \mathcal{K}_{\mathrm{lin}} = \{x|x \geq 0 \} [REMOVE_ME_2]
  • Second-order cone [REMOVE_ME]Ksoc={(t,x)  x2t,xRn,tR}[REMOVEME2] \mathcal{K}_{\mathrm{soc}} = \left\{(t, x) \ | \ ||x||_2 \leq t, x \in R^n, t \in R \right\} [REMOVE_ME_2]
  • Positive semidefinite cone [REMOVE_ME]Kpsd={X  min(eig(X))0, X=XT, XRn×n}[REMOVEME2] \mathcal{K}_{\mathrm{psd}} = \left\{ X \ | \ min(eig(X)) \geq 0, \ X = X^T, \ X \in R^{n \times n} \right\} [REMOVE_ME_2]
  • Exponential cone [REMOVE_ME]Kexpp={(x,y,z)  yexyz, y0}[REMOVEME2] \mathcal{K}_{\mathrm{expp}} = \left\{(x,y,z) \ | \ y e^{\frac{x}{y}} \leq z, \ y \> 0 \right\} [REMOVE_ME_2]
  • Dual exponential cone [REMOVE_ME]Kexpd={(u,v,w)  uevuew,u\<0}[REMOVEME2] \mathcal{K}_{\mathrm{expd}} = \left\{(u,v,w) \ | \ -u e^{\frac{v}{u}} \leq e w, u \< 0 \right\} [REMOVE_ME_2]
  • Power cone [REMOVE_ME]Kpowp={(x,y,z)  xαy(1α)z, x0, y0}[REMOVEME2] \mathcal{K}_{\mathrm{powp}} = \left\{(x,y,z) \ | \ x^\alpha * y^{(1-\alpha)} \geq |z|, \ x \geq 0, \ y \geq 0 \right\} [REMOVE_ME_2]
  • Dual power cone [REMOVE_ME]Kpowd={(u,v,w)  (uα)α(v(1α))(1α)w, u0, v0}[REMOVEME2] \mathcal{K}_{\mathrm{powd}} = \left\{ (u,v,w) \ | \ \left(\frac{u}{\alpha}\right)^\alpha * \left(\frac{v}{(1-\alpha)}\right)^{(1-\alpha)} \geq |w|, \ u \geq 0, \ v \geq 0 \right\} [REMOVE_ME_2]
K_zero(size) K_lin(size) K_soc(sizes) K_psd(sizes) K_expp(size) K_expd(size) K_powp(alpha) K_powd(alpha)

Arguments

  • size: a integer giving the size of the cone, if the dimension of the cones is fixed (i.e. zero, lin, expp, expd) the number of cones is sufficient to define the dimension of the product cone.

  • sizes: a integer giving the sizes of the cones, if the dimension of the cones is not fixed (i.e. soc, psd) we have to define the sizes of each single cone.

  • alpha: a numeric vector giving the alphas

    for the (dual) power cone.

Description

Constructor functions for the different cone types. Currently ROI supports eight different types of cones.

  • Zero cone
Kzero={0} \mathcal{K}_{\mathrm{zero}} = \{0\}
  • Nonnegative (linear) cone
Klin={xx0} \mathcal{K}_{\mathrm{lin}} = \{x|x \geq 0 \}
  • Second-order cone
Ksoc={(t,x)  x2t,xRn,tR} \mathcal{K}_{\mathrm{soc}} = \left\{(t, x) \ | \ ||x||_2 \leq t, x \in R^n, t \in R \right\}
  • Positive semidefinite cone
Kpsd={X  min(eig(X))0, X=XT, XRn×n} \mathcal{K}_{\mathrm{psd}} = \left\{ X \ | \ min(eig(X)) \geq 0, \ X = X^T, \ X \in R^{n \times n} \right\}
  • Exponential cone
Kexpp={(x,y,z)  yexyz, y0} \mathcal{K}_{\mathrm{expp}} = \left\{(x,y,z) \ | \ y e^{\frac{x}{y}} \leq z, \ y \> 0 \right\}
  • Dual exponential cone
Kexpd={(u,v,w)  uevuew,u\<0} \mathcal{K}_{\mathrm{expd}} = \left\{(u,v,w) \ | \ -u e^{\frac{v}{u}} \leq e w, u \< 0 \right\}
  • Power cone
Kpowp={(x,y,z)  xαy(1α)z, x0, y0} \mathcal{K}_{\mathrm{powp}} = \left\{(x,y,z) \ | \ x^\alpha * y^{(1-\alpha)} \geq |z|, \ x \geq 0, \ y \geq 0 \right\}
  • Dual power cone
Kpowd={(u,v,w)  (uα)α(v(1α))(1α)w, u0, v0} \mathcal{K}_{\mathrm{powd}} = \left\{ (u,v,w) \ | \ \left(\frac{u}{\alpha}\right)^\alpha * \left(\frac{v}{(1-\alpha)}\right)^{(1-\alpha)} \geq |w|, \ u \geq 0, \ v \geq 0 \right\}

Examples

K_zero(3) ## 3 equality constraints K_lin(3) ## 3 constraints where the slack variable s lies in the linear cone
  • Maintainer: Stefan Theussl
  • License: GPL-3
  • Last published: 2023-04-20