Title: Recent Developments in Optimization
1Recent Developments in Optimization
- and their Impact on Control
- Stephen Wright
- Argonne National Laboratory
- wright_at_mcs.anl.gov
2outline
- algorithms for nonlinear optimization
- software tools for structured nonlinear
optimization - applications to nonlinear control
- web resources NEOS Guide and Server
- solving problems on workstation networks
- computational steering and monitoring through
browser interfaces
www.mcs.anl.gov/wright/papers/aw2000.ppt
3Nonlinear Programming (NLP)
feasible region
(two local solutions)
4How is NLP used?
- many real problems are really nonlinear linear
or quadratic approximations cannot give useful
results. - applications in process engineering include
- set point calculation,
- nonlinear model predictive control,
- process design.
- when integer variables are present, NLP
algorithms are embedded in a higher-level
algorithm, e.g. branch-and bound.
5NLP algorithms and codes
- less advanced than LP codes
- difficult to design a completely robust code,
because NLP paradigm is so broad - global minimizer is not guaranteed in general!
- there is a wide range of general purpose codes
and algorithms - can be adapted to structure of specific
applications (some algorithms/codes more easily
than others) - See NEOS Guide for pointers www.mcs.anl.gov/otc/G
uide/SoftwareGuide
6NLPSQP
- Many variants
- reduced space variant useful for process
control applications, where state transition
equations, mass balance constraints, etc, make
the true dimension of the parameter space small. - Excellent local convergence properties
- But needs enhancement to achieve convergence to a
stationary point - Some forms need second derivatives
- Code SNOPT (new, good for large-scale problems)
7SQP
Sequential (Successive) Quadratic Programming
Given current iterate
solve the subproblem
8NLP Augmented Lagrangian
- Known since mid-1970s, but serious implementation
not attempted until 1988. - fairly robust, good global convergence properties
- its easy to implement a simple version
- efficiency varies
- code Lancelot
9NLPLog Barrier
- known since mid-1960s, but never adopted in
production code because of problems with
ill-conditioning of subproblems - recent renewed theoretical study, due to
connection with interior-point methods - some aspects are used in primal-dual
interior-point algorithms
10NLP Primal-Dual Interior-Point
- extensions of the most successful interior-point
methods for LP to NLP - many conceptual difficulties due to nonconvexity,
need for guaranteed convergence to a stationary
point - intense research (theory and practice) for past 5
years, but no obvious winning approach yet - PDIP adapt well to structured problems (e.g.
model predictive control), as in quadratic case - long-term prospects still good, but much more
experimentation and design work is required.
11designing customizable NLP software
- Current optimization codes mostly follow
traditional mathematical software design - usually written in FORTRAN
- subroutine-call interface (though interfaces in
AMPL, GAMS now also available) - Its hard to interoperate with other numerical
code, particularly linear algebra code. - Its difficult to
- exploit problem structure to improve efficiency
- exploit developments in linear algebra codes
- implement on advanced (parallel) computers
12OOQP object-oriented QP code
- object-oriented solver for convex quadratic
programming - uses interior-point algorithm
- motivation many apps (including linear model
predictive control!) each with special structure - can specialize the linear algebra methods, or use
general sparse methods, while re-using the same
top-level code - interoperates with cutting-edge linear algebra
software (LAPACK, PETSc, SuperLU) - can be embedded in NLP codes, which often need to
solve QP subproblems!
13nonlinear MPC
- given a nonlinear process model, decide on the
control at a given time by solving an
open-loop problem over the finite interval - to ensure nominal stability, may impose a state
constraint at the endpoint, e.g. - in principle, MPC is good at handling state and
control constraints, e.g. - good theory and algorithms are available for the
case of a linear model, but the nonlinear case is
more complex
14nonlinear MPC continuous
continuous nonlinear model
objective
possibly final constraint
15nonlinear MPC discrete
discrete nonlinear model
objective
possibly final constraint
16applying NLP techniques
- the discrete MPC formulation can be viewed as an
NLP in which - variables are
- plant (state equation) is an equality constraint
- additional constraints from endpoint condition
and - nice structure derivative matrices
block-diagonal - most algorithms can exploit this structure in
principle-but in practice? - in SQP, the QP approximation is just a linear MPC
problem (but may not be convex)
17stability and practical strategies
- under mild conditions on L(x,u), feasibility of
the nonlinear MPC subproblem implies stability in
the nominal case (Scokaert, Mayne, Rawlings) - in nominal case, the solution from previous
timepoint, after shifting, is still optimal - in practice, upsets and model inexactness make it
necessary to reoptimize, but the previous
solution can be used as a hot start point - suboptimal strategies can be applied that do
not require the reoptimization to be exact
18role of NLP solvers in MPC
- NLP solvers should be able to
- exploit structure (for efficiency)
- take advantage of a hot start
- be embedded in some global optimization
framework, that periodically checks to see if
there is a better strategy that is somewhat
removed from the current part of the solution
space. - Also can use NLP solvers to estimate the set W in
a dual-mode strategy
19NEOS Guide
Web site with information for optimization users
of all kinds students, the curious, and
motivated, experienced users. www.mcs.anl.gov/otc/
Guide/
- Case studies, including
- diet problem
- portfolio optimization
- simplex applet
- Software Guide
- Optimization Tree outline of various algorithms
- FAQs for linear and nonlinear programming
20remote problem-solving
- A new way to interact with numerical software is
to construct models / define problems locally on
a PC / workstation, but have the solution
computed remotely on a compute server - Use the Internet as a compute engine for problem
solving, not just as an informational resource - nice interfaces are important
- users avoid need to purchase hardware and
software, upgrade - good for benchmarking too
21NEOS Server
- Extensive solver coverage, public and proprietary
- linear programming
- integer programming
- nonlinear programming
- complementarity, stochastic programming
- Submit jobs through email, web, or unix socket
- Users supplies model and data in standard
formats, or AMPL - Server schedules job on machines in various
places (Argonne, NU, Wisconsin, Arizona) - www-neos.mcs.anl.gov
22metacomputing platforms
- use networks of PCs or workstations as a
computational platform - much cheaper than a parallel computer uses
resources that are otherwise wasted - need for a software infrastructure to make this
messy environment a usable one - scheduling, allocation tools
- parallel programming tools (MPI, PVM)
- persistency tools to ensure job completion
- algorithms and applications must match the
platform - but a surprising number of them do!
23metaneos project
- joint project optimization and grid computing
groups www.mcs.anl.gov/metaneos - build software infrastructure for optimization
- implement optimization algorithms
- solve big problems cheaply!
- Use Condor to manage the compute resources
www.cs.wisc.edu/condor - Have implemented solvers for
- global optimization
- integer programming
- stochastic optimization
- quadratic assignment problem (QAP)
24MW master-worker API for Condor
- Many parallel algorithms follow the master-worker
paradigm - Master maintains a pool of work units (tasks),
sends tasks to workers and processes the results
of completed tasks - Workers receive tasks from master, computes
results and sends them to master, waits for
another task - Branch-and-bound algorithms for mixed-integer LP
and NLP can be mapped to this paradigm. Also
for specailized combinatorial problems such as
quadratic assigment
25MW
- Master runs outside Condor pool Workers execute
on processors inside the pool (currently up to
about 200, but varies continually) - MW provides a framework for specifying
- how the Master manages the task pool
- what information constitutes a task, i.e. is
sent to the workers - what initializing information a new worker i sent
when it becomes available - how the Master processes results from a completed
task - what statistics to maintain
26MW example QAP
- Given a set of
- n locations
- n factories
- flows of given amount between some factory pairs
- Decide how to assign factories to locations in a
way that minimizes the total of (flow x distance) - There are n! possible combinations (grows faster
than exponential!) so need smart heuristics to
home in on the interesting possibilities - see NEOS Guide Case Studies for details on QAP
27MW example QAP
28MW example QAP
29iMW
- Web-based problem-solving environment for solvers
running on grid computing platforms. - Supports remote submission, monitoring, steering
of jobs. - Uses Corba to communicate with master object
- monitor execution
- steer (vary algorithm parameters during
execution) - suspend applications.
- Uses XML to produce dynamic web pages with
status information.
30 31(No Transcript)
32(No Transcript)
33(No Transcript)
34Resource profile of an MW-QAP run