tutorial convex opt part1

36
7/25/2019 Tutorial Convex Opt Part1 http://slidepdf.com/reader/full/tutorial-convex-opt-part1 1/36 Tutorial on Convex Optimization for Engineers Part I M.Sc. Jens Steinwandt Communications Research Laboratory Ilmenau University of Technology PO Box 100565 D-98684 Ilmenau, Germany  [email protected] January 2014

Upload: faraz-hassan-khan

Post on 24-Feb-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorial Convex Opt Part1

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

 [email protected]

January 2014

Page 2: Tutorial Convex Opt Part1

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

Page 3: Tutorial Convex Opt Part1

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

Page 4: Tutorial Convex Opt Part1

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

Page 5: Tutorial Convex Opt Part1

7/25/2019 Tutorial Convex Opt Part1

http://slidepdf.com/reader/full/tutorial-convex-opt-part1 5/36

1. Introduction

Page 6: Tutorial Convex Opt Part1

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   –

Page 7: Tutorial Convex Opt Part1

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   –

Page 8: Tutorial Convex Opt Part1

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   –

Page 9: Tutorial Convex Opt Part1

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   –

Page 10: Tutorial Convex Opt Part1

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   –

Page 11: Tutorial Convex Opt Part1

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

Page 12: Tutorial Convex Opt Part1

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   –

Page 13: Tutorial Convex Opt Part1

7/25/2019 Tutorial Convex Opt Part1

http://slidepdf.com/reader/full/tutorial-convex-opt-part1 13/36

2. Convex sets

Page 14: Tutorial Convex Opt Part1

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

Page 15: Tutorial Convex Opt Part1

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  

Page 16: Tutorial Convex Opt Part1

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   –

Page 17: Tutorial Convex Opt Part1

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   –

Page 18: Tutorial Convex Opt Part1

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   –

Page 19: Tutorial Convex Opt Part1

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   –

Page 20: Tutorial Convex Opt Part1

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   –

Page 21: Tutorial Convex Opt Part1

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   –

Page 22: Tutorial Convex Opt Part1

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

polyhedron is intersection of finite number of halfspaces and hyperplanes

Convex sets   –

Page 23: Tutorial Convex Opt Part1

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–

Page 24: Tutorial Convex Opt Part1

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   –

Page 25: Tutorial Convex Opt Part1

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

Page 26: Tutorial Convex Opt Part1

7/25/2019 Tutorial Convex Opt Part1

http://slidepdf.com/reader/full/tutorial-convex-opt-part1 26/36

3. Convex functions

Page 27: Tutorial Convex Opt Part1

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   –

Page 28: Tutorial Convex Opt Part1

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  

Page 29: Tutorial Convex Opt Part1

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   –

Page 30: Tutorial Convex Opt Part1

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   –

Page 31: Tutorial Convex Opt Part1

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

•   if  ∇2f (x) ≻ 0   for all  x ∈ dom f , then  f   is strictly convex

Convex functions   –

Page 32: Tutorial Convex Opt Part1

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   –

Page 33: Tutorial Convex Opt Part1

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  is convex if and only if  epi f   is a convex set

Convex functions   –

Properties of convex functions

Page 34: Tutorial Convex Opt Part1

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

Page 35: Tutorial Convex Opt Part1

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   –

Page 36: Tutorial Convex Opt Part1

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   –