This note studies a simple but important compatibility in convex optimization: taking the dual of a quadratic program directly, or first lifting it into a cone program and then dualizing, leads to the same result.
This reflects a deeper principle: conic duality and classical Lagrangian duality are consistent with each other. The conic formulation does not change the underlying problem, it only reorganizes its structure.
We demonstrate this through a minimal example.
The following figure shows the hierarchy of convex optimization problems, where linear programming lies at the most specialized level, while quadratic programming and second-order cone programming occupy more general levels above it.
Warning: Please verify all arguments in this blog carefully on your own before using them in your research.
1. The original quadratic program
Consider the problem
(P1)xmin∥x∥22s.t. Ax+b∈K
where:
x∈Rn
A∈Rm×n
b∈Rm
K⊆Rm is a convex cone
This is a quadratic program with a conic constraint.
Direct dual via Lagrangian
Introduce a dual variable y∈K∗. The Lagrangian is
L(x,y)=∥x∥22+yT(Ax+b)
Minimizing over x:
∇xL=2x+ATy=0⇒x∗=−21ATy
Substituting back:
∥x∗∥22=41yTAATy
yTAx∗=−21yTAATy
So the dual function becomes
g(y)=bTy−41yTAATy
and the dual problem is
(D1)y∈K∗maxbTy−41yTAATy
2. Conic lifting (SOCP reformulation)
We now reformulate (P1) as a cone program.
Introduce a scalar variable r and consider the epigraph form:
x,rminrs.t. ∥x∥22≤r,Ax+b∈K
SOC representation
The quadratic constraint can be written as a second-order cone constraint:
∥(2x,1−r)∥2≤1+r
This allows us to express everything using affine maps and cones.
Standard conic form
Define the variable
w=(x,r)
We rewrite the problem as
(P2)wmincTws.t. Aw+β∈K
Components
Objective:
c=(0,…,0,1)
Cone:
K=Qn+2×K
where Q is the second-order cone.
Affine map:
A=(AsocAK),β=(βsocb)
SOC block:
Asoc=⎝⎛02I010−1⎠⎞,βsoc=⎝⎛101⎠⎞
Cone K block:
AK=(A0)
At this point, the quadratic program has been rewritten as a standard conic program. No approximation has been made; this is an exact reformulation.
3. Conic dual of the lifted problem
We now take the dual of the conic program (P2):
(P2)wmincTws.t. Aw+β∈K
Conic duality
The standard dual of a cone program is
zmax−βTzs.t. ATz+c=0,z∈K∗
Structure of the dual variables
Recall that
K=Qn+2×K
so
K∗=Qn+2×K∗
since the second-order cone is self-dual.
We split the dual variable as
z=(zsoc,y)
with:
zsoc∈Qn+2
y∈K∗
Dual problem before simplification
The dual becomes
(D2)max−βsocTzsoc−bTy
subject to
AsocTzsoc+AKTy+c=0
zsoc∈Qn+2,y∈K∗
Eliminating the SOC variables
The constraint
AsocTzsoc+c+AKTy=0
encodes two components:
one corresponding to x
one corresponding to r
From the x-part:
z1:nsoc=−21ATy
From the r-part, a linear relation ties together the scalar entries of zsoc.
The SOC constraint
zsoc∈Qn+2
then implies
∥∥21ATy∥∥2≤s
for some scalar s, which appears in the objective.
Optimizing over zsoc (i.e., choosing the smallest feasible s) yields
s=∥∥21ATy∥∥2
Reduced dual
Substituting back into the objective gives
(D2)y∈K∗maxbTy−41yTAATy
4. Comparison of the two duals
We now compare:
Direct dual from (P1):
(D1)y∈K∗maxbTy−41yTAATy
Conic dual from (P2):
(D2)y∈K∗maxbTy−41yTAATy
Key observation
D1≡D2
The two derivations produce exactly the same dual problem.