# Advanced Automation and Control

### MSc in Industrial Automation Engineering, MSc in Computer Engineering

University of Pavia

From Academic Year 2016/2017 onwards

Prof. Raimondo Davide M. and Prof. Ferrara Antonella

### Office hours: upon appointment

Office location: Dipartimento di Ingegneria Industriale e dell'Informazione

- Prof. Raimondo D.M., floor F
- Prof. Ferrara A., floor F

### Handouts

### Prof. Ferrara A.

- Sliding Mode Control
- Slides Prof. Stratis Kanarachos
- Slides Prof. Anuradha Annaswamy
- Slides Prof. Jacquelien Scherpen

### Prof. Raimondo D.M.

ONLINE COURSE: PLEASE SUBSCRIBE TO THE COURSE ON KIRO.

THERE I PROVIDE THE VIDEOS AND ALL THE INFO FOR THE EXAM!

Kiro Webpage of the course

Form for sending me your mobile number

(in case I need to call you for any problem during the exam)

- ADDITIONAL RULES FOR THE TABLEAU (MILP)
- Introduction (updated a couple of slides on SOCP!)
- Duality and Multiparametric programming (updated few slides!)
- Useful link: how to compute the derivative of a quadratic form (the gradient is the transpose of this result)
- Unconstrained minimization
- Properties of linear programming
- Linear Programming: examples
- Systems of linear equations
- Vertices of a polyhedron
- Simplex algorithm
- Simplex phase 1 and degeneracy
- Mixed Integer Linear Programming - Part I
- Mixed Integer Linear Programming - Part II
- Mixed Integer Linear Programming - Part III
- Mixed Integer Linear Programming - Part VI
- Cutting Plane Method for Integer Programs
- Branch and Bound for Integer Programs
- Dynamic programming
- Dynamic programming for mobile robotics

### Laboratory (Prof. Raimondo D.M.)

### Laboratory 1

- Laboratory 1: problem description
- Matlab script: linear programming example with function linprog
- Matlab script: linear programming example with yalmip

The scripts require the MPT toolbox

To execute the scripts try

[x,fval,exitflag]=LP_example_linprog(800,0,'max')

[x,fval,exitflag]=LP_example_yalmip(800,0,'max')

Check the comments in the script to understand the meaning of the inputs

of the functions and to try different inputs

### Laboratory 2

- Laboratory 2: problem description
- Matlab script: mixed integer linear programming example with function glpk
- Matlab script: mixed integer linear programming example with yalmip

The scripts require the MPT toolbox

To execute the scripts try

[x_out,delta_out,fval,exitflag]=MILP_example_glpk(1)

[x_out,delta_out,fval,exitflag]=MILP_example_yalmip(1)

Check the comments in the script to understand the meaning of the inputs

of the functions

### Laboratory 3

- Script for dynamic programming for mobile robotics (single robot)
- Script for dynamic programming for mobile robotics (two robots)
- Robot image (download in the same directory)
- Robot image 2 (download in the same directory)

### Previous examination texts (recent ones)

Prof. Ferrara A.

Prof. Raimondo D.M.

- 20-01-2017
- 09-02-2017
- 13-06-2017
- 05-07-2017
- 08-09-2017
- 06-04-2018
- 19-06-2018
- Solution to the 1st exercise of the 19-06-2018
- Solution to the 2nd exercise of the 19-06-2018
- Solution to the 3rd exercise of the 19-06-2018
- Solution to the 4th exercise of the 19-06-2018
- 11-07-2018
- Solution to the 1st exercise of the 11-07-2018
- Solution to the exercises 2-4 of the 11-07-2018
- 14-09-2018
- 28-09-2018
- 25-01-2019
- Solution to the 1st exercise of the 25-01-2019 (update)
- 21-06-2019
- Solution exam 21-06-2019
- 11-07-2019
- 11-07-2019 File where to report the results
- 17-09-2019
- 17-09-2019 File where to report the results
- 02-09-2020
- File where to report the results 02-09-2020
- Solution exam 02-09-2020
- IMPORTANT: Sheet to be delivered for the online exam (24-02-2022)
- IMPORTANT: Sheet to be delivered for the online exam (27-01-2022)
- IMPORTANT: Sheet to be delivered for the online exam (23-09-2021)
- IMPORTANT: Sheet to be delivered for the online exam (08-09-2021)
- IMPORTANT: 27-07-2021
- IMPORTANT: Sheet to be delivered for the online exam (27-07-2021)
- IMPORTANT: 22-06-2021
- IMPORTANT: Sheet to be delivered for the online exam (22-06-2021)
- IMPORTANT: Sheet to be delivered for the online exam (07-06-2021)
- IMPORTANT: Sheet to be delivered for the online exam (25-02-2021)
- IMPORTANT: Sheet to be delivered for the online exam (28-01-2021)
- IMPORTANT: Sheet to be delivered for the online exam (23-09-2020)
- IMPORTANT: Sheet to be delivered for the online exam (02-09-2020)
- IMPORTANT: Sheet to be delivered for the online exam (08-07-2020)
- IMPORTANT: Sheet to be delivered for the online exam (16-06-2020)

### Exams

- Closed-books closed-notes written exam on all course topics
- Date/time/room will be published on the website of the Faculty of Engineering
- No graphic or programmable calculators are allowed
- Registration to exams must be done through the University website and ends 7 days before the exam date

### Grade registration

Grades will be notified to each students by email. Students will have 5 days to accept or reject the grade: this has to be done only through the university account (and not sending an email to the Professor). After 5 days all grades that will have not been rejected will be registered in the student curriculum.

---------------------------------------------------

### Previous Academic Years (Optimization part)

- Scripts on Linear Programming by Prof. Ciaramella (a.y. 2018-2019)
- Lecture 9 Not done (2018/2019)
- Solved exercise: milp example with branch and bound.

Note : Phase 1 of the problem above could be solved with no iterations

since we had in the basis elements that were not y1, y2..

- Link to material for integer programming

(optional, please consider only the examples at this link) - Introduction to graph theory
- Kruskal algorithm
- Dijkstra algorithm
- Floyd-Warshall algorithm
- Max-flow problems
- Lecture 18 Not done (2018/2019)
- Lecture 19 Not done (2018/2019)
- Lecture 20 Not done (2018/2019)
- Solved MILP
- Another solved MILP (errata corrige)
- New exercise: translation of a problem into the corresponding MILP
- Solution of the problem above
- Solved MILP Phase 1-2
- A very long MILP Phase 1-2 which requires to explore all nodes (CAREFUL: I did not use the additional rules)
- Exercises on duality and convexity (updated).

For the duality case please substitute

to the matrices the values of matrices and vectors in order to complete the exercise.