Optimization Methods and Queuing Theory
DPC-TK1 FEEC BUT DPC-TK1 Acad. year 2020/2021 Winter semester
This study unit is made of two main parts. The first part deals with various currently used optimization methods. Students are first introduced to general Optimization theory. Then various forms of Mathematical Programming are dealt with. After the introduction into Linear and Integer Programming, the attention is given to Nonlinear Programming from its backgrounds like Convexity Theory and optimization conditions to overview and practical use of various optimization algorithms. A practically oriented introduction into Dynamic Programming with finite horizon follows. Students are also introduced into backgrounds of Stochastic Programming and Dynamic programming with infinite horizon, in particular to methods of solving Bellman's equations. The first part is closed by introduction to heuristic optimization algorithms.
The second part of the unit deals with the Queuing Theory. Various models of single queue systems and queuing networks are derived. The theory is then used by solving practical problems. Students are also introduced into simulation methods that are the only feasible solution method when a theoretical model is not available.
Doctoral examination areas:
- Optimization problems, basic terminology and algorithms.
- Linear programming models with emphasis on network applications.
- Integer programming models, use of binary variables to model logical constraints.
- Nonlinear programming, convexity theory, static optimization of multivariate functions.
- Solving discrete optimization problems by the methods of dynamic programming, principles of separability and optimality.
- Markov decision process, Bellman equations and solution algorithms.
- Basic notions of stochastic programming, deterministic reformulations for randomness in objective function and constraints.
- Two-stage models of stochastic programming, basic notions, deterministic reformulation.
- Queuing theory, Poisson process, basic Markovian models.
- Queuing theory, non-Markovian models, queuing networks, simulation of queuing systems.
Language of instruction
Subject specific learning outcomes and competences
Obtaining the skills of studying, understanding, and applying mathematical models as specified in the unit contents. Ability to build mathematical programs solving particular optimization problems. Ability to use software packages that solve mathematical programs. In case of Queuing Theory it is understanding of the mathematical models and ability to apply them in practice.
Developing awareness of various optimization methods from their mathematical background to their application in solving practical problems.
Developing awareness of mathematical models of Queuing Theory and their use in solving technical problems including simulation methods.
Prerequisite kwnowledge and skills
Proficiency in mathematical disciplines at M.Eng. Level
- POPELA, P.; SKLENÁŘ, J. Optimization. Teaching notes, University of Malta, 2003.
- SKLENÁŘ, J. Dynamic Programming Theory and Applications. Teaching notes, University of Malta, 2017.
- POPELA, P. Nonlinear Programming. Teaching notes, University of Malta, 2003.
- ATTARD, N.; SKLENÁŘ, J. Linear Programming. Teaching notes, University of Malta, 2007.
- SKLENÁŘ, J. Introduction to Integer Linear Programming. Teaching notes, University of Malta, 2017.
- SKLENÁŘ, J. Introduction to Dynamic Programming. Teaching notes, BUT, 2018.
- SKLENÁŘ, J. Infinite Horizon Dynamic Programming Models. Teaching notes, University of Malta, 2017.
- POPELA, P. Stochastic Programming. Teaching notes, University of Malta, 2008.
- SKLENÁŘ, J. Queuing Theory. Teaching notes, University of Malta, 2016.
- SKLENÁŘ, J. Queuing Theory - Worksheets. Teaching notes, University of Malta, 2016.
Syllabus of lectures
1. Optimization Theory. Terminology, various types and existence of solutions (Weierstrass theorem). Methods based on Calculus.
2. Linear Programming. Theory and Simplex Method.
3. Integer Programming. Solution methods and use of indicator variables in building models that are out of scope of Linear Programming (models with logical conditions, disjunctive constraints, and similar.)
4. Theory of Nonlinear Programming. Convex sets and functions, optimality conditions.
5. Optimization algorithms of Nonlinear Programming and their application.
6. Dynamic Programming with finite horizon. Introduction to recursion, solution of various practical problems by the methods of Dynamic Programming.
7. Introduction to Stochastic Programming. Terminology, basic forms of Deterministic Equivalents and their solution.
8. Introduction to Dynamic Programming with infinite horizon. Terminology, Markov Decision Process, Bellman's equations and their solution.
9. Heuristic optimization algorithms as a method to solve problem of local optima (genetic and similar algorithms based on populations of solutions).
10. Basics of Queuing Theory, introduction to stochastic processes, Poisson process in detail.
11. Models of simple single queue systems (model M/M/1 and similar).
12. Advanced single queue models (M/G/1, G/M/1 and similar). Network models, Jackson theorem.
13. Simulation methods and their use in analysis of queuing systems.
Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.
Course inclusion in study plans