Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Docente Fagiano Lorenzo Mario
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento

Obiettivi dell'insegnamento

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.

3. Autonomy

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.

Argomenti trattati

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.

Risorsa bibliografica obbligatoriaPapers and lecture notes provided by the lecturer (the material will be posted on BeeP) http://home.deib.polimi.it/fagiano/teaching/CNOEC/CNOEC_19_20.html
Risorsa bibliografica facoltativaNocedal, J. and Wright, S., Numerical Optimization, Editore: Springer, Anno edizione: 2006, ISBN: 978-0-387-40065-5
Risorsa bibliografica facoltativaMoritz Diehl, Lecture Notes on Numerical Optimization, Leuven-Freiburg 2007-2016 https://www.syscop.de/files/2015ws/numopt/numopt_0.pdf
Risorsa bibliografica facoltativaStephen Boyd and Lieven Vandenberghe, Convex Optimization, Editore: Cambridge Univ. Press, Anno edizione: 2004 https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
Ore di studio autonome
Laboratorio Informatico
Laboratorio Sperimentale
Laboratorio Di Progetto
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
schedaincarico v. 1.6.5 / 1.6.5
Area Servizi ICT