Operations Research

Module aims

The goal of this course is to study quantitative methods for decision making. The emphasis is on numerical algorithms to solve constrained optimisation programs. The methods studied in the course are applicable to problems arising in many areas, including computer science, economics, logistics, and industrial engineering.

Learning outcomes

Learning Outcomes - Knowledge and Understanding To know the specific material covered in the Syllabus, including the ability to do the following: To identify application domains for linear programming and game theory To classify mathematical programs on the basis of the number and types of their solutions To understand solution techniques for linear programs with real and integer-valued variables To understand the fundamental notions of duality, degeneracy, and sensitivity Learning Outcomes - Intellectual Skills To model adversarial decision problems using linear programming To select an appropriate solution method for a given mathematical program To recognize patterns in real-world decision problems that can be modelled using linear programming To take resource allocation decisions based on mathematical analysis To formulate mathematical programs used for decision-making To formulate an adversarial decision problem in terms of a game Learning Outcomes - Practical Skills To solve linear programs using open source software

Module syllabus

Introduction: review of mathematical background, optimal decision making processes in design and management. Problems examples. Part 1: Linear programming (LP) Foundations: definitions, basic-feasible solutions, the simplex method, degenerate solutions, two-phase simplex method. duality, shadow prices.  LP modelling techniques: resource allocation & blending models, operations planning models, shift scheduling models, time-phased models, linearization methods (min-max, min-min, goal programming) Part 2: Advanced methods Integer linear programming: Gomory's cutting plane method for pure and mixed integer linear programming. Search methods; branch-and-bound and branch-and-cut algorithms. Game theory: definitions, two person non-cooperative games, saddle points.  


For Computing students C233 - Computational Techniques, there are no pre-requisites for ISE and JMC students.

Teaching methods

Lectures and tutorials. Tutorials will develop case studies based on the GNU Linear Programming Kit. Two assessed courseworks will be given throughout the course.


*This is a level 6/H course

Reading list


Module leaders

Dr Giuliano Casale