Below are details of our courses which will be running in the current academic year and details on how to apply.

Heuristic and Approximation Algorithms are Operational Research tools that provide solutions to real-world optimisation problems across a wide range of application areas despite their inherent complexity and uncertainty. Heuristic algorithms include a range of techniques from simple ‘rules of thumb’ to more sophisticated methods inspired on physical and natural processes. Heuristics can provide good-quality solutions (though not necessarily optimal) in practical computational time to otherwise intractable problems. Approximation algorithms are designed to guarantee solutions of given quality based on worst-case analysis. The course features the main techniques for heuristic and approximation algorithms as well as an insight into data science and machine learning in the context of heuristic optimisation. The course is delivered by a set of experts in the field with strong publication records and experience in the design and deployment of these methods on real-world problems.

Basics of complexity and optimization theory as well as computer algorithms. Some reading material is provided to students a few weeks in advance to the start of the course.

On completion of the course, students should have a working knowledge of the theory, design, implementation and applications of the main heuristic methods and approximation algorithms, as well as an insight into their interplay with data science and machine learning in the context of optimisation scenarios.

– Understanding of the fundamental theory underlying approximation algorithms and the main heuristic optimisation methods (e.g. local search, metaheuristics, hyper-heuristics, evolutionary algorithms, etc.).
– Awareness of the strengths and limitations of different heuristic optimisation methods.
– Ability to critically evaluate the applicability and quality of different heuristic optimisation methods.
– Capability for designing and developing appropriate heuristic methods to different optimisation problems.
– Awareness of existing software tools for the rapid prototyping of heuristic optimisation methods.
– Understanding of the fundamentals of data science and machine learning in the context of heuristic optimisation.

Introduction to Optimization, Complexity Theory, Approximation Algorithms, Local Search, Meta-heuristics, Multi-objective Heuristics, Hyper-heuristics, Evolutionary Algorithms, Hybrid Heuristics, Big Data and Machine Learning.

A few formative assessments throughout the course in the form of quizzes and practical exercises, in addition to a summative test at the end of the course.


1. Undergraduate level knowledge of linear algebra (e.g. the relevant chapter in Winston’s textbook on OR) and calculus (e.g. basic notions of continuity and differentiability).
2. The students are expected to have familiarized themselves with the material marked with an asterisk in the teaching schedule and with other directed reading.


1. To develop knowledge of different aspects of convex optimization and its applications.
2. To develop an ability to model real life problems as mathematical programming problems and an ability to adapt industry standard solvers to process them.
3. To develop an ability to analyze optimization algorithms for their merits and shortcomings.
4. To develop an ability to work independently as well as in a peer group with limited supervision.


The course provides opportunities for students to develop and demonstrate knowledge and understanding, qualities, skills and other attributes in the following areas:

(A) Knowledge and Understanding

On successful completion of this course, the students will have

1. knowledge of theoretical underpinning of convexity in optimization and of general nonlinear programming methods. This knowledge will act as a foundation to understand an advanced graduate textbook or a research paper without significant help.
2. understanding of linear programming methods and related theoretical issues.
3. knowledge of semi-definite programming.
4. ability to use an industry standard optimization software system for processing optimization models.

(B) Cognitive Skills

On successful completion of this course, the students will be able to

5. formulate realistic industrial problems as mathematical programming problems.
6. analyze critically the choice of algorithms for solving different classes of a particular optimization model regarding their computational effectiveness.
7. construct elementary proofs related to the properties of optimization methods.

(C) Other Skills and Attributes (Practical/Professional/Transferable)

On successful completion of this course, the students will be able to

8, plan and execute a solution to an optimization problem as a group and will be able to present the results to peers and tutors.


Foundations of Convexity: affine and convex sets, convex functions, composition of convex functions.

General Convex Optimization: examples of convex optimization problems, duality, unconstrained minimization, steepest descent method, first and second order optimality conditions in unconstrained minimization, Newton’s method and convergence analysis, norm approximation problems.

Linear Programming: simplex method, duality for LP, interior point methods for LP.

Convex Quadratic Programming: simplex method for quadratic programming, application in finance, KKT conditions for convex QP.

Semi-definite Programming: formulation, extension of interior point methods to SDP, quadratically constrained convex quadratic programs.

A case study of convex optimization in industry.

Numerical Linear Algebra: algorithm complexity, Cholesky factorization, sparsity.

The latter part of this course will be run in two parallel streams: an application stream (A stream) and a theory stream (T stream). The lectures and workshops for the two streams will differ for the two streams for a part of the course, and the students will need to choose beforehand which stream they prefer to follow. Most of the topics of study are the same for both the streams, apart from the topics mentioned below:

A stream: Use of Industry Strength Solver Systems for LP/QP to process industrial problems.

T stream: advanced topics in optimization including interior point methods for convex quadratic optimisation, complexity analysis via self-concordance, interior point methods for second order cone programming, Nesterov’s method for smooth and non-smooth programming.


[1] S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004. As of June 2009, this text is freely available to download at . The chapters relevant to this course are 2-5 and 9-11.
[2] D.G. Luenberger, Linear and Nonlinear Programming, Kluwer, 2003. The chapters relevant to this course are 2-10.
[3] R. Fourer, .M. Gay, B.W. Kernighan, Ampl: A Modeling Language for Mathematical Programming, Brooks Cole, 2002.
[4] Hillier and Lieberman, Introduction to Operations Research, McGraw Hill, 2002. The chapter relevant to this course is 13.


The week long course will focus on the principles of time-series forecasting, and recent developments in predictive analytics. Many examples will be used and there will be opportunities for participants to use models ‘hands-on’ and to experiment with real data. Links between forecasting, predictive analytics and decision making under uncertainty will be emphasised. The relevance of forecasting to non-stationary environments will be discussed, for example in inventory, simulation and optimisation models.

Location and Session Leaders

Sessions will be led by experts from the Lancaster Centre for Forecasting, calling on external experts if necessary. The overall co-ordinator will be Professor John Boylan.

Course Structure

The course will be subdivided into three sections, as follows:

•Time series modelling
•Econometric models
•Predictive analytics

This forms a natural sequence, moving from univariate models to classical multivariate models to modern methods which address both univariate and multivariate data.

The session on time series modelling will commence with the simplest methods, with opportunities for participants to experiment with parameter choices and to appreciate the scope for parameter optimisation methods to improve forecast accuracy. Model-based approaches will be covered, as well as criteria for choosing between forecasting models. A more general discussion will be held on error measurement and concerns about the reproducibility of forecasting research.

The session on econometric models will start with an introduction to the concepts involved, but will assume some knowledge of regression modelling. It will cover diagnostic analysis of regression models and model choice. This session will also cover some of the important technicalities of econometric time-series models, such as spurious regression, cointegration and modelling non-stationary data. It will conclude with a broader discussion of asymmetric loss functions and forecaster behaviour.

The final session on predictive analytics will cover some key topics for time series analysis. This will include data mining, with a focus on time series clustering for data exploration, and time series classification. It will also cover artificial intelligence for forecasting, focussing on Artificial Neural Networks and recent developments in ensemble methods for forecasting.

Day 1

The initial half-day is devoted to learning the most used System Dynamics software: Vensim, in a laboratory. Initially a simple model to familiarise with the existing components of System Dynamics is offered. Then, rules for modelling and basic structures in System Dynamics are taught using relevant examples in the laboratory.

The objective of the day 1 is to offer students a solid base to start modelling using System Dynamics..


Software requirements

  • Vensim PLE Software Download link and brief intro to the simulation software– Please, read the document, install the software in your laptop and follow the brief exercise.
  • Selected readings from Sterman (200) Business Dynamics, McGraw Hill.

Please note that preliminary reading will be available on-line in advance of the course.


Introduction to System Dynamics

We start with a brief introduction to the main software to develop System Dynamics model: Vensim. The basic building blocks of system dynamics modelling are introduced. We then use modelling and simulation to explore common structures in System Dynamics. A workshop in the laboratory provides hands-on experience of a simulator and the software used to create it.


  • Gary, S, Kunc, M, Morecroft J and Rockart, S. 2008. System Dynamics and Strategy. System Dynamics Review 24: 407–430
  • Kunc, M., 2016, December. System dynamics: a behavioral modeling method. In Proceedings of the 2016 Winter Simulation Conference (pp. 53-64). IEEE Press.
  • Kunc, M. ed., 2017. System Dynamics: Soft and Hard Operational Research. Springer.

Please note that follow-up readings will be posted on-line after the course.


12:30-13:30        Welcome buffet
13:30-15:00        (1.5 hours)         Laboratory – Introduction to System dynamics software: Vensim
15:00-15:30        Tea break
15:30-17:00        (1.5 hours)         Laboratory – Rules for modelling and basic structures in System Dynamics
17:00-17:30        (0.5 hour)           Summary for the Day – Q&A
17:30-18:30         Free time
18:30-20:00         Dinner with Faculty at The Dirty Duck (at your own expense)

Outline for Day 2

Day 2

The purpose of this day is to introduce to system dynamics (SD) and illustrate its use within the field of operational research, to develop models about the strategic end of operations. The day includes lectures, simulation workshops and a selection of applied research topics.

During the course as-a-whole students will learn enough about system dynamics to appreciate how it might apply to their own research interests. Options for follow-up courses will also be discussed.


  • Forrester (1995) The beginning of system dynamics, McKinsey Quarterly, 1995, 4, 4-16.
  • iThink 10.1 Software Download Link – Please, read the document and install the software in your laptop.

Please note that preliminary reading will be available on-line in advance of the course.


Introduction to System Dynamics

We start with a brief history of system dynamics and the feedback view of firms and society. The basic building blocks of system dynamics modelling are introduced. We then use modelling and simulation to examine long term dynamics of investment decision making. A workshop provides hands-on experience of a simulator and the software used to create it.

System Dynamics and Differential Equations
A workshop to build and interpret a tiny system dynamics model whose cyclical dynamics are equivalent to the sinusoidal solution of a second-order linear differential equation. The model illustrates a key idea in SD that ‘feedback structure gives rise to dynamic behaviour’.

Research Applications of System Dynamics
A glimpse of published research that applies system dynamics modelling and simulation to corporate diversification, an important topic in the strategy area. Then there is a discussion of how to communicate model-based simulation studies to other academics.


  • Video: Morecroft (2009), Reflections on System Dynamics and Strategy, a lecture originally delivered at Worcester Polytechnic Institute WPI in Massachusetts. The lecture is now on YouTube and can be found by Googling ‘System Dynamics and Strategy’.


  • Morecroft (1999), Management attitudes, learning and scale in successful diversification, Journal of the Operational Research Society, 50, 4, 315-336.
  • Repenning (2003), Selling system dynamics to (other) social scientists, System Dynamics Review, 19, 4, 303-327.
  • Kunc and Morecroft (2010), Managerial Decision-Making and Firm Performance Under a Resource-Based Paradigm, Strategic Management Journal, 31(11), 1164-1180, 2010. Please note that follow-up readings will be posted on-line after the course.

Please note that follow-up readings will be posted on-line after the course.


9:00-10:30          (1.5 hours)          Lecture – Introduction to the system dynamics field
10:30-11:00        Coffee break
11:00-12:30        (1.5 hour)           Workshop – Using a simulator to examine investment dynamics
12:30-13:30        Lunch on you own
13:30-15:00        (1.5 hours)         Workshop – System dynamics and differential equations
15:00-15:30        Tea break
15:30-17:00        (1.5 hours)         Lecture – Research applications of system dynamics
17:00-17:30        (0.5 hour)           Summary for the Day – Q&A

Outline for Day 3

Day 3

A discussion of using System Dynamics as part of hybrid models will be offered. Hybrid models are becoming mainstream due to the existence of more flexible software. Hybrid models involve combining System Dynamics, Discrete Event Simulation and Agent Based Model. Presentation of recent works and explanation of the methods to develop hybrid models will be offered.

A discussion of using System Dynamics as part of hybrid models will be offered. Hybrid models are becoming mainstream due to the existence of more flexible software. Hybrid models involve combining System Dynamics, Discrete Event Simulation and Agent Based Model. Presentation of recent works and explanation of the methods to develop hybrid models will be offered.

Finally, applications of System Dynamics in promising areas: Healthcare and Behavioural Operational Research are discussed.


  • Selected chapters in Rahmandad, H., Oliva, R., Osgood, N.D. and Richardson, G., 2015. Analytical Methods for Dynamic Modelers. MIT Press.
  • Selected chapters in Kunc, M., Malpass, J., White, L. (Eds.), 2016. Behavioral Operational Research: Theory, Methodology and Practice . Palgrave
  • Morgan, J.S., Howick, S. and Belton, V., 2017. A toolkit of designs for mixing Discrete Event Simulation and System Dynamics. European Journal of Operational Research, 257(3), pp.907-918.
  • Rahmandad, H. and Sterman, J., 2008. Heterogeneity and network structure in the dynamics of diffusion: Comparing agent-based and differential equation models. Management Science, 54(5), pp.998-1014.
  • Viana, J., Brailsford, S.C., Harindra, V. and Harper, P.R., 2014. Combining discrete-event simulation and system dynamics in a healthcare setting: A composite model for Chlamydia infection. European Journal of Operational Research, 237(1), pp.196-206.


Methodological aspects of using Optimisation and System Dynamics.
Methodological aspects of using System Dynamics in hybrid models.
A brief discussion of System Dynamics use in behavioural research and healthcare.


9:30-11:00          (1.5 hours)          Overview of the use of Optimisation in System Dynamics
11:00-11:30        Coffee break
11:30-12:30        (1 hour)              Assessment – Multiple Choice Questionnaire
12:30-13:30        Lunch on your own
13:30-15:00        (1.5 hours)         Overview of the use of System Dynamics in hybrid models
15:00-15:30        Tea break
15:30-17:00        (1.5 hours)         Emergent applications of System Dynamics in Healthcare and  Behavioural Operational Research
17:00-17:30        (0.5 hour)           Summary for the Day – Q&A


Stochastic Modelling is concerned with uncertainty. Many activities in real-life situations are not deterministic in nature, but rather have a probabilistic element attached to them. The Operational Research literature abounds with applications of Stochastic Modelling, with Healthcare, Transport, Communications, and Finance being just a few examples. This course will present some of the theory behind such modelling processes, but consideration will also be given to applications by means of case studies.


Much of the material needed as background reading for this course will be provided on-line. Topics included will be elements of stochastic processes, simple queueing systems, aspects of inventory control, maintenance and reliability processes.


The course aims to provide an appreciation of the theory which has been developed to model real-life situations which have a probabilistic entity. On completion of the course, delegates should be better prepared to understand the more sophisticated models that appear in the literature.


On completion of the block, students will be expected to:

  • understand the basics of stochastic processes, with particular relevance to queueing theory, inventory control, maintenance and reliability,
  • be aware of the rich diversity of scenarios to which stochastic modelling may be applied,

be conscious of the relationships and complementarities between analytic and simulation modelling.


  1. Markov Chains. Markov processes, finitely many states, continuous-time chains, random walks, branching processes, renewal processes.
  2. Queueing Systems and Networks. Queues with general arrival and service patterns, queues in series and in parallel, batch arrivals and services, phase-type service distributions, numerical approaches to transient behaviour.
  3. Maintenance, reliability and renewal processes. Replacement decisions (age, preventative, block, etc), inspection criteria, stochastic comparisons of system reliabilities and maintenance policies, scheduling and sequencing decisions, continuous and discrete renewal and repair processes and their computational requirements.
  4. Stochastic models of inventory control. Review of deterministic models as approximations to stochastic situations, Newsboy-type problems, time-varying demands, stochastic demand with constant lead-times, stochastic lead-times.
  5. Brownian Motion. Local properties of Brownian paths, canonical processes, Gaussian processes, filtration and stopping times.
  6. Case studies. Each of the above topics will be illustrated by case studies of applications from fields such as finance, telecommunications, epidemics, transport, healthcare.


Assessments, which will be formative in nature, will be held each day. They will take a variety of formats, and will typically last about half-an-hour. Feedback will be provided before the end of the course.


Simulation is one of the most widely used operational research techniques. It involves the development of an imitation on a computer of the system under study, followed by experimentation to understand and investigate improvements to the system. This course provides an understanding of simulation, with a focus on the mathematical and statistical principles of stochastic simulation modelling. The main technique of interest is discrete-event simulation, although other simulation techniques will be introduced.

An understanding of the basic principles of statistics including confidence intervals and hypothesis testing.
It would be useful to read some parts of the following books.

Statistical Aspects
• Krzanowski, W.J. 2010. An Introduction to Statistical Modelling. Wiley, Chichester, Uk.
• Makridakis, S. Wheelwright, S.C. and Hyndman, R.J. 1998. Forecasting: Methods and Applications. 3rd ed., New York, Wiley.

Simulation Concepts
• Pidd, M. (2005). Computer Simulation in Management Science, 5th ed. Wiley, Chichester, UK.
• Robinson, S. (2014). Simulation: The Practice of Model Development and Use. 2nd ed., Palgrave, UK.
• Banks et al. (2001) Discrete Event System Simulation by (3rd edition), Prentice Hall. (Chapter 12)
• Law (2006) Simulation Modeling and Analysis (4th edition). (Chapters 10-12)

The aim of the course is to provide an understanding of the mathematical and statistical principles of stochastic simulation modelling. The specific objectives are as follows:

• To understand the alternative simulation methods and the requirements for simulation studies
• To develop skills in simulation modelling and simulation computer packages
• To understand the nature of, and approaches to, input data modelling
• To be able to analyse the output from a simulation model using appropriate methods

Subject Knowledge and Understanding
On completion of the course students will be expected to:

• Understand the basic principles of simulation and performing simulation studies.
• Understand the basic theory of simulation analysis including input data analysis, experimentation and output analysis.
• Understand the key stages in developing and using simulation models
• To be aware of the strengths and limitations of the approaches covered.

Intellectual Skills
On completion of the course students will be expected to:

• Be able to develop and use a simulation model for a given problem situation.
• Be able to evaluate the quality of a simulation analysis

Practical Skills
On completion of the course students will be expected to:

• Be familiar with the use of a simulation software package (SIMUL8).
• Be able to follow an appropriate life-cycle for the development and use of simulation models
• Be familiar with the use of statistical analysis software (e.g. Excel, Minitab, SPSS).


• Simulation methods and simulation software
• Discrete-event simulation: how it works
• Simulation studies and the simulation modelling life-cycle
• Model validation
• Input Modelling
• Output Analysis
• Analysis of a single scenario – obtaining accurate results
• Basics of comparing multiple scenarios
• Experimental Design and Analysis
• Data analysis methods in Simulation Modelling
• Basic model estimation and model fitting
• Modelling input uncertainty
• Metamodelling
• Simulation optimisation
• Bootstrapping

Material intended for preliminary reading discussing basics of the statistical aspects of simulation.

Combinatorial optimisation problems typically involve finding the best arrangement, ordering, or selection of objects. There are numerous applications in Operational Research including scheduling of orders on machines in production industries, routing of vehicles to deliver goods to customers, and assigning of personnel such as nurses or airline crew to work periods. This course provides the main approaches and techniques required to tackle combinatorial optimisation problems. The main topics include computational complexity, types of algorithms, optimisation problems in networks, branch-and-cut, and branch-and-price.

Main contributors: Antonio Martinez-Sykora (University of Southampton), Trivikram Dokka (Lancaster University), Bo Chen (University of Warwick), Adam Letchford (Lancaster University), Chris Potts (University of Southampton), Stefano Coniglio (University of Southampton)

The basics of linear and integer programming

The course aims at providing an appreciation of the types of combinatorial problems that arise in Operational Research, and providing knowledge of the main approaches for tackling such problems.

On completion of the course, the student will be expected to:

•understand the basics of complexity theory and be able to provide proofs that certain problems are NP-hard;
•have knowledge of a range of algorithms for shortest path, minimum spanning tree and network flow problems;
•analyse the worst-case running time of an algorithm;
•have an appreciation of the main types of approaches that can be used for tackling combinatorial optimization problems, together with their limitations;
•understand the principles behind branch-and-cut and branch-and-price, and be able to apply these approaches to new problems;
•have an overview of how combinatorial optimization techniques can be applied in an area such as data science.

1.Introduction. Types of problems (for example, machine scheduling, vehicle routing and the travelling salesman problem, cutting and packing, set covering and partitioning).  Integer programming formulations.

2.Computational Complexity. Analysis of worst-case running time of algorithms (sorting, matrix multiplication, divide and conquer, dynamic programming). NP-completeness, reducibility.

3.Shortest path and minimum spanning tree algorithms.  Label setting shortest path algorithms (Dijkstra’s algorithm and its variants).  Label correcting shortest path algorithms (Bellman-Ford algorithm and its variants).  Greedy algorithms for the minimum spanning tree (Kruskal, Prim).

4.Network flow algorithms:  Maximum flow problem, augmenting paths, max-flow min-cut, Ford-Fulkerson algorithm and its variants.  Minimum cost flow problem.

5.General Solution Approaches.  Branch and bound, dynamic programming, constraint satisfaction, Lagrangean relaxation.

6.Branch and cut.  Valid inequalities, polyhedra and facets, separation, computational aspects.

7.Danzig Wolfe Decomposition.  Formulations using column generation, pricing algorithms, branching strategies.

8.Benders Decomposition.

9.Applications in Data Analysis and Visualisation.  Models from regression and classification, clustering and visualisation.