Brief Introduction to Numerical Optimization and its application to - - PowerPoint PPT Presentation

brief introduction to numerical optimization and its
SMART_READER_LITE
LIVE PREVIEW

Brief Introduction to Numerical Optimization and its application to - - PowerPoint PPT Presentation

Brief Introduction to Numerical Optimization and its application to Molecular Conformation Dongli Deng Bed rich Soused k (mentor) Supported in part by NSF award DMS-1521563 April 30, 2018 Introduction We studied four methods:


slide-1
SLIDE 1

Brief Introduction to Numerical Optimization and its application to Molecular Conformation

Dongli Deng Bedˇ rich Soused´ ık (mentor)

Supported in part by NSF award DMS-1521563

April 30, 2018

slide-2
SLIDE 2

Introduction

◮ We studied four methods:

◮ Steepest Descend ◮ Conjugate gradient ◮ Newton’s method ◮ A quasi-Newton method

◮ We implemented the methods in MATLAB,

and tested them on several small problems.

◮ We applied the methods to minimize Lennard-Jones potential.

slide-3
SLIDE 3

Test function 1: (Ex. 2.1, Nocedal: Numerical Optimization, 2006)

f (x, y) = 100(y − x2)2 + (1 − x)2 (minimum at (1, 1))

∇f =

  • −400xy + 400x3 − 2 + 2x

200y − 200x2

  • ,

H =

  • −400y + 1200x2 + 2

−400x −400x 200

  • 1

100 200 1 300 0.5 400 500 1

  • 0.5
  • 1
  • 1
  • 0.5

0.5 1

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1 50 100 150 200 250 300 350 400

slide-4
SLIDE 4

Test function 2: (Example 13.3, Sauer: Numerical analysis, Pearson, 2006)

f (x, y) = 5x4+4x2−xy3+4y4−x (minimum at (0.4923, −0.3643))

∇f =

  • 20x3 + 8xy − y 3 − 1

4x2 − 3y 2x + 16y 3

  • ,

H =

  • 60x2 + 8y

−3y 2 −3y 2 48y 2 − 6yx

  • 1
  • 5

5

  • 1

10

  • 0.5
  • 1

15 0.5 1

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1

slide-5
SLIDE 5

Steepest Descend

xk+1 = xk − sv s . . . step length (we can use Successive Parabolic Interpolation), v . . . direction of the steepest descend at xk (given by ∇f (xk))

slide-6
SLIDE 6

Algorithm of Steepest Descend

1: for n = 0, 1, 2, . . . do 2:

v=∇f (xi)

3:

Minimize f (x − sv) for scalar s = s∗

4:

xi+1 = xi + s∗v

5: end for

slide-7
SLIDE 7

Steepest Descend for test problem 2 (Sauer)

Step x y f (x, y) 1 1.0000

  • 1.0000

5.0000 5 0.1867 0.2136

  • 0.1444

10 0.3327 0.0418

  • 0.2530

15 0.4228

  • 0.2142
  • 0.4036

20 0.4877

  • 0.3561
  • 0.4573

25 0.4922

  • 0.3641
  • 0.4575

30 0.4923

  • 0.3643
  • 0.4575
slide-8
SLIDE 8

Conjugate Gradient Method

Consider minimizing, starting with quadratic function f (x) = 1 2xTAx − xTb ∇f = Ax − b Finding the minimum is equivalent to solving Ax = b. One-dimensional line search: given search direction d, find step length α so that the function f (x + αd) is minimized 0 = ∇f · d = (αAd − r)T · d α = rTd dTAd = rTr dTAd r . . . residual of the linear system (given by −∇f (x) = b − Ax).

slide-9
SLIDE 9

0 = ∇f · d = (A(x + αd) − b) · d 0 = ∇f · d = (Ax + αAd − b) · d Let r = b − Ax 0 = (αAd − r)T · d αdTAd − rTd = 0 α = rTd dTAd

slide-10
SLIDE 10

Algorithm of Conjugate Gradient Method

1: Let x0 be the initial guess and set d0 = r0 = −∇f . 2: for n = 0, 1, 2, . . . do 3:

αi = α that minimizes f (xi−1 + αdi−1)

4:

xi = xi−1 + αidi−1

5:

ri = −∇f (xi)

6:

βi =

rT

i ri

rT

i−1ri−1

7:

di = ri + βidi−1

8: end for

slide-11
SLIDE 11

Conjugate Gradients for test problem 2 (Sauer)

Step x y f (x, y) 1 0.0998 0.4114 0.0247 2 0.5372

  • 0.3240
  • 0.4324

3 0.5093

  • 0.3812
  • 0.4557

4 0.4944

  • 0.3776
  • 0.4569

5 0.4900

  • 0.3644
  • 0.4575

. . . 10 0.4923

  • 0.3643
  • 0.4575
slide-12
SLIDE 12

Newton’s Method in one Dimension

For solving f (x) = 0 we use xi+1 = xi − f (xi) f ′(xi), Applying the same idea to f ′(x) = 0 gives xi+1 = xi − f ′(xi) f ′′(xi). This can be equivalently written as f ′′(xi) (xi+1 − xi) = −f ′(xi).

slide-13
SLIDE 13

Newton’s Method in higher dimension

Given an initial guess x0, for k = 0, 1, . . . , solve H(xk)v = −∇f (xk), update xk+1 = xk + v. Here ∇f =

  • ∂f

∂x1 (x1, ..., xn),

...

∂f ∂xn (x1, ..., xn)

T , Hf =        

∂2f (x1,...,xn) ∂x2

1

...

∂2f (x1,...,xn) ∂x1∂xn

.. .. ..

∂2f (x1,...,xn) ∂x1∂xn

...

∂2f (x1,...,xn) ∂x2

n

        .

slide-14
SLIDE 14

Quasi Newton’s method

H . . . from now on, an approximation to the inverse of the Hessian, Update x as xk+1 = xk + αkpk αk . . . step length (from backtracking line search/Wolfe condition), pk = −Hk∇fk (update of the search direction), sk = xk+1 − xk (change of the displacement), yk = ∇fk+1 − ∇fk (change of gradients of the functions) Update the (inverse of) the Hessian as Hk+1 = (I − ρkskyT

k )Hk(I − ρkyksT k ) + ρksksT k ,

where ρk = 1 (yT

k sk).

slide-15
SLIDE 15

Algorithm of BFGS

1: Given starting point x0, convergence tolerance ǫ > 0 2: choose (inverse) Hessian approximation H0 (commonly I) 3: k ← 0 4: while | ∇fk | > ǫ; do 5:

pk = −Hk∇fk

6:

xk+1 = xk + αkpk

7:

Compute Hk+1 (updating Hk)

8:

k ← k+1

9: end while

slide-16
SLIDE 16

Lennard-Jones Potential

U(r) = 1 r12 − 2 r6 , r . . . distance between two atoms

0.5 1 1.5 2 2.5 3 r

  • 1
  • 0.5

0.5 1

General form with n atoms U(x1, . . . , xn, y1, . . . , yn, z1, . . . , zn) =

n−1

  • i=1

n

  • j=i+1
  • 1

r12

ij

− 2 r6

ij

  • ,

rij . . . distance between atoms i and j

slide-17
SLIDE 17

Gradient of the Lennard-Jones potential

U =

n−1

  • i=1

n

  • j=i+1

Uij =

n−1

  • i=1

n

  • j=i+1
  • 1

r12

ij

− 2 r6

ij

  • and, for example,

∂Uij ∂xi = −12(xi − xj) r14

ij

+ 12(xi − xj) r8

ij

where rij =

  • (xi − xj)2 + (yi − yj)2 + (zi − zj)2
slide-18
SLIDE 18

Three atoms

Left: initial guess (0, −5, 0)(0, 0, 0)(0, 5, 0) (not global minimum) Right: initial guess (0, 0, 0)(0, 0, 2)(1, 1, 1), comparison of fminunc and our implementation of BFGS

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1 0.1 1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.5 1.6 1.4 1.2 1 0.8 0.6 0.4

slide-19
SLIDE 19

Four atoms

Left: initial guess (0, −5, 0)(0, 0, 0)(0, 5, 0)(0, 10, 0) (not global min.) Right: initial guess (0, 0, 0)(0, 0, 2)(1, 1, 1)(2, 3, 4), comparison of fminunc and our implementation of BFGS

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1 1 1.5 2 2.5 3 3.5 4 4.5 0.6 0.8 1 1.2 2 1.4 1.6 1.8 2 2.2 1 1.5 1 0.5

  • 1
  • 0.5
slide-20
SLIDE 20

Six atoms

  • 0.6
  • 0.4
  • 0.2

0.5 0.2 0.4 0.5 0.6

  • 0.5
  • 0.5

(We got the same result using fminunc in Matlab.)