Ing Ind - Inf (Mag.)(ord. 270) - MI (473) AUTOMATION AND CONTROL ENGINEERING - INGEGNERIA DELL'AUTOMAZIONE
052358 - CONSTRAINED NUMERICAL OPTIMIZATION FOR ESTIMATION AND CONTROL
As industrial applications and systems become increasingly complex and demanding, with the presence of multiple interacting variables, nonlinear dynamics, economic objectives, and operational constraints, the knowledge of tools able to tame such a complexity is today a crucial asset in the portfolio of automation and control engineers. The goal of this course is to provide the students with such tools, introducing them to the formulation and solution of constrained numerical optimization problems arising in automation and control engineering in a broader sense. Following a three-pillars approach (theoretical foundations, implementation aspects, and real-world applications), the lectures, exercise sessions, and project work will deliver effective knowledge and skills to formulate and deal with problems such as parameter estimation and model learning, filtering, control design, and computation of optimal trajectories and equilibria for complex, multivariable, constrained nonlinear dynamical systems. At first, these problems will be abstracted to the general form of a nonlinear program (NLP), starting from real-world case studies in fields such as automotive, aerospace, energy systems, robotics, and process control. Then, the main concepts and tools of numerical optimization for NLPs will be treated, with emphasis on algorithm coding skills and computational aspects specific to problems that involve dynamical systems. Finally, the learned skills and developed code will be tested on the motivating real-world applications, both in guided exercise sessions and in a project work which will be part of the course evaluation.
Risultati di apprendimento attesi
1. Knowledge and understanding
Upon positive completion of the course, the students will have the knowledge to:
recognize estimation, filtering, and optimal control problems for dynamical systems;
recognize the type of optimization problem at hand (convex vs. non-convex, continuous vs. discrete, constrained vs. unconstrained, etc.);
identify and understand the main solution approaches specifically to constrained nonlinear programs;
understand the main advantages and limits of the existing numerical optimization approaches;
understand how the structure arising in nonlinear identification, filtering, and optimal control problems can be exploited to improve the solution efficiency and quality;
find further resources and critically analyze the toolboxes available in the literature;
understand how constrained numerical optimization of dynamical systems can be applied to common problems arising in application domains including automotive, aerospace, energy systems, robotics, and process control.
2. Capability to apply knowledge and understanding
After completing the lectures, exercises, and project work, the students will be able to:
analyze a given real-world problem involving estimation, filtering, or optimal control for complex dynamical systems, and translate it into a sensible numerical optimization problem;
devise innovative approaches, based on constrained numerical optimization, to deal with problems in automation and control of dynamical systems in a broader sense, improving over the state-of-the-art;
apply existing numerical optimization tools developed for standard problem classes;
develop own custom code and ad-hoc algorithms to solve constrained nonlinear programs (sequential quadratic programming, constrained Gauss-Newton approach, efficient computation of derivatives and Hessian approximations), exploiting specifically the structure arising in dynamical systems.
Through the exercises and project work, the students will learn to:
analyze and discuss, autonomously and within a working group, how to best translate a real-world problem into a sensible optimization program to be addressed with numerical solution algorithms;
critically analyze the performance, advantages and limitations of different problem modelling approaches and numerical solution algorithms;
evaluate the goodness of existing or newly developed optimization models and algorithms and the achieved results, considering the problem specifications.
4. Communication skills
Through the project work developed in the course, the related report, and the final presentation, the students will learn to communicate in a clear, concise, autonomous, and effective way:
the problem addressed;
the chosen solution method, including: modelling choices, problem abstraction, and numerical solution;
the obtained results.
5. Learning skills
Through the lectures, exercises and project work developed in the course, the students will gain the skills to:
learn the features of optimization problems and solution approaches not treated in detail in this course (structured convex programming, mixed-integer programming);
learn and critically analyze, from the viewpoint of system optimization, implemented solutions for automation and control problems not treated in the course.
Part I: Introduction
I.1. Motivation - numerical optimization-based estimation and control.
I.2. Course structure, goals, pre-requisites, project work description, assessment method.
Part II: Background
II.1. Models of dynamical systems and computation of trajectories.
II.2. Notation and background concepts.
Part III: Constrained estimation and control problems - case studies and general formulation
III.1. Nonlinear and constrained system identification problems, automotive case study (identification of model parameters for the lateral dynamics of cars).
III.2. Constrained filtering problems, robotics case study (estimation of the pose of a worker in collaborative robotics).
III.3. Constrained optimal control problems, aerospace/robotics case study (computation of optimal trajectories for unmanned aerial vehicles) and process control case study (computation of optimal steady-state operation of a chemical batch process).
Part IV: Numerical optimization: fundamentals and notions of unconstrained problems
IV.1. Standard form and definitions, convexity and convex problems, classification of optimization problems.
IV.2. Unconstrained optimization: optimality conditions, line search with Newton-type methods and globalization strategies.
Part V: Computing derivatives
V.1. Analytical derivation, recursions for dynamical systems.
V.2. Finite differences and imaginary-part trick.
V.3 Automatic differentiation strategies.
Part VI: Constrained numerical optimization for continuous problems
VI.1. Optimality conditions, Lagrange function and Lagrange multipliers.
VI.2. Quadratic Programming and Sequential Quadratic Programming, line search and interior point methods. Coding of solvers for continuous NLPs based on sequential quadratic programming.
Part VII: Solution to constrained optimal estimation and control problems
VII.1. Computation of equilibria and orbits exploiting homotopy.
VII.2. Constrained optimal control with direct methods: single shooting and multiple shooting. Nonlinear path planning. Nonlinear model predictive control: implementation and computational aspects.
VII.3. Constrained nonlinear estimation with simulation error criterion. Moving horizon estimation: implementation and computational aspects.
- Differential calculus (derivatives, gradient and Hessian, Taylor’s expansion)
- Linear algebra (linear equations, operations with vectors and matrices)
- Fundamentals of system theory and automatic control (dynamical systems in continuous and discrete time, notions of movements and equilibria, notions of stability of movements)
Modalità di valutazione
The final assessment will consist of:
1) a presentation and a report of the project work carried out by the students in small groups throughout the course. The project work will pertain to a realistic estimation and/or control problem involving a dynamical system, chosen by the students under the guidance of the lecturer. The report will include a problem formulation, a modelling part, the formulation of a sensible optimization problem, and its solution with the knowledge and tools learned during the course. The project work and the related report and final presentation will be instrumental to assess the achievement of expected learning outcomes number 2., 3., 4., and 5.
2) a written exam with questions regarding the theory and implementation of the methods and algorithms treated in the course. The exam will be instrumental to assess the achievement of expected learning outcomes number 1., 2., and 4.
The final grades will be a weighted average of those obtained at points 1) and 2) above.