27
Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr´ eal Parallel Algorithms for Black-Box Optimization ebastien Le Digabel Charles Audet John Dennis 2010–02–24 PP10: black-box optimization 1/18

Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

PP10

Ecole Polytechnique de Montreal

Parallel Algorithms for Black-BoxOptimization

Sebastien Le DigabelCharles AudetJohn Dennis

2010–02–24

PP10: black-box optimization 1/18

Page 2: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Presentation outline

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 2/18

Page 3: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Presentation outline

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 2/18

Page 4: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Presentation outline

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 2/18

Page 5: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Presentation outline

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 2/18

Page 6: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Presentation outline

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 2/18

Page 7: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 3/18

Page 8: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-box optimization problems

We consider the nonsmooth optimization problem:

Minimize f(x)subject to x ∈ Ω,

where evaluation of the functions are usually the result of acomputer code (a black-box).

PP10: black-box optimization 4/18

Page 9: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-boxes as illustrated by J. Simonis [ISMP 2009]

PP10: black-box optimization 5/18

Page 10: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 6/18

Page 11: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

MADS and direct search principle

Algorithm

f(black box)

x1,x2,... f(x1),f(x2),...

x0 x*

PP10: black-box optimization 7/18

Page 12: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Mesh Adaptive Direct Search (MADS)

I Audet and Dennis [SIOPT, 2006]

I Iterative algorithm that evaluates the black-box functions atsome trial points.

I Trial points are generated on a spatial discretization: themesh.

I One iteration consists in generating a list of trial pointsconstructed from poll directions. These directions grow dense.

I At the end of the iteration, the mesh size is reduced if no newiterate is found.

I Algorithm is backed by a convergence analysis based on theClarke Calculus for nonsmooth functions.

PP10: black-box optimization 8/18

Page 13: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Poll illustration (successive fails and mesh shrink)

∆k = 1

rxk

rp1

rp2

r

p3

trial points=p1, p2, p3

PP10: black-box optimization 9/18

Page 14: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Poll illustration (successive fails and mesh shrink)

∆k = 1

rxk

rp1

rp2

r

p3

trial points=p1, p2, p3

∆k+1 = 1/4

rxkr

p4 rp5

r

p6

= p4, p5, p6

PP10: black-box optimization 9/18

Page 15: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Poll illustration (successive fails and mesh shrink)

∆k = 1

rxk

rp1

rp2

r

p3

trial points=p1, p2, p3

∆k+1 = 1/4

rxkr

p4 rp5

r

p6

= p4, p5, p6

∆k+2 = 1/16

rxk

rp7

r p8rSSp9

= p7, p8, p9

PP10: black-box optimization 9/18

Page 16: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 10/18

Page 17: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

pMADS

I Idea: simply evaluate the trial points in parallel.I Synchronous version:

I The iteration is ended only when all the evaluations in progressare terminated.

I Processes can be idle between two evaluations.I The algorithm is identical to the scalar version.

I Asynchronous version:I If a new best point is found, the iteration is terminated even if

there are evaluations in progress. New trial points are thengenerated.

I Processes never wait between two evaluations.I ’Old’ evaluations are considered when they are finished.I The algorithm is slightly reorganized.

PP10: black-box optimization 11/18

Page 18: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

PSD-MADS

I PSD: Parallel Space Decomposition.

I Idea: each process executes a MADS algorithm on asubproblem and has responsibility of small groups of variables.

I Based on the block-Jacobi method [Bertsekas, Tsitsiklis 1989]and on the Parallel Variable Distribution [Ferris, Mangasarian1994].

I Objective: solve larger problems (' 50− 500 instead of' 10− 20).

I Asynchronous method.

I Convergence analysis.

I Audet, Dennis, Le Digabel [SIOPT 2008].

PP10: black-box optimization 12/18

Page 19: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

PSD-MADS: processesI Master

I receives all slave’s signalsI updates current solution and meshI decides subproblem variablesI sends subproblem data

I SlavesI receive subproblem dataI optimize subproblemI send optimization data

I Cache serverI memorizes all black-box evaluationsI allows the “cache search” in slave processes

Master+ Cache Server

pollstern variables1 direction

subproblem data

optimiza

tion result

slave 1ns variables

2ns directions

slave 2ns variables

2ns directions

slave 3ns variables

2ns directions

slave 4ns variables

2ns directions

slave 5ns variables

2ns directions

PP10: black-box optimization 13/18

Page 20: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

! P =1x0=x*=[10 10 10 10]f(x0)=10

Master

time

PP10: black-box optimization 14/18

Page 21: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

! P =1x0=x*=[10 10 10 10]f(x0)=10

Slave s2

Pollster

Slave s3

!0=1 f(x0)=10

f(x0)=10

! min=1 N2=3,4

!0=1! min=1

f(x0)=10N3=2,3

f(y1)=14

! P =1

stop (1 it.) it. fail

!=1

time

Master

x0=[ 10 10 10 10 ]

]y1=[ 11 10 10 10

x0=[ 10 10 10 10 ]

10 10 ]y1=[ 11 10

x0=[ 10 10 10 10 ]

10 10y1=[ 11 10 ]

PP10: black-box optimization 14/18

Page 22: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Master!P =1x0=x*=[10 10 10 10]f(x0)=10

Pollster

Slave s3

!0=1 f(x0)=10

f(x0)=10

!min=1 N2=3,4

!0=1!min=1

f(x0)=10N3=2,3

f(y1)=14

!P =1

f(x0)=10!=1

stop (1 it.) it. fail

f(y1)=12

x*=[10 10 9 10]f(x*)=9

Slave s2

f(y1)=16

it. success

f(y2)=11

time

!=1/4

]

y3=[

10 ]

]y1=[11 10 10 10

x0=[10 10 10 10 ] x0=[10 10 10 10 ]

y1=[10 10 9.75 10 ]

x0=[10 1010 10]

10 10 ]11 10y1=[ 10 10 ]y2=[ 9 10

10 10

10

10 11y2=[10 10 ]11 10y1=[

x0=[1010 10

y3=[

f(y2)=9

PP10: black-box optimization 14/18

Page 23: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

!P =1

!min=1

!min=1

!P =1x0=x*=[10 10 10 10]f(x0)=10

Slave s2

Pollster

Slave s3

!0=1 f(x0)=10

f(x0)=10

min=1 N2=3,4

!0=1!min=1

f(x0)=10N3=2,3

f(y1)=14

f(x0)=10!=1

stop (1 it.) it. fail

f(y1)=12

x*=[10 10 9 10]f(x*)=9

f(y2)=9

f(y1)=16 f(y2)=11

it. success

!P =1

!=1/4 !=1 f(x0)=9

f(y3)=10

stop (3 ev.)

stop (3 ev.)

!0=1

!0=1

!

stop (1 it.) it. fail

N2=1,3

Master

time

N3=2,410

]

f(y3)=15

9

10 10 10 10 ] ]10 10 10 10 ]

10 10 10 10x0=[ ]

10 10 9 10

10 10 ]11 10 10 10 ]9 10 10 10 ]10 11y1=[ y2=[ y3=[

10

y1=[

x0=[

10 9 9 10

10 10

11 10 10 10

10

x0=[

x0=[10 10 9 10 ]

x0=[ x0=[

10 ]10y1=[ 11 10 10 ]10y2=[ 10 11 10 ]10y3=[ 9 10

10 9y1=[11 10 ]

x0=[10 ]

y1=[ ]10 10 9.75 10y1=[]

10 ]910y1=[ 11

PP10: black-box optimization 14/18

Page 24: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 15/18

Page 25: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Free C++ codes (1/2)

I NOMAD: Nonsmooth Optimization with MADS:I Polytechnique Montreal.I MPI.I MADS, pMADS and PSD-MADS (March).I http://www.gerad.ca/nomad.

I APPSPACK: Asynchronous Parallel Pattern Search:I Sandia National Laboratories.I MPI.I Generalized Pattern Search.I http://software.sandia.gov/appspack.

PP10: black-box optimization 16/18

Page 26: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Free C++ codes (2/2)

I HOPSPACK: Hybrid Optimization Parallel Search PACKage:I Sandia National Laboratories.I MPI and multithreading.I Multiple solvers.I http://software.sandia.gov/trac/hopspack.

I DAKOTA: Design Analysis Kit for Optimization and TerascaleApplications:

I Sandia National Laboratories.I MPI.I Multiple solvers.I http://www.cs.sandia.gov/DAKOTA.

PP10: black-box optimization 17/18

Page 27: Parallel Algorithms for Black-Box Optimization...Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion PP10 Ecole Polytechnique de Montr eal

Black-box optimization problems The MADS algorithm Parallel versions of MADS Codes Discussion

Black-box optimization problems

The MADS algorithm

Parallel versions of MADS

Codes

Discussion

PP10: black-box optimization 18/18