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 with its
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
dual attribute to
D=P.dual which contains the
dual conic program of
C. It is also possible to solve
P via its dual
by using the dualize option:
This passes problem
D to the solver,
and the optimal primal and dual variables of
P 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
PICOS provides dual values for
as computed by the solver, but dualization of those constraints
is not yet supported.