ConicOptimization

ConicOptimization[f,cons,vars]

finds values of variables vars that minimize the linear objective f subject to conic constraints cons.

ConicOptimization[,"prop"]

specifies what solution property "prop" should be returned.

Details and Options

  • Conic optimization is also known as linear conic optimization or linear conic programming.
  • Conic optimization includes many other forms of optimization, including linear optimization, linear fractional optimization, quadratic optimization, second-order cone optimization, semidefinite optimization and geometric optimization.
  • Conic optimization is a convex optimization problem that can be solved globally and efficiently.
  • Conic optimization finds that solves the primal problem:
  • minimize
    subject to constraints
    where
  • The set should be a proper convex cone of dimension . Common cone specifications for and the sets corresponding to are:
  • {"NonNegativeCone", n} such that
    {"NormCone", n} such that TemplateBox[{{{, {{x, _, 1}, ,, ..., ,, {x, _, {(, {n, -, 1}, )}}}, }}}, Norm]<=x_n
    {"SemidefiniteCone", n}symmetric positive semidefinite matrices
    "ExponentialCone" such that
    "DualExponentialCone" such that or
    {"PowerCone",α} such that
    {"DualPowerCone",α} such that
  • The constraints cons can be specified by:
  • LessEqualscalar inequality
    GreaterEqualscalar inequality
    VectorLessEqualvector inequality
    VectorGreaterEqualvector inequality
    Equalscalar or vector equality
    Elementconvex domain or region element
  • With ConicOptimization[f,cons,vars], parameter equations of the form parval, where par is not in vars and val is numerical or an array with numerical values, may be included in the constraints to define parameters used in f or cons. »
  • The primal minimization problem has a related maximization problem that is the Lagrangian dual problem. The dual maximum value is always less than or equal to the primal minimum value, so it provides a lower bound. The dual maximizer provides information about the primal problem, including sensitivity of the minimum value to changes in the constraints. »
  • The conic optimization has a dual problem: »
  • maximize
    subject to constraints
    where and is the dual cone to
  • The possible solution properties "prop" include:
  • "PrimalMinimizer"a list of variable values that minimizes
    "PrimalMinimizerRules"values for the variables vars={v1,} that minimize
    "PrimalMinimizerVector"the vector that minimizes
    "PrimalMinimumValue"the minimum value
    "DualMaximizer"the vector that maximizes
    "DualMaximumValue"the dual maximum value
    "DualityGap"the difference between the dual and primal optimal values
    "Slack"vectors that convert inequality constraints to equality
    "ConstraintSensitivity"
    sensitivity of to constraint perturbations
    "ObjectiveVector"the linear objective vector
    "ConicConstraints" the list of conic constraints in canonical form
    "ConicConstraintConeSpecifications" the list of specifications for the cones
    "ConicConstraintConeDimensions" {TemplateBox[{Dimensions, paclet:ref/Dimensions}, RefLink, BaseStyle -> {3ColumnTableMod}][kappa_(1)],...}the list of dimensions for the cones in the conic constraints
    "ConicConstraintAffineLists" the list of matrix, vector pairs for the affine transforms in the conic constraints
    {"prop1","prop2",} several solution properties
  • The following options may be given:
  • MaxIterationsAutomaticmaximum number of iterations to use
    MethodAutomaticthe method to use
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    ToleranceAutomaticthe tolerance to use for internal comparisons
  • The option Method->method may be used to specify the method to use. Available methods include:
  • Automaticchoose the method automatically
    "SCS"SCS (splitting conic solver) library
    "CSDP"CSDP (COIN semidefinite programming) library
    "DSDP"DSDP (semidefinite programming) library
  • Computations are limited to MachinePrecision.

Examples

open all close all

Basic Examples  (2)

Minimize over a two-dimensional "NormCone":

In[14]:=
Click for copyable input
Out[14]=

The optimal point is where is smallest within the region defined by the constraints:

In[52]:=
Click for copyable input
Out[52]=

Minimize over the intersection of a triangle and a disk :

In[1]:=
Click for copyable input
Out[1]=

Visualize the location of the minimizing point:

In[2]:=
Click for copyable input
Out[2]=

Scope  (25)

Options  (11)

Applications  (26)

Properties & Relations  (8)

Possible Issues  (4)

Introduced in 2019
(12.0)