# SemidefiniteOptimization

SemidefiniteOptimization[f,cons,vars]

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

SemidefiniteOptimization[c,{a0,a1,,ak}]

finds a vector that minimizes the quantity subject to the linear matrix inequality constraint .

SemidefiniteOptimization[,"prop"]

specifies what solution property "prop" should be returned.

# Details and Options    • SemidefiniteOptimization is also known as semidefinite programming (SDP).
• Semidefinite optimization is a convex optimization problem that can be solved globally and efficiently.
• Semidefinite optimization finds that solves the primal problem:
•  minimize subject to constraints where • The matrices must be symmetric matrices.
• • The constraints cons can be specified by:
•  LessEqual scalar inequality GreaterEqual scalar inequality VectorLessEqual vector inequality VectorGreaterEqual vector inequality Equal scalar or vector equality Element convex domain or region element
• With SemidefiniteOptimization[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 semidefinite optimization has a dual: »
•  maximize subject to constraints where • The possible solution properties "prop" include:
•  "PrimalMinimizer" a list of variable values that minimizes the objective function "PrimalMinimizerRules" values for the variables vars={v1,…} that minimize "PrimalMinimizerVector" the vector that minimizes "PrimalMinimumValue" the primal minimum value "DualMaximizer" the matrix that maximizes "DualMaximumValue" the dual maximum value "DualityGap" the difference between the dual and primal optimal values "Slack" matrix that converts inequality constraints to equality "ConstraintSensitivity" sensitivity of to constraint perturbations "ObjectiveVector" the linear objective vector "ConstraintMatrices" the list of constraint matrices {"prop1","prop2",…} several solution properties
• The following options may be given:
•  MaxIterations Automatic maximum number of iterations to use Method Automatic the method to use PerformanceGoal \$PerformanceGoal aspects of performance to try to optimize Tolerance Automatic the tolerance to use for internal comparisons
• The option Method->method may be used to specify the method to use. Available methods include:
•  Automatic choose the method automatically "CSDP" CSDP (COIN semidefinite programming) library "DSDP" DSDP (semidefinite programming) library "SCS" SCS (splitting conic solver) library
• Computations are limited to MachinePrecision.

# Examples

open all close all

## Basic Examples(2)

Minimize subject to the linear matrix inequality constraint :

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

 In:= Out= Minimize subject to the linear matrix inequality constraint :

 In:= Out= Use the equivalent formulation with the objective vector and constraint matrices:

 In:= Out= ## Possible Issues(3)

Introduced in 2019
(12.0)