Picos typically reformulates optimization problems as conic programs of the form
where each is a linear map from to a linear space containing the cone , and the generalized conic inequality means for a cone . For the sake of compactness, we allow generalized inequalities over the trivial cone , such that represents an equality constraint .
The dual conic problem can be written as follows:
where denotes the adjoint operator of and denotes the the dual cone of (see the note below for a list of cones that are supported in PICOS, together with their dual).
After an optimization problem has been solved, we can query the optimal dual
variable of a conic constraint
con over the cone
dual attribute, i.e.,
When an optimization problem
P can be reformulated to a conic program
of the above form by PICOS, we can use its
attribute to return a
contains the dual conic program of
C. It is also possible to solve
its dual by using the dualize option: This passes
D to the solver, and the optimal primal and dual variables of
will be retrieved from the optimal solution of
Supported cones and their dual¶
PICOS can provide dual information for problems involving the following cones:
The trivial cone , whose dual cone is the entire space . This means that the dual variable for an equality constraint is unconstrained.
The nonnegative orthant is self dual: . Therefore the dual variable for a set of linear inequalities is a vector .
The Lorentz cone , which is used to model second-order cone inequalities, is self-dual: . This means that the dual variable for a second order cone inequality of the form
is a vector of the form such that .
Rotated Second-order Cone
The (widened or narrowed) rotated second order cone is
for some , and its dual cone is . In particular, is self-dual for . For example, the dual variable for the constraint with and , i.e.,
is a vector of the form such that ;
Positive Semi-definite Cone
The positive semidefinite cone is self dual: . This means that the dual variable for a linear matrix inequality is a positive semidefinite matrix ;
PICOS can also reformulate several constraints using the exponential cone
ExponentialCone, as it is the case for example for
KullbackLeiblerConstraint. PICOS provides dual
ExpConeConstraint, as computed by the
solver, but dualization of those constraints is not yet supported.