Recent Advances in EAGO: Global and Robust Optimization in ......4/21 The Julia Language I...

Post on 02-Oct-2020

0 views 0 download

transcript

Recent Advances in EAGO: Globaland Robust Optimization in Julia

Matthew Wilhelm, Matthew D. Stuber

2018 AIChE Annual MeetingPittsburgh, PA, October 28th

2/21

Outline

Introduction to EAGOMotivationEAGO OptimizationEAGO Toolkit

Algorithm DevelopmentMain AlgorithmRelaxationsDomain Reduction

3/21

Motivation

I We often model systems in terms of simulations.I The resulting optimization problems are complex (nonsmooth, nonconvex).I In development, we want to do things other than optimize.

SimulationA large literature has developedaround optimizing simulations.Can we provide enough flexibilityto address these specializedforms?

No Barrier to Entry

Can we make a fast global solverthat works like fmincon butprovides strong guarantees?

4/21

The Julia Language

I Speed of C/FortranI Distributed Computing &

ParallelismI Extensive Compile Time

Optimization

1 Bezanson, J, et al. SIAM Review, 59, (2017), p65-98

5/21

EAGO Optimization

I Original Scope: A general script-basedsolver that constructs McCormick relaxationsby method overloading.

I Issue: "General" overloading approachesaren’t adequately general.

I Issue: Introducing auxiliary variables,rearranging expressions, and presolving canbe quite beneficial.

6/21

Toolkit

7/21

Interface - ScriptConsider the kinetic parameter estimation problem given in [1]. Parameters are desiredthat minimize the sum-square error.

minp∈P

n∑i=1

((x

iA +

2

21xiB +

2

21xiD)− I

di

)2

Decision parameters are the reaction rate constantsp = (k2f , k3f , k4) ∈ [100, 1200]× [100, 1200]× [0.001, 40]

The explicit Euler discretization of the kinetic mechanism is given by:

xi+1A = x

iA + ∆t

(k1x

iY x

iZ − CO2(k2f + k3f )x

iA +

k2f

K2

xiD +

k3f

K3

xiB − k5(x

iA)

2)

xi+1B = x

iB + ∆t

(k3fCO2x

iA −

(k3f

K3

+ k4

)xiB

)xi+1D = x

iD + ∆t

(k2fCO2x

iA −

k2f

K2

xiD

)xi+1Y = x

iY + ∆t

(−k1sx

iY x

iZ

)xi+1Z = x

iZ + ∆t

(k1x

iY x

iZ

)

2 Mitsos A. et al. SIAM Journal on Optimization, SIAM, 20, (2009), 573-601

8/21

Interface - Script

I The global optimal solution, within a5 difference between lower and upperbounds, is found within 3 seconds.

I Times comparable to C++implementation in literature.

9/21

Interface - JuMP

I Consider the flooded bedbioreactor processoptimization problem in [3].

I xj input variables. Theweight between variables jand hidden layer node i areWij and the weight for thehidden node i’s output Di.

maxx∈X

B2 +

3∑i=1

2Di

1 + exp(−2Yi)

Yi = Bi +

3∑i=1

8∑j=1

Wijxj

x1

x2

x8

y1

y2

y3

W11

W38

W18

D1

D2

D3

Input Hidden

Layer

Output

Layer

3 Cheema, J. et al. Biotechnology progress 18(6), 2002 p1356-1365.4 Schweidtmann, AM., Mitsos Journal of Optimization Theory and Applications, 2018, p1-24.

10/21

Interface - JuMP

I EAGO provides native support forthe JuMP AML [4].

I JuMP provides automaticdifferentiation utilities andexpression input via syntacticmacros.

I Similiar complexity to Pyomo [5].I Example is solved in under less than

one second.

4 Dunning, I. et al. SIAM Review, 59, 2017, 295-3205 Hart, W. et al. Mathematical Programming Computation, 3, 2011, 219

11/21

Outline

Introduction to EAGOMotivationEAGO OptimizationEAGO Toolkit

Algorithm DevelopmentMain AlgorithmRelaxationsDomain Reduction

12/21

Solver Routine

I EAGO now supports a Branch-and-Cut [6] framework.I Individual subroutines can be set using a simple API.

#Sets p r ep ro c e s s i ng ru l e o f s to func t i on f@SetPreprocess ingRule ( s , f )

6 Rustem, B. et al. Optimization Methods and Software, 2001, 16, 21-47

13/21

Relaxations - Framework

New framework for organizing relaxationsI All relaxations now generated from tape and parsed into expression graph via

source-code transformation.I Relaxations are registered with properties

I DifferentiableI MILP, etc.

I Schemes contain rules for composing relaxations using directed acyclic graphI FullAVM: Generate relaxation at each node.I SetValue: Propagate from user input.I User-defined schemes supported.

14/21

Relaxations - Currently Supported

I Outer-Approximations(LP/MIP) [8]I αBB-Type Relaxations [9]I Interval Arithmetic [7]I Convex/Concave Envelopes

1 1.5 2 2.5 3 3.5 4

x

-20

-15

-10

-5

0

5

10

15Relaxations of f(x) = x(x-5)sin(x)

Convex Relaxation

Concave Relaxation

Function

Lower Interval Bound

Upper Interval Bound

7 Moore, R. Methods and Application of Interval Analysis, SIAM, 1979

8 Tawarmalani, M. et al. Mathematical Programming, 99, 2004, 563-591

9 Adjiman, C.S et al. Computers & Chemical Engineering, 20, 1996, 419-424

15/21

Relaxations - GPU Programming

I Source-code transformation approach builds functions that additional Juliacode can manipulate.

I Integrates with Cassette.jl, Intel’s Parallel Accelerator or Cuda (CudaNative.jl[10]) utilities to generate relaxation functions into code that can be run on aGPU.

10 Besard, T. et al. IEEE Transactions on Parallel and Distributed Systems, 2018

16/21

Domain Reduction - OBBT

I Optimization-based boundtightening with filtering andgreedy-ordering [11].

I Additional algorithms for: PoorMan’s LP/NLP [12],Newton/Krawczyk methods [13], andmore.

I Integrates with new relaxationframework.

minx,y

x− y

y = 0.1x3 − 1.1x

−4 ≤ x ≤ 4

−2 ≤ y ≤ 2

11 Gleixner, A. et al. J. Global Optim, 67, 2017, 731-757

12 Puranik, Y. et al. Constraints, 22, 2017, 338-376

13 Stuber, M. et al. Optimization Methods & Software, 30, 2015, 424-460

17/21

Domain Reduction - Constraint Walking

I Wengert tape storage forstructures

I Adaptive methods orfunction built from DAG forconstraint propagation (CP)[14]

I Supports for validatedinterval arithmetic CP [15]

14 Vu, X. et al. J. Global Optim, 45, 2008, 499

15 Moore, R. et al. Intro to Interval Analysis, SIAM 2009, 110

18/21

Future Work

I JuMP extension for DAE models: Enabled by new MathOptInterface Bridgefeature.

I Automatic recognition of implicit functions in explicit forms.

I Incorporation of fixed-point routines for relaxing implicitly-defined functionsfor forming relaxations and domain reduction [13].

13 Stuber, M. et al. Optimization Methods & Software, 30, 2015, 424-460

19/21

Acknowledgements

I Kamil Khan for the discussion onnonsmooth AD methods anddifferentiable McCormickrelaxations

I Huiyi Cao for feedback on usingEAGO

I University of Connecticut forproviding funding

I The other members of the PSORgroup at UCONN

Prof. Matthew Stuber Chenyu Wang William Hale

Connor Dion Jacob Chicano Abiha Jafri

20/21

Shameless Promotion...

Other EAGO Talks at AIChE

21/21

Fin...

I The EAGO suite is a registered Julia 1.0 package and can be installed asfollows:

Pkg . add ( "EAGO" )

I Development versions, examples, and documentation may be accessed from theProcessing System and Engineering Lab’s Github website:

https://github.com/PSORLab/EAGO.jl

Questions?