tutorial convex opt part1
TRANSCRIPT
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 1/36
Tutorial on Convex Optimizationfor Engineers
Part I
M.Sc. Jens Steinwandt
Communications Research Laboratory
Ilmenau University of Technology
PO Box 100565
D-98684 Ilmenau, Germany
January 2014
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 2/36
Course mechanics
•
strongly based on the advanced course “Convex Optimization I” byProf. Stephen Boyd at Stanford University, CA
• info, slides, video lectures, textbook, software on web page:
www.stanford.edu/class/ee364a/
• mandatory assignment (30 % of the final grade)
Prerequisites
• working knowledge of linear algebra
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 3/36
Course objectives
to provide you with
• overview of convex optimization
• working knowledge on convex optimization
in particular, to provide you with skills about how to
• recognize convex problems
• model nonconvex problems as convex
• get a feel for easy and difficult problems
• efficiently solve the problems using optimization tools
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 4/36
Outline
1. Introduction
2. Convex sets
3. Convex functions
4. Convex optimization problems
5. Lagrangian duality theory
6. Disciplined convex programming and CVX
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 5/36
1. Introduction
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 6/36
Mathematical optimization
(mathematical) optimization problem
minimize f 0(x)
subject to f i(x) ≤ bi, i = 1, . . . , m
• x = (x1, . . . , xn): optimization variables
• f 0 : Rn
→ R: objective function
• f i : Rn→ R, i = 1, . . . , m: constraint functions
optimal solution x⋆ has smallest value of f 0 among all vectors that
satisfy the constraints
Introduction –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 7/36
Solving optimization problems
general optimization problem
• very difficult to solve
• methods involve some compromise, e.g., very long computation time, ornot always finding the solution
exceptions: certain problem classes can be solved efficiently and reliably
• least-squares problems
• linear programming problems
• convex optimization problems
Introduction –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 8/36
Least-squares
minimize Ax− b22
solving least-squares problems
• analytical solution: x⋆ = (AT A)−1AT b
• reliable and efficient algorithms and software
• computation time proportional to n2k (A ∈ Rk×n); less if structured
• a mature technology
using least-squares
• least-squares problems are easy to recognize
• a few standard techniques increase flexibility (e.g., including weights,adding regularization terms)
Introduction –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 9/36
Linear programming
minimize cT x
subject to aT
i x ≤ bi, i = 1, . . . , m
solving linear programs
• no analytical formula for solution
• reliable and efficient algorithms and software
• computation time proportional to n2
m if m ≥ n; less with structure
• a mature technology
using linear programming
• not as easy to recognize as least-squares problems
• a few standard tricks used to convert problems into linear programs(e.g., problems involving ℓ1- or ℓ∞-norms, piecewise-linear functions)
Introduction –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 10/36
Convex optimization problem
minimize f 0(x)subject to f i(x) ≤ bi, i = 1, . . . , m
• objective and constraint functions are convex:
f i(αx + βy) ≤ αf i(x) + βf i(y)
if α + β = 1, α ≥ 0, β ≥ 0
• includes least-squares problems and linear programs as special cases
Introduction –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 11/36
Why is convex optimization so essential?
convex optimization formulation
• always achieves global minimum, no local traps
• certificate for infeasibility
• can be solved by polynomial time complexity algorithms (e.g., interior point
methods)
• highly efficient software available (e.g., SeDuMi, CVX)
• the dividing line between “easy” and “difficult” problems (compare with
solving linear equations)
=⇒ whenever possible, always go for convex formulation
Introduction
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 12/36
Brief history of convex optimization
theory (convex analysis): ca1900–1970
algorithms
• 1947: simplex algorithm for linear programming (Dantzig)
• 1960s: early interior-point methods (Fiacco & McCormick, Dikin, . . . )• 1970s: ellipsoid method and other subgradient methods
• 1980s: polynomial-time interior-point methods for linear programming(Karmarkar 1984)
• late 1980s–now: polynomial-time interior-point methods for nonlinearconvex optimization (Nesterov & Nemirovski 1994)
applications
• before 1990: mostly in operations research; few in engineering
• since 1990: many new applications in engineering (control, signalprocessing, communications, circuit design, . . . ); new problem classes(semidefinite and second-order cone programming, robust optimization)
Introduction –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 13/36
2. Convex sets
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 14/36
Subspaces
a space S ⊆ Rn is a subspace if
x 1, x 2 ∈ S , θ1, θ2 ∈ R =⇒ θ1x 1 + θ2x 2 ∈ S
geometrically: plane through x 1, x 2 ∈ S and the origin
representation:
range(A) = {Aw | w ∈ Rq } (A = [a 1, . . . a q ])
= {w 1a 1 + · · ·w q a q | w i ∈ R}
= span {a 1, a 2, . . . , a q }
null(A) = {x | Bx = 0} (B = [b1, . . . bp]T )
=x | bT
1 x = 0, . . . , bT p x = 0
Convex sets
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 15/36
Affine set
line through x1, x2: all points
x = θx1 + (1 − θ)x2 (θ ∈ R)
x1
x2
θ = 1.2θ = 1
θ = 0.6
θ = 0θ = −0.2
affine set: contains the line through any two distinct points in the set
example: solution set of linear equations {x | Ax = b}
(conversely, every affine set can be expressed as solution set of system of linear equations)
Convex sets
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 16/36
Convex set
line segment between x1 and x2: all points
x = θx1 + (1− θ)x2
with 0 ≤ θ ≤ 1
convex set: contains line segment between any two points in the set
x1, x2 ∈ C, 0 ≤ θ ≤ 1 =⇒ θx1 + (1− θ)x2 ∈ C
examples (one convex, two nonconvex sets)
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 17/36
Convex combination and convex hull
convex combination of x1,. . . , xk: any point x of the form
x = θ1x1 + θ2x2 + · · · + θkxk
with θ1 + · · · + θk = 1, θi ≥ 0
convex hull convS : set of all convex combinations of points in
S
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 18/36
Convex cone
conic (nonnegative) combination of x1 and x2: any point of the form
x = θ1x1 + θ2x2
with θ1 ≥ 0, θ2 ≥ 0
0
x1
x2
convex cone: set that contains all conic combinations of points in the set
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 19/36
Hyperplanes and halfspaces
hyperplane: set of the form {x | aT
x = b} (a = 0)a
x
aT x = b
x0
halfspace: set of the form {x | aT x ≤ b} (a = 0)
a
aT x ≥ b
aT x ≤ b
x0
• a is the normal vector
• hyperplanes are affine and convex; halfspaces are convex
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 20/36
Euclidean balls and ellipsoids
(Euclidean) ball with center xc and radius r:
B(xc, r) = {x | x − xc2 ≤ r} = {xc + ru | u2 ≤ 1}
ellipsoid: set of the form
{x | (x − xc)T P −1(x − xc) ≤ 1}
with P ∈ Sn++ (i.e., P symmetric positive definite)
xc
other representation: {xc + Au | u2 ≤ 1} with A square and nonsingular
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 21/36
Norm balls and norm cones
norm: a function · that satisfies
• x ≥ 0; x = 0 if and only if x = 0
• tx = |t| x for t ∈ R
• x + y ≤ x + y
notation: · is general (unspecified) norm; · symb is particular norm
norm ball with center xc and radius r: {x | x − xc ≤ r}
norm cone: {(x, t) | x ≤ t}
Euclidean norm cone is called second-order cone
x1x2
t
−1
0
1
−1
0
1
0
0.5
1
norm balls and cones are convexConvex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 22/36
Polyhedra
solution set of finitely many linear inequalities and equalities
Ax b, Cx = d
(A ∈ Rm×n, C ∈ R p×n, is componentwise inequality)
a1 a2
a3
a4
a5
P
polyhedron is intersection of finite number of halfspaces and hyperplanes
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 23/36
Positive semidefinite cone
notation:• Sn is set of symmetric n × n matrices
• Sn+ = {X ∈ Sn | X 0}: positive semidefinite n × n matrices
X ∈ Sn+ ⇐⇒ zT Xz ≥ 0 for all z
Sn+ is a convex cone
• Sn++ = {X ∈ Sn | X ≻ 0}: positive definite n × n matrices
example:
x yy z∈ S2
+
xy
z
0
0.5
1
−1
0
1
0
0.5
1
Convex sets 2–
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 24/36
Operations that preserve convexity
practical methods for establishing convexity of a set C
1. apply definition
x1, x2 ∈ C, 0 ≤ θ ≤ 1 =⇒ θx1 + (1− θ)x2 ∈ C
2. show that C is obtained from simple convex sets (hyperplanes,halfspaces, norm balls, . . . ) by operations that preserve convexity
• intersection• affine functions•
perspective function• linear-fractional functions
Convex sets –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 25/36
Examples of convex sets
• linear subspace: S = {x | Ax = 0} is a convex cone
• affine subspace: S = {x | Ax = b} is a convex set
• polyhedral set: S = {x | Ax b} is a convex set
• PSD matrix cone: S = {A | A is symmetric,A 0} is convex
• second order cone: S = {(t , x ) | t ≥ x } is convex
intersection
intersection of
linear subspaces
affine subspaces
convex conesconvex sets
is also a
linear subspace
affine subspace
convex coneconvex set
example: a polyhedron is intersection of a finite number of halfspaces
Convex sets
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 26/36
3. Convex functions
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 27/36
Definition
f : Rn → R is convex if dom f is a convex set and
f (θx + (1 − θ)y) ≤ θf (x) + (1 − θ)f (y)
for all x, y ∈ dom f , 0 ≤ θ ≤
1
(x, f (x))
(y, f (y))
• f is concave if −f is convex
• f is strictly convex if dom f is convex and
f (θx + (1 − θ)y) < θf (x) + (1 − θ)f (y)
for x, y ∈ dom f , x = y, 0 < θ < 1
Convex functions –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 28/36
Examples on R
convex:
• affine: ax + b on R, for any a, b ∈ R
• exponential: eax, for any a ∈ R
• powers: xα on R++, for α ≥ 1 or α ≤ 0
• powers of absolute value: |x| p on R, for p ≥ 1
• negative entropy: x log x on R++
concave:
• affine: ax + b on R, for any a, b ∈ R• powers: xα on R++, for 0 ≤ α ≤ 1
• logarithm: logx on R++
Convex functions
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 29/36
Examples on Rn
and Rm×n
affine functions are convex and concave; all norms are convex
examples on Rn
• affine function f (x) = aT x + b
• norms: x p = (
ni=1 |xi|
p)1/p for p ≥ 1; x∞ = maxk |xk|
examples on Rm×n (m× n matrices)
• affine function
f (X ) = tr(AT X ) + b =m
i=1
n
j=1
AijX ij + b
• spectral (maximum singular value) norm
f (X ) = X 2 = σmax(X ) = (λmax(X T X ))1/2
Convex functions –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 30/36
First-order condition
f is differentiable if dom f is open and the gradient
∇f (x) =
∂f (x)
∂x1, ∂f (x)
∂x2, . . . ,
∂f (x)
∂xn
exists at each x ∈ dom f
1st-order condition: differentiable f with convex domain is convex iff
f (y) ≥ f (x) + ∇f (x)T (y − x) for all x, y ∈ dom f
(x, f (x))
f (y)
f (x) +∇f (x)T
(y − x)
first-order approximation of f is global underestimator
Convex functions –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 31/36
Second-order conditions
f is twice differentiable if dom f is open and the Hessian ∇2f (x) ∈ Sn,
∇2f (x)ij =
∂ 2f (x)
∂xi∂xj
, i, j = 1, . . . , n,
exists at each x ∈ dom f
2nd-order conditions: for twice differentiable f with convex domain
• f is convex if and only if
∇2
f (x)
0 for all x∈ dom
f
• if ∇2f (x) ≻ 0 for all x ∈ dom f , then f is strictly convex
Convex functions –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 32/36
Examples
quadratic function: f (x) = (1/2)xT
P x + q T
x + r (with P ∈ Sn
)
∇f (x) = P x + q, ∇2f (x) = P
convex if P 0
least-squares objective: f (x) = Ax − b22
∇f (x) = 2AT (Ax − b), ∇2f (x) = 2AT A
convex (for any A)
quadratic-over-linear: f (x, y) = x2/y
∇2f (x, y) = 2
y3
y−x
y−x
T 0
convex for y > 0 xy
f ( x , y
)
−2
0
2
0
1
2
0
1
2
Convex functions –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 33/36
Epigraph and sublevel set
α-sublevel set of f : Rn → R:
C α = {x ∈ dom f | f (x) ≤ α}
sublevel sets of convex functions are convex (converse is false)
epigraph of f : Rn → R:
epi f = {(x, t) ∈ R
n+1
| x ∈ dom f, f (x) ≤ t}
epi f
f
f is convex if and only if epi f is a convex set
Convex functions –
Properties of convex functions
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 34/36
Properties of convex functions
• convexity over all lines:
f (x ) is convex ⇐⇒ f (x 0 + th ) is convex in t for all x 0, h
• positive multiple:
f (x ) is convex =⇒ α f (x ) is convex for all α ≥ 0
• sum of convex functions:
f 1(x ), f 2(x ) convex =⇒ f 1(x ) + f 2(x ) is convex
• pointwise maximum:
f 1(x ), f 2(x ) convex =⇒ max{ f 1(x ), f 2(x )} is convex
• affine transformation of domain:
f (x ) is convex =⇒ f (Ax + b) is convex
Convex functions
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 35/36
Operations that preserve convexity
practical methods for establishing convexity of a function
1. verify definition (often simplified by restricting to a line)
2. for twice differentiable functions, show ∇2f (x) 0
3. show that f is obtained from simple convex functions by operations
that preserve convexity• nonnegative weighted sum• composition with affine function• pointwise maximum and supremum
• composition• minimization• perspective
Convex functions –
7/25/2019 Tutorial Convex Opt Part1
http://slidepdf.com/reader/full/tutorial-convex-opt-part1 36/36
Quasiconvex functions
f : Rn → R is quasiconvex if dom f is convex and the sublevel sets
S α = {x ∈ dom f | f (x) ≤ α}
are convex for all α
α
β
a b c
• f is quasiconcave if −f is quasiconvex
• f is quasilinear if it is quasiconvex and quasiconcave
Convex functions –