Course overview
Businesses, governments and not-for-profit organisations are faced with complex decisions, for example, what and where to produce, how to do it cost effectively, and how to schedule resources. In the modern world, factors affecting decisions are complex, and decision-making is often too difficult to do by hand. Operations Research (OR) provides the tools needed to make such decisions rigorously and effectively. This course in OR will present some of the basic methods, concentrating on mathematical modelling and optimisation. But, OR is an interdisciplinary topic drawing from game theory, statistics, computer science and applied mathematics; we will show some of these connections. The course focuses on linear optimisation problems involving both continuous and integer variables, because they are used in a wide range of real-world situations. It will present the theory underlying optimisation, and also demonstrate how to apply optimisation techniques on real problems, for example maximising profit, minimising cost, or minimising risk. Topics covered include: linear programming; simplex method; duality and complementary slackness; sensitivity analysis; primal and dual algorithms; algorithm analysis and complexity; integer linear programming; branch-and-bound; heuristic methods; interior point methods; and network analysis. Examples will be presented from important application areas such as energy, telecommunications, transportation and manufacturing.
Course learning outcomes
- Ability to translate real-world problems, described verbally, into a mathematical formulation.
- Understanding of algorithm design and analysis, and computational complexity.
- Proficiency in writing computer programs that call solvers to perform optimisations.
- Ability to critically analyse and interpret results and present them in oral and written form.
- Ability to work in a team to solve practical problems on time through division of work and effective communication.
- Specific knowledge: (a) Formulation of linear programs (LP) in standard form, and use of the simplex method to solve them; (b) MATLAB programming for solving optimisation problems; (c) Use of duality, complementary slackness and sensitivity analysis to examine optimisation problems; (d) Algorithm analysis and computational complexity; (d) Formulation of network problems, and methods for solving them; (e) Use of branch-and-bound and heuristic methods to solve integer linear optimisation problems; (f) Better understanding of the application of linear algebra in solving practical problems.