Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 1/36
- Dr. Ampl
A Meta Solver for Optimization
Dominique Orban
École Polytechnique de Montréal Dominique.Orban@polymtl.ca
Bob Fourer
Northwestern University 4er@iems.northwestern.edu
Dr. Ampl A Meta Solver for Optimization Dominique Orban Bob Fourer - - PowerPoint PPT Presentation
Dr. Ampl A Meta Solver for Optimization Dominique Orban Bob Fourer cole Polytechnique de Montral Northwestern University Dominique.Orban@polymtl.ca 4er@iems.northwestern.edu Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 1/36
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 1/36
École Polytechnique de Montréal Dominique.Orban@polymtl.ca
Northwestern University 4er@iems.northwestern.edu
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
■ 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
■ Numerical Optimization ■ Current software challenges
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
■ Numerical Optimization ■ Current software challenges ■ The NEOS Server
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
■ Numerical Optimization ■ Current software challenges ■ The NEOS Server ■ The AMPL modeling language
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
■ Numerical Optimization ■ Current software challenges ■ The NEOS Server ■ The AMPL modeling language ■ The DrAmpl meta solver
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
■ Numerical Optimization ■ Current software challenges ■ The NEOS Server ■ The AMPL modeling language ■ The DrAmpl meta solver ■ Numerical results
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
■ Numerical Optimization ■ Current software challenges ■ The NEOS Server ■ The AMPL modeling language ■ The DrAmpl meta solver ■ Numerical results ■ Future directions of research
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 3/36
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 4/36
■ Myriad of solvers available for most classes of optimization
■ Competing solvers designed to tackle the same class of
■ Competing general-purpose solvers ■ Competing free and commercial codes ■ Competing modeling languages and environments ■ Often, solvers have limited compatibility with modeling
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 5/36
■ Much confusion arising from so much choice ■ Much room for remote or local software offering guidance
■ Much need for tools to help bridge this gap, by compiling lists
■ Much need for software able to associate a given problem
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 6/36
■ Modeling languages are often commercial ■ Optimization software is often commercial ■ Software may be problematic to install locally ■ Need to learn how to use the software ■ Trial versions are often available with various limitations
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 7/36
■ Remote optimization software repository ■ Problems modelled locally, solved remotely ■ Solution may be returned for later local examination ■ Accepts problems in several modeling languages; AMPL,
■ 43 solvers for 12 classes of optimization problems ■ Optimization tree... last updated in March 1996. ■ 2723 submissions from May 2–May 9, up to 5430/week ■ Alleviates the need to install some solvers locally ■ Allows to test solvers before purchasing or downloading ■ Free of charge ■ E-mail, Web, TCP/IP submission clients
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 8/36
■ Fourer, Gay, Kernighan book ■ Flexible and powerful language to model linear, nonlinear,
■ Provides some level of preprocessing ■ Provides automatic differentiation ■ Size-limited student version available free of charge ■ Source code of AMPL library available on NetLib to facilitate
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 9/36
Software
Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 10/36
■ Analyze a given model ■ Provide bounds on expressions appearing in the model ■ Assess convexity of expressions appearing in the model ■ Classify the model ■ Provide some level of "nonlinear preprocessing" ■ Assist in the choice of an appropriate solver
Software Model analysis
The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 11/36
Software Model analysis
The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 12/36
Software Model analysis
The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 13/36
Software Model analysis
The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 14/36
Software Model analysis The DAG
Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 15/36
Software Model analysis The DAG
Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 15/36
1(1 + x2)3
2 * x[1] 3 + 1 x[2] ^ ^
Software Model analysis The DAG
Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 15/36
Software Model analysis The DAG
Bounds Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 16/36
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36
1(1 + x2)3, assume we have the specified
■ 1 ≤ x2 1 ≤ 4 2 * x[1] 3 + 1 x[2] ^ ^
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36
1(1 + x2)3, assume we have the specified
■ 1 ≤ x2 1 ≤ 4 ■ −2 ≤ 1 + x2 ≤ 4 2 * x[1] 3 + 1 x[2] ^ ^
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36
1(1 + x2)3, assume we have the specified
■ 1 ≤ x2 1 ≤ 4 ■ −2 ≤ 1 + x2 ≤ 4 ■ −8 ≤ (1 + x2)3 ≤ 64 2 * x[1] 3 + 1 x[2] ^ ^
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 17/36
1(1 + x2)3, assume we have the specified
■ 1 ≤ x2 1 ≤ 4 ■ −2 ≤ 1 + x2 ≤ 4 ■ −8 ≤ (1 + x2)3 ≤ 64 ■ −32 ≤ x2 1(1 + x2)3 ≤ 256. 2 * x[1] 3 + 1 x[2] ^ ^
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 18/36
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 19/36
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 19/36
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 19/36
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 20/36
i ≤ ci(x) ≤ cU i, this constraint is
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 21/36
Software Model analysis The DAG Bounds
Convexity Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 21/36
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 22/36
■ f and g convex implies f + g convex ■ fg is convex when both have the same monotonicity and
■ ef is convex if f is convex ■ cosh(f) is convex if f is linear or f is convex and
■ √f nonconvex in general; however
■ etc. for every operator implemented in AMPL
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 23/36
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 23/36
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 23/36
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 24/36
2dT ∇2f(x)d
10∇f(x)).
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 25/36
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 26/36
QP
BQP
QCLP
QCLP
QCLP
QCLP
ECNLP
ECNLP
QE
QE
QCNLP
QCNLP
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 26/36
QCQP
QCQP
QCLP
QCLP
QCQP
QCQP
NCQP
NCQP
LCNLP
LCNLP
QCQP
QCQP
Software Model analysis The DAG Bounds Convexity
Classification Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 26/36
NLP
ICNLP
QCLP
NCLP
NCLP
NCLP
NCLP
NCLP
QP
BQP
Software Model analysis The DAG Bounds Convexity Classification
Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 27/36
Software Model analysis The DAG Bounds Convexity Classification
Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 27/36
NLPs Constrained NLPs Unconstrained QPs Convex Noncnvx Linearly− −constrained NLPs Bound− −constr. NLPs Bound− −constr. QPs Bound− −constr. LPs LPs Linearly− −constr. QPs Quadratically− −constr. QPs Convex Noncnvx Convex Noncnvx NCPs LCPs NLEs NLLS LLS Nonlinearly− −constrained NLPs MINLPs MPECs Equality− −constrained NLPs Inequality− −constrained NLPs Unconstrained LPs Unconstrained NLPs Quadratically− −constrained NLPs Quadratically− −constrained LPs
Software Model analysis The DAG Bounds Convexity Classification
Preprocessing Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 28/36
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose
■ Find bounds on ℓ(x) and n(x) and obtain
L
i − ℓ
U − n U ≤ αjxj ≤ c U
i − ℓ
L − n L
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose
■ Find bounds on ℓ(x) and n(x) and obtain
L
i − ℓ
U − n U ≤ αjxj ≤ c U
i − ℓ
L − n L
■ May return tighter bounds than [xL j, xU j]
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose
■ Find bounds on ℓ(x) and n(x) and obtain
L
i − ℓ
U − n U ≤ αjxj ≤ c U
i − ℓ
L − n L
■ May return tighter bounds than [xL j, xU j] ■ Keep an updated "tight" vector of bounds
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose
■ Find bounds on ℓ(x) and n(x) and obtain
L
i − ℓ
U − n U ≤ αjxj ≤ c U
i − ℓ
L − n L
■ May return tighter bounds than [xL j, xU j] ■ Keep an updated "tight" vector of bounds ■ Command-line option for (finite) number of passes
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 29/36
■ Build upon AMPL
■ Attempt to tighten bounds on variables ■ Examine each constraint in turn and decompose
■ Find bounds on ℓ(x) and n(x) and obtain
L
i − ℓ
U − n U ≤ αjxj ≤ c U
i − ℓ
L − n L
■ May return tighter bounds than [xL j, xU j] ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing
Solver choice Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 30/36
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice
Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 31/36
■ Once problem class is identified, query solver database ■ SQL queries assembled as classification is carried out ■ Database contains 28 solvers for linear and nonlinear
■ Solvers are/were on NEOS ■ Database links solvers to problem classes ■ Implemented with SQLite
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice
Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 32/36
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice
Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 32/36
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice
Final notes Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 32/36
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 33/36
■ About 7000 lines of code ■ Uses the AMPL library extensively ■ Written in ANSI C, should install on any platform where the
■ Being developed and tested in Linux ■ Will (hopefully quite soon) be available for testing on NEOS
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36
■ Prove quadraticity
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36
■ Prove quadraticity ■ Prove that a nonlinear function is a polynomial
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36
■ Prove quadraticity ■ Prove that a nonlinear function is a polynomial ■ Prove that a function is DC
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 34/36
■ Prove quadraticity ■ Prove that a nonlinear function is a polynomial ■ Prove that a function is DC ■ Assess convexity of feasible set
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ Detect unbounded problems
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ Detect unbounded problems ■ Recommend a solver based on past experience
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ Detect unbounded problems ■ Recommend a solver based on past experience ■ Include many more solvers in database
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ Detect unbounded problems ■ Recommend a solver based on past experience ■ Include many more solvers in database ■ Treat problems with integer variables
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ Detect unbounded problems ■ Recommend a solver based on past experience ■ Include many more solvers in database ■ Treat problems with integer variables ■ Link with mProbe
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 35/36
■ Detect infeasible problems ■ 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
Software Model analysis The DAG Bounds Convexity Classification Preprocessing Solver choice Final notes
Dominique Orban, May 21, 2004 The DrAmpl meta solver - p. 36/36