(Laurent Lessard) Convex Programming
(Laurent Lessard) Convex Programming
(Laurent Lessard) Convex Programming
Convex programs
Hierarchy of complexity
14-2
Convex sets
14-3
Convex sets
If we define C1 := {x ∈ Rn | Ax ≤ b} then:
Ax ≤ b ⇐⇒ x ∈ C1
If we define C2 := {x ∈ Rn | Fx = g } then:
Ax ≤ b and Fx = g ⇐⇒ x ∈ C1 ∩ C2
14-4
Convex sets
Example: SOCP
Let C := x ∈ Rn kAx + bk ≤ c T x + d . To prove C is
convex, suppose x, y ∈ C and let z := αx + (1 − α)y . Then:
14-5
Convex sets
Example: spectrahedron
( " # )
1 x1 x2
Let C := x ∈ R3 x1 1 x3 0 . To prove C is
x2 x3 1
convex, consider the set S := X ∈ R3×3 X = X T 0
Note that S is the PSD cone. It is convex because if we define
Z := αX + (1 − α)Y where X , Y ∈ S and 0 ≤ α ≤ 1, then
w T Zw = w T (αX + (1 − α)Y ) w
= αw T Xw + (1 − α)w T Yw
14-6
Convex functions
If C ⊆ Rn , a function f : C → R is convex if C is a
convex set and for all x, y ∈ C and 0 ≤ α ≤ 1, we have:
f (αx + (1 − α)y ) ≤ αf (x) + (1 − α)f (y )
f is concave if −f is convex.
f (x)
3
y
2
1 x
x
-1 1 2 3 4
14-7
Convex and concave functions
Convex functions on R:
Affine: ax + b.
Absolute value: |x|.
Quadratic: ax 2 for any a ≥ 0.
Exponential: ax for any a > 0.
Powers: x α for x > 0, α ≥ 1 or α ≤ 0.
Negative entropy: x log x for x > 0.
Concave functions on R:
Affine: ax + b.
Quadratic: ax 2 for any a ≤ 0.
Powers: x α for x > 0, 0 ≤ α ≤ 1.
Logarithm: log x for x > 0.
14-8
Convex and concave functions
Convex functions on Rn :
Affine: aT x + b.
Norms: kxk2 , kxk1 , kxk∞
Quadratic form: x T Qx for any Q 0
14-9
Building convex functions
1. Nonnegative weighted sum: If f (x) and g (x) are convex
and α, β ≥ 0, then αf (x) + βg (x) is convex.
2. Composition with an affine function:
If f (x) is convex, so is g (x) := f (Ax + b)
3. Pointwise maximum: If f1 (x), . . . , fk (x) are convex, then
g (x) := max {f1 (x), . . . , fk (x)} is convex.
14-10
Convex functions vs sets
Level set: If f is a convex function, then the set
of points satisfying f (x) ≤ a is a convex set.
14-11
Convex functions vs sets
f (x) t
4 4
3 3
2 2
1 1
x x
-1 1 2 3 4 -1 1 2 3 4
14-12
Convex programs
minimize f0 (x)
x
subject to: fi (x) ≤ 0 for i = 1, . . . , k
Ax = b
x ∈C
14-13
Convex programs
Minimalist form:
minimize c T x
x∈S
S is a convex set
14-14
Key properties and advantages
14-15
Hierarchy of programs
14-16
Solving convex problems
14-17
Example: geometric programming
The log-sum-exp function (shown left) is convex:
n
!
X
f (x) := log exp xk
k=1
14-18
Example: geometric programming
14-19
Example: geometric programming
We can make some of the constraints linear, but not all of them.
This appears to be a nonconvex optimization problem...
14-20
Example: geometric programming
minimize h−1 w −1 d −1
h,w ,d > 0
2 2 1
subject to: Awall
hw + Awall
hd ≤ 1, Aflr
wd ≤ 1
−1
αh w ≤ 1, 1
β
hw −1 ≤ 1
γwd −1 ≤ 1, 1 −1
δ
w d ≤1
14-21
Example: geometric programming
minimize h−1 w −1 d −1
h,w ,d > 0
2 2 1
subject to: Awall
hw + Awall
hd ≤ 1, Aflr
wd ≤ 1
−1
αh w ≤ 1, 1
β
hw −1 ≤ 1
γwd −1 ≤ 1, 1 −1
δ
w d ≤1
14-22
Example: geometric programming
14-23
Example: geometric programming
minimize −x −y −z
x,y ,z
14-24