### Provided by:

IMT

### Sede:

IMT

### Lecturers:

Mario ZANON

### Semester:

1

### Hours:

20

### Exam:

Y

### Educational Goals:

The students will learn how to effectively solve optimisation and optimal control problem in practice.

### Prerequisites:

Basic knowledge in calculus, linear algebra and dynamical systems

### Programme:

Many control and estimation tasks seek at minimizing a given cost while respecting a set of constraints, which belongs to the class of problems denoted as Optimal Control (OC). The most practical approach to solve OC problems is via direct methods, which consist in discretizing the problem to obtain a Nonlinear Program (NLP) which is then solved using one of the many available approaches. The course will be introduced by an overview of the available classes of algorithms for OC and place direct methods in this context. The core of the course is structured around the following two main parts.
1. NLP solvers:
This part of the course covers Nonlinear Programming first establishes a sound theoretical background on the characterization of local minima (maxima) by introducing geometric optimality concepts and relating them to the first- and second-order conditions for optimality, i.e. the Karush-Kuhn-Tucker conditions, constraint qualifications and curvature conditions.
Second, the theoretical concepts will be used to analyse the most successful algorithms for derivative-based nonconvex optimization, i.e. Sequential Quadratic Programming and Interior Point Methods, both based on NewtonÃ•s method. Since there does not exist a plug-and-play NLP solver, attention will be devoted to giving the students a solid understanding of the mechanisms underlying the algorithms so as to endow them with the ability to formulate the problem appropriately and choose the adequate algorithm for each situation.
2. Discretisation techniques:
This second part of the course covers the most successful discretization approaches, i.e. single-shooting, multiple-shooting and collocation. All mentioned approaches rely on the simulation of dynamical systems, for which a plethora of algorithms have been developed. The students will be explained the features of the different classes of algorithms, with particular attention on the numerical efficiency, simulation accuracy and sensitivity computation. Finally, the structure underlying the NLP obtained via direct methods for OC will be analysed in order to understand the immense benefits derived from developing dedicated structure-exploiting OCP solvers.