21
IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation http://www.sandia.gov/ dmgay [email protected] +1-505-284-1456 Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. Released as SAND2008-7541C. 1

IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

IMA MINLP Workshop, Nov. 2008

Using Expression Graphs inOptimization Algorithms

David M. Gay

Optimization and Uncertainty Estimation

http://www.sandia.gov/∼dmgay

[email protected]

+1-505-284-1456

Sandia is a multiprogram laboratory operated by Sandia Corporation,

a Lockheed Martin Company, for the United States Department of Energy’s

National Nuclear Security Administration under contract DE-AC04-94AL85000.

Released as SAND2008-7541C.

1

Page 2: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Outline

• The Problem

•• Some algorithm ingredients

• Expression graphs

◦ various forms

◦◦ derivative computations

◦ bound computations

◦ convexity detection

• Summary and pointers2

Page 3: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

The Problem

Seek x∗ to minimize f(x)

s.t. ℓ ≤ c(x) ≤ u

f : Rn → R

c : Rn → Rm

with f, c smooth; x ∈ D compact.

Settle for x̂ with f(x̂) − f(x∗) < ǫ.

For MINLP, n = p + q, D = Rp ×Zq.3

Page 4: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Branch & Bound, Reduce, Cut...

Algorithm ingredients... in parallel,

• Local search for good incumbents.

•• Compute bounds (e.g., relax).

• Compute, refine convex outer approx’s.

• Test for sufficiency, exclusion.

• Branch — split domain as needed.

• Reduce domain (using convexity).

• Presolve, updated with new info.4

Page 5: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Expression Graphs

Good for

• Function evaluations (doing, simplifying)

•• Derivative computations (AD)

• Bound computations, e.g.,

◦ interval

◦◦ Taylor series

◦ slope

• Convexity detection.5

Page 6: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Expression Graph for f = (x − 3)2 + (y + 4)2

f

+

()2

3V0

()2

+

4V1

6

Page 7: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Expression Graph Representations

Possible representations include

• graph = list-style data structures

•• list of tuples

• Polish prefix or postfix

• XML

Convert from one to another in linear time.

AMPL/solver interface lib. (ASL) uses Polish

prefix for external rep., graph for internal.7

Page 8: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

ASL Graph Walks

Graph walks in ASL currently include...

• conversion to internal form with AD setup

•• detection of quadratic forms

• detection of partially-separable structure

for efficient Hessian computations

• operator adjustments (for evaluations after

some of the above)

8

Page 9: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Example: ASL Multiplication Operator

Do multiplication and save partials for AD:

double

f_OPMULT(expr *e A_ASL)

{

expr *e1 = e->L.e;

expr *e2 = e->R.e;

return (e->dR = (*e1->op)(e1))

* (e->dL = (*e2->op)(e2));

}

9

Page 10: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Forward AD via Graph Walk

Computing xj = oj(xk, xℓ) (with j > n, k < j,

ℓ < j)

=⇒∂xj

∂xi

=∂oj

xk

xk

xi

+∂oj

xℓ

xℓ

xi

for 1 ≤ i ≤ n.

Similary recur higher derivatives by graph

walk doing forward AD.

10

Page 11: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Partially Separable Structure

f(x) =∑

i

fi(Aix))

=⇒ ∇2f(x) =∑

i

ATi ∇

2fiAi

Graph walk finds “group” partial separability:

f(x) =∑

i

θi(

ri∑

j

fij(Aijx))

11

Page 12: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Use of Partially Separable Structure

Good for efficiently computing explicit

Hessians and Hessian-vector products.

In ASL, partials are stored during function

evaluations (graph walks) for use in

Hessian-vector computations by a mix of

forward and backward AD.

12

Page 13: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

More Computations by Graph Walks

Walks similar to forward AD can compute

• interval bounds (by interval arithmetic);

•• propagate Taylor series;

• compute interval slopes.

“Slopes” are divided differences:

f [x, z] =

{

(f(x) − f(z)) /(x − z) if x 6= z

f ′(x) if x = z

13

Page 14: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Slope Arithmetic

Slope arithmetic, analogous to forward AD

[Krawczyk & Neumaier, 1985]:

f = · · · ⇒ f [x, z] = · · ·

c ∈ R 0

x 1

g ± h g[x, z] ± h[x, z]

g · h g[x, z] · h(x) + g(z) · h[x, z]

g/h (g[x, z] − h[x, z] · f(z))/h(x)

14

Page 15: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Interval Slopes

Interval X, interval evaluation of f [X, z]

⇒ f [x, z] ∈ f [X, z] ∀ x ∈ X.

f(x) = f(z) + f [x, z](x − z)

⇒ f(X) ⊆ Fz(X).= f(z) + f [X, z](X − z).

Quadratic approximation:

width(Fz(X))−width(f(X)) ≤ O(width(X)2).

15

Page 16: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Extension to n Variables

Interval slope computations extend readily to

n variables and can be done by walk of

expression graph.

work(f [X, z]) = O(n · work(f(x)).

16

Page 17: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Second-Order Slopes

Second-order slopes:

• Not unique.

•• f(x) =

f(z)+f ′(z)(x−z)+(x−z)T f [x, z, z](x−z).

• (x − z)T f [x, z, z] = f [x, z] − f ′(z).

• For x ∈ Rn,

work(f [X, z, z]) = O(n2 · work(f(x))).

17

Page 18: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Convexity

Can specify some problems in a way that

guarantees convexity, e.g.,

• CVXMOD [Boyd & Mattingley, 2006]

•• Joesph Young thesis (Rice, 2008)

but in general have convexity only in some

regions.

18

Page 19: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Convexity Detection

Can walk expression graphs to detect

condition sufficient for convexity in a region.

• [Nenov, Fylstra, Kolev, 2004], in Frontline

spreadsheet software

•• Dr. AMPL [Fourer, et al., 2008]

19

Page 20: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Summary

With walks of expression graphs we can

• Evaluate expressions

•• Detect problem structure:

◦ convexity, partially separable structure.

• Compute derivatives

• Compute bounds

• Presolve (linear, nonlinear)

• Optimize such computations.20

Page 21: IMA MINLP Workshop, Nov. 2008 Using Expression Graphs in ... · Optimization Algorithms David M. Gay Optimization and Uncertainty Estimation ... Can walk expression graphs to detect

Pointers

◦ Neumaier global optimization page/pointers:

http:

//www.mat.univie.ac.at/∼neum/glopt.html

◦◦ Coconut (C++ software): http:

//www.mat.univie.ac.at/∼neum/glopt/coconut

◦ AMPL web site (e.g., some papers):

http://www.ampl.com

◦ My papers: pointers in

http://www.cs.sandia.gov/∼dmgay

21