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.