Dual Values¶
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.,
con.dual
.
When an optimization problem P
can be reformulated to a conic program C
of the above form by PICOS, we can use its dual
attribute to return a Problem
object 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 D
.
Supported cones and their dual¶
PICOS can provide dual information for problems involving the following cones:
Trivial cone
The trivial cone , whose dual cone is the entire space . This means that the dual variable for an equality constraint is unconstrained.
Nonnegative Orthant
The nonnegative orthant is self dual: . Therefore the dual variable for a set of linear inequalities is a vector .
Lorentz Cone
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 ;
Exponential Cone
PICOS can also reformulate several constraints using the exponential cone
ExponentialCone
, as it is the case for example for
KullbackLeiblerConstraint
. PICOS provides dual
values for ExpConeConstraint
, as computed by the
solver, but dualization of those constraints is not yet supported.