340 likes | 367 Views
Recent Developments in Optimization. and their Impact on Control Stephen Wright Argonne National Laboratory wright@mcs.anl.gov. outline. algorithms for nonlinear optimization software tools for structured nonlinear optimization applications to nonlinear control
E N D
Recent Developments in Optimization and their Impact on Control Stephen Wright Argonne National Laboratory wright@mcs.anl.gov
outline • 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 Aspen World 2000
Nonlinear Programming (NLP) feasible region (two local solutions) Aspen World 2000
How 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. Aspen World 2000
NLP 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/Guide/SoftwareGuide Aspen World 2000
NLP:SQP • 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) Aspen World 2000
SQP Sequential (Successive) Quadratic Programming Given current iterate solve the subproblem Aspen World 2000
NLP: Augmented Lagrangian • Known since mid-1970s, but serious implementation not attempted until 1988. • fairly robust, good global convergence properties • it’s easy to implement a simple version • efficiency varies • code: Lancelot Aspen World 2000
NLP:Log 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 Aspen World 2000
NLP: 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. Aspen World 2000
designing 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) • It’s hard to interoperate with other numerical code, particularly linear algebra code. • It’s difficult to • exploit problem structure to improve efficiency • exploit developments in linear algebra codes • implement on advanced (parallel) computers Aspen World 2000
OOQP: 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! Aspen World 2000
nonlinear 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 Aspen World 2000
nonlinear MPC: continuous continuous nonlinear model: objective: possibly final constraint: Aspen World 2000
nonlinear MPC: discrete discrete nonlinear model: objective: possibly final constraint: Aspen World 2000
applying 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) Aspen World 2000
stability 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 Aspen World 2000
role 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 Aspen World 2000
NEOS 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 Aspen World 2000
remote 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 Aspen World 2000
NEOS 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 Aspen World 2000
metacomputing 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! Aspen World 2000
metaneos 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) Aspen World 2000
MW: 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 Aspen World 2000
MW • 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 Aspen World 2000
MW 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 Aspen World 2000
MW example: QAP Aspen World 2000
MW example: QAP Aspen World 2000
iMW • 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. Aspen World 2000
Resource profile of an MW-QAP run Aspen World 2000