


Politecnico di Torino  
Academic Year 2017/18  
01QNKOA, 01QNKJM, 01QNKLI, 01QNKLM, 01QNKLN, 01QNKLP, 01QNKLS, 01QNKLX, 01QNKLZ, 01QNKMA, 01QNKMB, 01QNKMC, 01QNKMH, 01QNKMK, 01QNKMN, 01QNKMO, 01QNKMQ, 01QNKNX, 01QNKOD, 01QNKPC, 01QNKPN, 01QNKPW Optimization for problem solving 

1st degree and Bachelorlevel of the Bologna process in Computer Engineering  Torino 1st degree and Bachelorlevel of the Bologna process in Mechanical Engineering  Torino 1st degree and Bachelorlevel of the Bologna process in Automotive Engineering  Torino Espandi... 





Subject fundamentals
The course Optimization for Problem Solving allows to face and solve a wide range of decision problems in engineering or other areas of the real world: information technology, telecommunications, manufacturing, transportation, logistics, economics, management, finance, energy, services, and others.
The optimization requires modeling of the problem to the study, namely the construction of a mathematical model which is sufficiently representative of the problem itself. This model is constituted by variables, objective function and appropriate constraints to be satisfied. The above model is then solved by suitable algorithms and optimization solvers. 
Expected learning outcomes
Knowledge that the course aims to provide students with:
students will explore the theory, methods, and algorithms for solving linear continuous optimization problems (i.e., where the variables are continuous), flows on networks and, in part, linear integer optimization problems (i.e., where the variables are integer). Skills that the course aims to provide students with: students will develop the skill to construct, given reallife problems, corresponding and adequate mathematical models and solve them using appropriate algorithms and optimization solvers. 
Prerequisites / Assumed knowledge
No prerequisites are required. The only prior knowledge are those already acquired in the first years courses.

Contents
1. Continuous linear optimization: problems and models, simplex method, duality (40% of the course).
2. Flows on networks: fundamental concepts of graph theory, finding a spanning tree of minimum cost, transportation problem, shortest path problem, minimum cost flow problem, and maximum flow problem (50% of the course). 3. Outline of integer linear optimization (e.g. problems of network design, service location, data analysis, routing): exact methods (Branch and Bound) and heuristics (greedy algorithms, Tabu Search, Simulated Annealing, Genetic Algorithms) (10% of the course). 
Delivery modes
The course integrates properly teaching hours and hours of practice, to the extent of about 60% and 40% of the course, respectively. The exercises are carried out in the classroom and follow the lecture topics. In the laboratory LADISPE ttp://www.ladispe.polito.it/ uptodate optimization solvers able to solve reallife problems are available to students. Instructions for their use will be provided in the classroom. No special programming skills are required.

Texts, readings, handouts and other learning resources
Books used for teaching:
R. Tadei, F. Della Croce, Elementi di Ricerca Operativa, Progetto Leonardo, Editrice Esculapio, Bologna, 2010. M. Ghirardi, A. Grosso, G. Perboli, Esercizi di Ricerca Operativa, Progetto Leonardo, Editrice Esculapio, Bologna, 2009. Other teaching materials, along with examples of previous exams, is available on the course website. Recommended books for further information: H. P. Williams, Model building in Mathematical Programming, 4th ed., Wiley, 1999. H. P. Williams, Logic and Integer Programming, Springer, 2009. 
Assessment and grading criteria
The exam consists of a written test. Students undergo four to six questions both theoretical and practical. The first question, particularly important, is to write, for a given problem, a corresponding linear mathematical model able to represent it properly (see item 1 of Contents).

