Dr. Ampl A Meta Solver for Optimization

Dominique Orban Bob Fourer École Polytechnique de Montréal Northwestern University

[email protected] [email protected]

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 1/36 ■ Current software challenges ■ The NEOS Server ■ The AMPL modeling language ■ The DrAmpl meta solver ■ Numerical results ■ Future directions of research

Outline

● Outline ■ Numerical Optimization ● Numerical Optimization

Software

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 ■ The NEOS Server ■ The AMPL modeling language ■ The DrAmpl meta solver ■ Numerical results ■ Future directions of research

Outline

● Outline ■ Numerical Optimization ● Numerical Optimization ■ Software Current software challenges

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 ■ The AMPL modeling language ■ The DrAmpl meta solver ■ Numerical results ■ Future directions of research

Outline

● Outline ■ Numerical Optimization ● Numerical Optimization ■ Software Current software challenges

Model analysis ■ The NEOS Server

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 ■ The DrAmpl meta solver ■ Numerical results ■ Future directions of research

Outline

● Outline ■ Numerical Optimization ● Numerical Optimization ■ Software Current software challenges

Model analysis ■ The NEOS Server The DAG ■ The AMPL modeling language Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 ■ Numerical results ■ Future directions of research

Outline

● Outline ■ Numerical Optimization ● Numerical Optimization ■ Software Current software challenges

Model analysis ■ The NEOS Server The DAG ■ The AMPL modeling language Bounds ■ The DrAmpl meta solver Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 ■ Future directions of research

Outline

● Outline ■ Numerical Optimization ● Numerical Optimization ■ Software Current software challenges

Model analysis ■ The NEOS Server The DAG ■ The AMPL modeling language Bounds ■ The DrAmpl meta solver Convexity ■ Numerical results Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 Outline

● Outline ■ Numerical Optimization ● Numerical Optimization ■ Software Current software challenges

Model analysis ■ The NEOS Server The DAG ■ The AMPL modeling language Bounds ■ The DrAmpl meta solver Convexity ■ Numerical results Classification ■ Preprocessing Future directions of research

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 2/36 Numerical Optimization

● Outline A general problem, representable in a modeling language may ● Numerical Optimization be written as Software

Model analysis

The DAG minimize f(x) objective Bounds L U Convexity subject to c(x) c general constraints L ≤ ≤U Classification x x x explicit bounds ≤ ≤ Preprocessing

Solver choice n n m 2 Final notes where f : R R, c : R R . → → ∈ C

Bounds may be equal or infinite, some ci(x) may be linear.

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 3/36 Current software challenges

● Outline ■ Myriad of solvers available for most classes of optimization ● Numerical Optimization problems Software ● Current software challenges ■ ● Consequences Competing solvers designed to tackle the same class of ● More software challenges ● The NEOS Optimization Server problems, with varying subtelties ● The AMPL modeling language ■ ● Some typical AMPL commands Competing general-purpose solvers ● DrAmpl is a meta solver ■ Model analysis Competing free and commercial codes ■ The DAG Competing modeling languages and environments Bounds ■ Often, solvers have limited compatibility with modeling Convexity environments or interfaces do not exist

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 4/36 Consequences

● Outline ■ Much confusion arising from so much choice ● Numerical Optimization ■ Software Much room for remote or local software offering guidance ● Current software challenges ● Consequences and bridging the abyssal gap between problem classes and ● More software challenges ● The NEOS Optimization Server solvers ● The AMPL modeling language ■ ● Some typical AMPL commands Much need for tools to help bridge this gap, by compiling lists ● DrAmpl is a meta solver of available software, classifying the possible problem Model analysis instances, linking them together The DAG ■ Bounds Much need for software able to associate a given problem instance with a general class and a general class with a few Convexity solvers. Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 5/36 More software challenges

● Outline ■ Modeling languages are often commercial ● Numerical Optimization ■ Software Optimization software is often commercial ● Current software challenges ● Consequences ■ Software may be problematic to install locally ● More software challenges ● The NEOS Optimization Server ■ ● The AMPL modeling language Need to learn how to use the software ● Some typical AMPL commands ■ ● DrAmpl is a meta solver Trial versions are often available with various limitations

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 6/36 The NEOS Optimization Server

● Outline ■ Remote optimization software repository ● Numerical Optimization ■ Software Problems modelled locally, solved remotely ● Current software challenges ● Consequences ■ Solution may be returned for later local examination ● More software challenges ● The NEOS Optimization Server ■ ● The AMPL modeling language Accepts problems in several modeling languages; AMPL, ● Some typical AMPL commands ● DrAmpl is a meta solver GAMS, SIF, SeDuMi, Sparse SDPA, C and ■ Model analysis 43 solvers for 12 classes of optimization problems The DAG ■ Optimization tree... last updated in March 1996. Bounds ■ 2723 submissions from May 2–May 9, up to 5430/week Convexity ■ Alleviates the need to install some solvers locally Classification ■ Preprocessing Allows to test solvers before purchasing or downloading ■ Solver choice Free of charge Final notes ■ E-mail, Web, TCP/IP submission clients

How to best make use of all those resources?

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 7/36 The AMPL modeling language

● Outline ■ Fourer, Gay, Kernighan book ● Numerical Optimization ■ Software Flexible and powerful language to model linear, nonlinear, ● Current software challenges ● Consequences mixed-integer and constraint programming ● More software challenges ● The NEOS Optimization Server ■ Provides some level of preprocessing ● The AMPL modeling language ● Some typical AMPL commands ■ ● DrAmpl is a meta solver Provides automatic differentiation ■ Model analysis Size-limited student version available free of charge The DAG ■ Source code of AMPL library available on NetLib to facilitate Bounds interfacing with solvers and exploring the AMPL data Convexity structures

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 8/36 Some typical AMPL commands

● Outline Select a model, a solver and solve. ● Numerical Optimization

Software ● Current software challenges ● Consequences : model mymodel.mod; ● More software challenges ● The NEOS Optimization Server ampl: data mymodel.dat; ● The AMPL modeling language ● Some typical AMPL commands ampl: option solver lancelot; ● DrAmpl is a meta solver ampl: solve; Model analysis

The DAG Bounds What is a solver to AMPL? Any program which can receive a Convexity model, possibly manipulate it and return some result. Classification

Preprocessing

Solver choice Make a distinction between a solver and a meta solver.

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 9/36 DrAmpl is a meta solver

● Outline The purposes of DrAmpl are to ● Numerical Optimization

Software ● Current software challenges ● Consequences ■ ● More software challenges Analyze a given model ● The NEOS Optimization Server ■ ● The AMPL modeling language Provide bounds on expressions appearing in the model ● Some typical AMPL commands ● DrAmpl is a meta solver ■ Assess convexity of expressions appearing in the model Model analysis ■ Classify the model The DAG ■ Provide some level of "nonlinear preprocessing" Bounds ■ Convexity Assist in the choice of an appropriate solver

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 10/36 Analysis of a model

● Outline Problem statistics ● Numerical Optimization ------Software # Objectives: [1 ] Model analysis ● Analysis of a model # Nonlinear objectives: 0 ● Analysis of a model ● Analysis of a model # Linear objectives: 1 ● Analysis of a model The DAG Sparsity statistics Bounds ------Convexity # nnz in Jacobian: 4000 Classification # nnz in obj. gradients: 800 Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 11/36 Analysis of a model

● Outline # Constraints: [1603 ] ● Numerical Optimization # Range: 801 Software # Equality: 0 Model analysis ● Analysis of a model # Inequality: 802 ● Analysis of a model ● Analysis of a model # Spurious: 0 ● Analysis of a model ------The DAG # Nonlinear general: 801 Bounds # Quadratic: 0 Convexity # Linear general: 802 Classification # Nonlinear network: 0 Preprocessing # Linear network: 0 Solver choice # Complementarity cond: [0 ] Final notes # Linear: 0 # Nonlinear: 0 Provides initial point: Yes Provides initial dual point: Yes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 12/36 Analysis of a model

● Outline Variables statistics ● Numerical Optimization ------Software # Variables: [800 ] Model analysis ● Analysis of a model # Continuous: 800 ● Analysis of a model ● Analysis of a model # Binary: 0 ● Analysis of a model # Other integer: 0 The DAG # Variables Bounds bounded above only: 0 Convexity | below only: 0 Classification |_ above and below: 800 Preprocessing fixed: 0 Solver choice free : 0 Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 13/36 Analysis of a model

● Outline Nonlinearity statistics ● Numerical Optimization ------Software # Variables appearing nonlinearly: [800 ] Model analysis ● Analysis of a model # in objectives only: 0 ● Analysis of a model ● Analysis of a model # in constraints only: 800 ● Analysis of a model # in both: 0 The DAG # Integer vars appearing nonlinearly: [0 ] Bounds # in objectives only: 0 Convexity # in constraints only: 0 Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 14/36 Internals: The DAG

● Outline AMPL stores linear expressions in linked lists. Nonlinear ● Numerical Optimization expressions are stored in a Directed Acyclic Graph for Software evaluation and automatic differentiation. Model analysis

The DAG ● Internals: The DAG ● Walking the DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 15/36 Internals: The DAG

● Outline AMPL stores linear expressions in linked lists. Nonlinear ● Numerical Optimization expressions are stored in a Directed Acyclic Graph for Software evaluation and automatic differentiation. Model analysis

The DAG 2 3 * ˆ 2 x[1] ˆ 3 + 1 x[2] ● Internals: The DAG x1(1 + x2) ● Walking the DAG

Bounds o2 #* * Convexity o5 #ˆ

Classification v0 #x[1]

Preprocessing n2 ^ ^

Solver choice o5 #ˆ

Final notes o0 # + n1 2 x[1] 3 + v1 #x[2] n3 1 x[2]

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 15/36 Internals: The DAG

● Outline AMPL stores linear expressions in linked lists. Nonlinear ● Numerical Optimization expressions are stored in a Directed Acyclic Graph for Software evaluation and automatic differentiation. Model analysis

The DAG ● Internals: The DAG AMPL creates a DAG per objective and constraint function. ● Walking the DAG Bounds The recursive nature of this data structure allows us to infer Convexity useful information on nonlinear expressions. Classification L U Preprocessing The key ingredient: x x x . ≤ ≤ Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 15/36 Walking the DAG

● Outline By recursively exploring each node of the DAG, we are able to ● Numerical Optimization infer bounds on nonlinear expressions and assess their Software convexity. A prototype function looks like Model analysis

The DAG int OperatorProcessor( *node ) { ● Internals: The DAG ● Walking the DAG

Bounds switch( node->op ) { /* Represents operator */

Convexity case leaf: /* Variable or constant */ Classification return appropriate_value;

Preprocessing Solver choice case other; Final notes OperatorProcessor( node->left ); /* left child */ OperatorProcessor( node->right ); /* right child */ process( node->op ); } }

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 16/36 ■ 2 1 + x 4 − ≤ 2 ≤ ■ 8 (1 + x )3 64 − ≤ 2 ≤ ■ 32 x2(1 + x )3 256. − ≤ 1 2 ≤

Bounds on expressions

● Outline Use interval arithmetic and the prototype function to propagate ● Numerical Optimization bounds. Software

Model analysis 2 3 In the example x1(1 + x2) , assume we have the specified The DAG bounds 1 x1 2 and 3 x2 3. Bounds ≤ ≤ − ≤ ≤ ● Bounds on expressions * ● Simple sample AMPL example ■ 2 ● Objective bounds in COPS 1 x1 4 ● Redundant constraints ≤ ≤ ● Fragment of camshape.mod

Convexity ^ ^

Classification

Preprocessing

Solver choice 2 x[1] 3 +

Final notes

1 x[2] Bounds on the variables are crucial!

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36 ■ 8 (1 + x )3 64 − ≤ 2 ≤ ■ 32 x2(1 + x )3 256. − ≤ 1 2 ≤

Bounds on expressions

● Outline Use interval arithmetic and the prototype function to propagate ● Numerical Optimization bounds. Software

Model analysis 2 3 In the example x1(1 + x2) , assume we have the specified The DAG bounds 1 x1 2 and 3 x2 3. Bounds ≤ ≤ − ≤ ≤ ● Bounds on expressions * ● Simple sample AMPL example ■ 2 ● Objective bounds in COPS 1 x1 4 ● Redundant constraints ≤ ≤ ■ ● Fragment of camshape.mod 2 1 + x 4 − ≤ 2 ≤ Convexity ^ ^

Classification

Preprocessing

Solver choice 2 x[1] 3 +

Final notes

1 x[2] Bounds on the variables are crucial!

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36 ■ 32 x2(1 + x )3 256. − ≤ 1 2 ≤

Bounds on expressions

● Outline Use interval arithmetic and the prototype function to propagate ● Numerical Optimization bounds. Software

Model analysis 2 3 In the example x1(1 + x2) , assume we have the specified The DAG bounds 1 x1 2 and 3 x2 3. Bounds ≤ ≤ − ≤ ≤ ● Bounds on expressions * ● Simple sample AMPL example ■ 2 ● Objective bounds in COPS 1 x1 4 ● Redundant constraints ≤ ≤ ■ ● Fragment of camshape.mod 2 1 + x 4 − ≤ 2 ≤ Convexity ■ 3 ^ ^ 8 (1 + x2) 64 Classification − ≤ ≤

Preprocessing

Solver choice 2 x[1] 3 +

Final notes

1 x[2] Bounds on the variables are crucial!

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36 Bounds on expressions

● Outline Use interval arithmetic and the prototype function to propagate ● Numerical Optimization bounds. Software

Model analysis 2 3 In the example x1(1 + x2) , assume we have the specified The DAG bounds 1 x1 2 and 3 x2 3. Bounds ≤ ≤ − ≤ ≤ ● Bounds on expressions * ● Simple sample AMPL example ■ 2 ● Objective bounds in COPS 1 x1 4 ● Redundant constraints ≤ ≤ ■ ● Fragment of camshape.mod 2 1 + x2 4 − ≤ ≤3 Convexity ■ 8 (1 + x ) 64 ^ ^ − ≤ 2 ≤ Classification ■ 2 3 32 x1(1 + x2) 256. Preprocessing − ≤ ≤

Solver choice 2 x[1] 3 +

Final notes

1 x[2] Bounds on the variables are crucial!

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36 Simple sample AMPL example

● Outline model; ● Numerical Optimization var x >= -6, <= 8; Software minimize objective: Model analysis exp(sin(1/x)); The DAG

Bounds ● Bounds on expressions DrAmpl deduces the bounds ● Simple sample AMPL example ● Objective bounds in COPS ● Redundant constraints ● Fragment of camshape.mod sin(1/x) Convexity 0.36789 e 2.718282 ≤ ≤ Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 18/36 Objective bounds in COPS

∗ ● Outline f = lowest value given in the COPS report ● Numerical Optimization f = inferred lower bound Software inf See www.mcs.anl.gov/˜more/cops Model analysis

The DAG Problem Parameter f ∗ inf f Bounds ● Bounds on expressions ● Simple sample AMPL example Bearing ny = 50 -1.54824e-1 ● Objective bounds in COPS −∞ ● Redundant constraints Camshape n = 800 4.23739e+0 3.974 ● Fragment of camshape.mod Catmix nh = 800 -4.80559e-2 Convexity −∞ Classification Chain nh = 200 5.06891e+0 −∞ Preprocessing Channel nh = 200 1.00000e+0 1 Solver choice Elec np = 100 4.44835e+3 0 Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 19/36 Objective bounds in COPS

∗ ● Outline f = lowest value given in the COPS report ● Numerical Optimization f = inferred lower bound Software inf See www.mcs.anl.gov/˜more/cops Model analysis

The DAG Problem Parameter f ∗ inf f Bounds ● Bounds on expressions ● Simple sample AMPL example Gasoil nh = 200 5.23659e-3 0 ● Objective bounds in COPS ● Redundant constraints Glider nh = 200 1.24880e+3 0 ● Fragment of camshape.mod

Convexity Marine nh = 200 1.97465e+7 0

Classification Methanol nh = 100 9.00563e-3 0 Preprocessing Minsurf ny = 50 2.51488e+0 1.02594 Solver choice Pinene nh = 50 1.93937e+1 0 Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 19/36 Objective bounds in COPS

∗ ● Outline f = lowest value given in the COPS report ● Numerical Optimization f = inferred lower bound Software inf See www.mcs.anl.gov/˜more/cops Model analysis

The DAG Problem Parameter f ∗ inf f Bounds ● Bounds on expressions ● Simple sample AMPL example Polygon nv = 50 6.57163e-1 0 ● Objective bounds in COPS ● Redundant constraints Robot nh = 200 9.14138e+0 0 ● Fragment of camshape.mod

Convexity Rocket nh = 400 1.01238e+0 1

Classification Steering nh = 100 5.54594e-1 0 Preprocessing Torsion ny = 50 -4.18087e-1 -0.833013 Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 19/36 Redundant constraints

● Outline If the inferred bounds L U are tighter than those ● Numerical Optimization γ ci(x) γ given in the constraint cL ≤ c x ≤ cU, this constraint is Software i i( ) i redundant. ≤ ≤ Model analysis The DAG Redundant constraints are detected in camshape. Bounds ● Bounds on expressions ● Simple sample AMPL example Nature Imposed lower Inferred lower ● Objective bounds in COPS ● Redundant constraints ------● Fragment of camshape.mod Inequality 0.997647 < 1 Convexity Inequality -2.00235 < -2 Classification

Preprocessing Found 2 redundant constraints. Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 20/36 Fragment of camshape.mod

● Outline param n := 800; ● Numerical Optimization param R min := 1.0; Software param R max := 2.0; Model analysis

The DAG param alpha := 1.5;

Bounds let d theta := 2*pi/(5*(n+1)); ● Bounds on expressions ● Simple sample AMPL example var r{1..n} <= R max, >= R min; ● Objective bounds in COPS ● Redundant constraints ● Fragment of camshape.mod subject to curvature edge1: Convexity -alpha*d theta <= (r[1] - R min) <= alpha*d theta; Classification

Preprocessing subject to curvature edge2: Solver choice -alpha*d theta <= (R max - r[n]) <= alpha*d theta;

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 21/36 Fragment of camshape.mod

● Outline param n := 800; ● Numerical Optimization param R min := 1.0; Software param R max := 2.0; Model analysis

The DAG param alpha := 1.5;

Bounds let d theta := 2*pi/(5*(n+1)); ● Bounds on expressions ● Simple sample AMPL example var r{1..n} <= R max, >= R min; ● Objective bounds in COPS ● Redundant constraints ● Fragment of camshape.mod subject to curvature edge1: Convexity -alpha*d theta <= (r[1] - R min) <= alpha*d theta; Classification

Preprocessing subject to curvature edge2: Solver choice -alpha*d theta <= (R max - r[n]) <= alpha*d theta;

Final notes Offending constraints

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 21/36 Convexity of expressions

● Outline Similarly, using the prototype function, convexity may be ● Numerical Optimization assessed. Software Model analysis Constants and variables are convex expression. Recursively, The DAG use rules such as Bounds

Convexity ■ ● Convexity of expressions f and g convex implies f + g convex ● Two sides to convexity ■ ● Disproving convexity fg is convex when both have the same monotonicity and ● Final verdict on convexity ● Convexity in COPS f, g 0 and convex, or f, g 0 and concave ≥ ≤ Classification ■ ef is convex if f is convex Preprocessing ■ cosh(f) is convex if f is linear or f is convex and Solver choice nonnegative, or f is concave and nonpositive Final notes ■ √f nonconvex in general; however √ex is convex ■ etc. for every operator implemented in AMPL

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 22/36 Two sides to convexity

● Outline Recursively walking the dag allows to prove ● Numerical Optimization convexity/concavity symbolically. It is an absolute statement. Software

Model analysis

The DAG

Bounds

Convexity ● Convexity of expressions ● Two sides to convexity ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 23/36 Two sides to convexity

● Outline Recursively walking the dag allows to prove ● Numerical Optimization convexity/concavity symbolically. It is an absolute statement. Software Model analysis What if no rule applies and convexity cannot be proved? The DAG

Bounds

Convexity ● Convexity of expressions ● Two sides to convexity ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 23/36 Two sides to convexity

● Outline Recursively walking the dag allows to prove ● Numerical Optimization convexity/concavity symbolically. It is an absolute statement. Software Model analysis What if no rule applies and convexity cannot be proved? The DAG Bounds In such a case, attempt to disprove convexity/concavity Convexity ● Convexity of expressions numerically. Use an iterative method to attempt to discover ● Two sides to convexity ● Disproving convexity negative curvature in the Hessian matrix of the function being ● Final verdict on convexity ● Convexity in COPS examined.

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 23/36 Disproving convexity

● Outline Use GLTR [Gould et al.] to ● Numerical Optimization

Software T 1 T 2 minimized f(x) d + 2 d f(x)d Model analysis ∇ ∇ subject to d ∆. The DAG k k ≤ Bounds

Convexity ∆ truncates the Lanczos iterations to keep the work within ● Convexity of expressions ● Two sides to convexity reasonable limits. ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS By default, select only x = x0 but several xi can be chosen on L U Classification a latin hypercube in x x x . ≤ i ≤ Preprocessing If f is nonconvex at x, negative curvature may be discovered Solver choice inside the trust region. If not, convexity cannot be disproved. Final notes We choose the radius ∆ = max(10, 1 f(x) ). 10 k∇ k

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 24/36 Final verdict on convexity

● Outline ● Numerical Optimization Proving Disproving Verdict Software √ X Convex Model analysis X √ Nonconvex The DAG X X Inconclusive Bounds

Convexity √ √ Error! ● Convexity of expressions ● Two sides to convexity ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS

Classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 25/36 Convexity in COPS

● Outline Problem Pre n m nb Class Objective Time (s) ● Numerical Optimization

Software Bearing 0 2704 208 2704 QP Convex 0.86

Model analysis 10 2500 0 2500 BQP Convex 0.80

The DAG Camshape 0 800 1603 800 QCLP Linear 0.74 Bounds

Convexity 10 800 1600 800 QCLP Linear 0.76 ● Convexity of expressions ● Two sides to convexity Catmix 0 2403 1602 801 QCLP Linear 4.87 ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS 10 2401 1600 801 QCLP Linear 4.87

Classification Chain 0 402 203 0 ECNLP Inconclusive 0.11

Preprocessing 10 400 201 0 ECNLP Inconclusive 0.09 Solver choice QE Final notes Channel 0 1600 1600 0 Constant 1.70

10 1598 1598 0 QE Constant 1.74

Elec 0 300 100 0 QCNLP Nonconvex 3.13

10 300 100 0 QCNLP Nonconvex 3.15

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 26/36 Convexity in COPS

● Outline Problem Pre n m nb Class Objective Time (s) ● Numerical Optimization

Software Gasoil 0 2003 2003 0 QCQP Convex 2.01

Model analysis 10 2001 1998 3 QCQP Convex 1.80

The DAG Glider 0 1006 1411 0 QCLP Linear 0.65 Bounds

Convexity 10 999 800 601 QCLP Linear 0.73 ● Convexity of expressions ● Two sides to convexity Marine 0 4815 4807 0 QCQP Convex 9.40 ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS 10 4815 4792 15 QCQP Convex 9.17

Classification Methanol 0 1205 1205 0 NCQP Convex 1.02

Preprocessing 10 1202 1197 5 NCQP Convex 0.75 Solver choice LCNLP Final notes Minsurf 0 2704 3696 0 Inconclusive 0.76

10 2500 0 2500 LCNLP Inconclusive 1.01

Pinene 0 1005 1005 0 QCQP Convex 0.85

10 1000 995 5 QCQP Convex 0.70

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 26/36 Convexity in COPS

● Outline Problem Pre n m nb Class Objective Time (s) ● Numerical Optimization

Software Polygon 0 100 1376 0 NLP Nonconvex 4.25

Model analysis 10 98 1273 98 ICNLP Nonconvex 3.17

The DAG Robot 0 1811 1213 1207 QCLP Linear 2.44 Bounds

Convexity 10 1799 1201 1202 NCLP Linear 2.51 ● Convexity of expressions ● Two sides to convexity Rocket 0 1605 2408 401 NCLP Linear 1.62 ● Disproving convexity ● Final verdict on convexity ● Convexity in COPS 10 1601 1200 1601 NCLP Linear 1.99

Classification Steering 0 507 510 0 NCLP Linear 0.21

Preprocessing 10 500 401 103 NCLP Linear 0.25 Solver choice QP Final notes Torsion 0 2704 2704 0 Convex 0.70

10 2500 0 2500 BQP Convex 0.70

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 26/36 Problem classification

● Outline Build a richer optimization tree for differentiable problems ● Numerical Optimization

Software

Model analysis

The DAG

Bounds

Convexity

Classification ● Problem classification ● Problem classification

Preprocessing

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 27/36 Problem classification

NLPs MINLPs ● Outline ● Numerical Optimization Constrained Unconstrained MPECs NLPs NLPs Software Quadratically− Model analysis Quadratically− −constrained LPs −constrained NLPs Unconstrained Unconstrained The DAG LPs QPs

Bounds Linearly− Quadratically− Convexity LPs −constr. QPs −constrained Convex Noncnvx NLPs Classification ● Problem classification ● Problem classification Bound− Linearly− Nonlinearly− Preprocessing −constr. −constr. −constrained Convex Noncnvx NLPs QPs NLPs Solver choice

Final notes Bound− Equality− Inequality− −constr. Convex Noncnvx NCPs NLEs NLLS −constrained −constrained QPs NLPs NLPs

LCPs LLS Bound− −constr. LPs

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 27/36 Problem classification

● Outline Specializing a problem moves it down the tree. ● Numerical Optimization

Software Problem type

Model analysis ------Problem has bounded variables The DAG -Problem has linear constraints Bounds -Problem has quadratic constraints Convexity

Classification ● Problem classification Analyzing problem using objective #0 ● Problem classification ------Preprocessing -This objective is linear Solver choice -Problem is a constrained NLP Final notes -Problem seems to be an LP -Problem seems to be a quadratically-constrained LP with inequality constraints with bounds

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 28/36 ■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose ci(x) = `(x) + αj xj + n(x)

■ Find bounds on `(x) and n(x) and obtain cL `U nU α x cU `L i − − ≤ j j ≤ i − −

■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization

Software

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing ● "Nonlinear preprocessing" ● "Nonlinear preprocessing" in COPS

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 ■ Examine each constraint in turn and decompose ci(x) = `(x) + αj xj + n(x)

■ Find bounds on `(x) and n(x) and obtain cL `U nU α x cU `L nL i − − ≤ j j ≤ i − −

■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing ● "Nonlinear preprocessing" ● "Nonlinear preprocessing" in COPS

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 ■ Find bounds on `(x) and n(x) and obtain cL `U nU α x cU `L nL i − − ≤ j j ≤ i − −

■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis ■ Examine each constraint in turn and decompose

The DAG c x ` x α x n x Bounds i( ) = ( ) + j j + ( )

Convexity

Classification

Preprocessing ● "Nonlinear preprocessing" ● "Nonlinear preprocessing" in COPS

Solver choice

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 ■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis ■ Examine each constraint in turn and decompose

The DAG c x ` x α x n x Bounds i( ) = ( ) + j j + ( )

Convexity Classification ■ Find bounds on `(x) and n(x) and obtain Preprocessing ● "Nonlinear preprocessing" ● L U U U L L "Nonlinear preprocessing" in COPS ci ` n αjxj ci ` n Solver choice − − ≤ ≤ − −

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis ■ Examine each constraint in turn and decompose

The DAG c x ` x α x n x Bounds i( ) = ( ) + j j + ( )

Convexity Classification ■ Find bounds on `(x) and n(x) and obtain Preprocessing ● "Nonlinear preprocessing" ● L U U U L L "Nonlinear preprocessing" in COPS ci ` n αjxj ci ` n Solver choice − − ≤ ≤ − −

Final notes ■ L U May return tighter bounds than [xj , xj]

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis ■ Examine each constraint in turn and decompose

The DAG c x ` x α x n x Bounds i( ) = ( ) + j j + ( )

Convexity Classification ■ Find bounds on `(x) and n(x) and obtain Preprocessing ● "Nonlinear preprocessing" ● L U U U L L "Nonlinear preprocessing" in COPS ci ` n αjxj ci ` n Solver choice − − ≤ ≤ − −

Final notes ■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 ■ Tighter bounds on x means "no-looser" bounds on functions

"Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis ■ Examine each constraint in turn and decompose

The DAG c x ` x α x n x Bounds i( ) = ( ) + j j + ( )

Convexity Classification ■ Find bounds on `(x) and n(x) and obtain Preprocessing ● "Nonlinear preprocessing" ● L U U U L L "Nonlinear preprocessing" in COPS ci ` n αjxj ci ` n Solver choice − − ≤ ≤ − −

Final notes ■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 "Nonlinear preprocessing"

● Outline ■ Build upon AMPL’s linear primal presolve ● Numerical Optimization ■ Software Attempt to tighten bounds on variables

Model analysis ■ Examine each constraint in turn and decompose

The DAG c x ` x α x n x Bounds i( ) = ( ) + j j + ( )

Convexity Classification ■ Find bounds on `(x) and n(x) and obtain Preprocessing ● "Nonlinear preprocessing" ● L U U U L L "Nonlinear preprocessing" in COPS ci ` n αjxj ci ` n Solver choice − − ≤ ≤ − −

Final notes ■ L U May return tighter bounds than [xj , xj] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes ■ Tighter bounds on x means "no-looser" bounds on functions

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36 "Nonlinear preprocessing" in COPS

● Outline ● Numerical Optimization passes fmin fmax n/nvar Software 0 3.14159 6.28319 0/800 Model analysis 5 3.16109 5.44318 431/800 The DAG Problem camshape with presolve = 0 Bounds

Convexity passes fmin fmax n/nvar Classification

Preprocessing 0 3.974 6.24433 0/800 ● "Nonlinear preprocessing" ● "Nonlinear preprocessing" in COPS 5 3.974 5.44305 425/800 Solver choice Problem camshape with presolve = 10 Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 30/36 Assistance in choosing a solver

● Outline ■ Once problem class is identified, query solver database ● Numerical Optimization ■ Software SQL queries assembled as classification is carried out

Model analysis ■ Database contains 28 solvers for linear and nonlinear The DAG optimization Bounds ■ Solvers are/were on NEOS Convexity ■ Database links solvers to problem classes Classification ■ Implemented with SQLite Preprocessing

Solver choice ● Assistance in choosing a solver ● Recommendation example

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 31/36 Recommendation example

● Outline Assume problem was deemed convex ● Numerical Optimization Software ### First query:: Soft parameters only ### Model analysis

The DAG SBB

Bounds TRON

Convexity BLMVM

Classification MINLP

Preprocessing FortMP

Solver choice PathNLP ● Assistance in choosing a solver ● Recommendation example L-BFGS-B

Final notes First query ignores convexity requirement

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 32/36 Recommendation example

● Outline Assume problem was deemed convex ● Numerical Optimization Software ### Second query:: Include hard parameters ### Model analysis

The DAG OOQP

Bounds MOSEK

Convexity

Classification Second query enforces convexity requirement, if detected

Preprocessing

Solver choice ● Assistance in choosing a solver ● Recommendation example

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 32/36 Recommendation example

● Outline Assume problem was deemed convex ● Numerical Optimization Software ### Matching general-purpose solvers ### Model analysis

The DAG Loqo

Bounds Knitro

Convexity Lancelot

Classification

Preprocessing Last query returns matching general-purpose solvers

Solver choice ● Assistance in choosing a solver ● Recommendation example

Final notes

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 32/36 Statistics on DrAmpl

● Outline ■ About 7000 lines of code ● Numerical Optimization ■ Software Uses the AMPL library extensively

Model analysis ■ Written in ANSI C, should install on any platform where the The DAG AMPL library may be installed Bounds ■ Being developed and tested in Linux Convexity ■ Will (hopefully quite soon) be available for testing on NEOS Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 33/36 ■ Prove that a nonlinear function is a polynomial ■ Prove that a function is DC ■ Assess convexity of feasible set

Other features

● Outline The following features are being implemented ● Numerical Optimization Software ■ Prove quadraticity Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36 ■ Prove that a function is DC ■ Assess convexity of feasible set

Other features

● Outline The following features are being implemented ● Numerical Optimization Software ■ Prove quadraticity Model analysis ■ Prove that a nonlinear function is a polynomial The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36 ■ Assess convexity of feasible set

Other features

● Outline The following features are being implemented ● Numerical Optimization Software ■ Prove quadraticity Model analysis ■ Prove that a nonlinear function is a polynomial The DAG ■ Bounds Prove that a function is DC

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36 Other features

● Outline The following features are being implemented ● Numerical Optimization Software ■ Prove quadraticity Model analysis ■ Prove that a nonlinear function is a polynomial The DAG ■ Bounds Prove that a function is DC

Convexity ■ Assess convexity of feasible set

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36 ■ Detect unbounded problems ■ Recommend a solver based on past experience ■ Include many more solvers in database ■ Treat problems with integer variables ■ Link with mProbe ■ Minimize the work in nonlinear presolve ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization

Software

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Recommend a solver based on past experience ■ Include many more solvers in database ■ Treat problems with integer variables ■ Link with mProbe ■ Minimize the work in nonlinear presolve ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Include many more solvers in database ■ Treat problems with integer variables ■ Link with mProbe ■ Minimize the work in nonlinear presolve ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience

The DAG

Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Treat problems with integer variables ■ Link with mProbe ■ Minimize the work in nonlinear presolve ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds

Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Link with mProbe ■ Minimize the work in nonlinear presolve ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity

Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Minimize the work in nonlinear presolve ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Output updated nl file ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification ■ Preprocessing Minimize the work in nonlinear presolve

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Compare solving times with[out] presolving ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification ■ Preprocessing Minimize the work in nonlinear presolve

Solver choice ■ Output updated nl file

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ IEEE directed roundings ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification ■ Preprocessing Minimize the work in nonlinear presolve

Solver choice ■ Output updated nl file Final notes ■ ● Statistics on DrAmpl Compare solving times with[out] presolving ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification ■ Preprocessing Minimize the work in nonlinear presolve

Solver choice ■ Output updated nl file Final notes ■ ● Statistics on DrAmpl Compare solving times with[out] presolving ● Other features ■ ● Future features IEEE directed roundings ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 ■ Hand model off to Kestrel

Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification ■ Preprocessing Minimize the work in nonlinear presolve

Solver choice ■ Output updated nl file Final notes ■ ● Statistics on DrAmpl Compare solving times with[out] presolving ● Other features ■ ● Future features IEEE directed roundings ● Personal data ■ Bounds on dual variables from KKT conditions

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 Future features

● Outline ■ Detect infeasible problems ● Numerical Optimization ■ Software Detect unbounded problems

Model analysis ■ Recommend a solver based on past experience The DAG ■ Include many more solvers in database Bounds ■ Treat problems with integer variables Convexity ■ Link with mProbe Classification ■ Preprocessing Minimize the work in nonlinear presolve

Solver choice ■ Output updated nl file Final notes ■ ● Statistics on DrAmpl Compare solving times with[out] presolving ● Other features ■ ● Future features IEEE directed roundings ● Personal data ■ Bounds on dual variables from KKT conditions ■ Hand model off to Kestrel

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36 Personal data

● Outline ● Numerical Optimization Contact [email protected]

Software Model analysis Homepage www.mgi.polymtl.ca/dominique.orban The DAG

Bounds Reports $ HOME /reports.html Convexity { } Classification

Preprocessing

Solver choice

Final notes ● Statistics on DrAmpl ● Other features ● Future features ● Personal data

Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 36/36