Topic outline

  • Announcements / Zoom

  • List of corrections

    • Seminar Solutions - Week 8 (Q2)  -   in the definition of unboundedness,  it is supposed to say C^T x >= k instead of <=.
    • Solutions to Coursework 3 (Weeks 8,9,10)  -  For the solution to Week 8, Q1(a), there were some incorrect signs (next to 400).   

  • Lecture Notes

    Each week, I will upload my written lecture notes in the weekly sections and these written notes will form the examinable content for the module.

    Here I also providing printed lecture notes (from a previous version of this module taught by Dr Justin Ward). These printed lecture notes cover essentially the same material as we will cover but provide more detail and explanation in places. Depending on their learning style, some students prefer to work from the printed notes and others from the written notes, while others use a combination. Therefore I have made both available.

    Please note that the division into weeks for the printed notes might slightly mismatch how we proceed but should broadly be the same. Please email me if you find any issues either with these printed notes or the written notes or if you're unsure about something in the notes.


  • Week 1 : Introduction to Linear Programming

    Topics Covered:

    • Introduction to the module.
    • Background and notation from linear algebra.
    • Definition of a linear program.
    • Procedure for transforming a linear program to standard inequality form.
    • Definition of feasible and optimal solutions (this was not covered and will be covered next week).

    By the end of Week 1, you should be able to:

    • Identify the parts of a mathematical optimisation program.
    • Define concepts like linear combinations, linear equations, and linear inequalities.
    • Define what is meant by a linear program.
    • Convert a given linear program into standard inequality form.
    • Define and understand the concepts of a feasible solution and an optimal solution of a linear program (will be covered next week).

  • Week 2 : Modelling with Linear Programming

    Topics covered:

    • Definition of feasible and optimal solutions (which we didn't manage to cover last week)
    • Modelling production problems with linear programs.
    • Modelling transportation problems with linear programs.
    • Basic geometry of lines in the plane (if reading the printed notes, this is in Week 3 printed notes).

    By the end of Week 2, you should be able to:

    • Formulate linear programs to model production problems.
    • Formulate linear programs to model transportation problems.


  • Week 3: Geometry of Linear Programming

    Topics covered:

    • Geometry of lines in 2 dimensions (partially covered at the end of Week 2).
    • Solving LPs in 2 dimensions via sketching.
    • Definition of infeasible and unbounded linear programs.
    • Generalisations to higher dimensions (only very briefly mentioned)
    • Definitions of convex combinations and extreme point solutions.

    By the end of Week 3, you should be able to: 

    • Sketch the feasible regions of linear programs in 2 dimensions and find their solutions .
    • Explain what it means for a linear program to be infeasible or unbounded.
    • Understand what is meant by an extreme point solution, and a convex combination, and how these concepts work geometrically.


  • Module Description

    Many real-world operational problems involve e.g. identifying the best possible way of producing goods, allocating resources, or transporting goods subject to a set of constraints. This module introduces you to the practical modelling of such problems, together with the mathematical theory behind the most widespread tools for solving them. You will learn how to model common operational problems as linear programs, as well as the underlying theory of linear programming. Building on these concepts, you will also learn basic game theory towards the end of the module. Game theory is about modelling and understanding situations that arise when competing agents interact strategically and rationally to maximise their gains. This has applications in the social sciences and economics.This module is primarily a theoretical module but with clear practical applications. As such it includes a blend of fundamental theorems with proofs, alongside practical algorithms and modelling techniques.

  • Week 4: Extreme Points and Basic Feasible Solutions

    Topics covered:

    • Definitions of convex combinations and extreme point solutions (covered in week 3)
    • Procedure for converting an LP to standard equation form.
    • Proof that every LP with an optimal solution has an optimal extreme point solution.
    • Definition of basic feasible solutions.
    • Proof that a solution is an extreme point solution if and only if it is a basic feasible solution (proof by example given in lectures - full proof in printed lecture notes). 

    By the end of Week 4, you should be able to: 

    • Convert a linear program to standard equation form using slack variables.
    • Explain what a basic feasible solution to a linear program is, and determine whether a given solution is a basic feasible solution..
    • Prove results about convex combinations, extreme points, and basic feasible solutions of linear programs.

  • Week 5: The Simplex Algorithm

    Topics covered:

    • The Simplex algorithm for problem with a feasible origin
    • Detecting unbounded linear programs using the simplex algorithm (partially covered and will continue next week)

    By the end of Week 5, you should be able to:

    • Carry out the tasks to run the Simplex algorithm on small examples:
      • Produce an initial tableau from linear program with a feasible origin.
      • Perform pivot operations on a valid tableau to obtain a new tableau.
      • Determine when an optimal solution has been found and determine its objective value and the values it assigns to variables from the tableau.
      • Determine if a linear program is unbounded by using the simplex algorithm (partially covered and will continue next week)

  • Week 6: The 2-Phase Simplex Algorithm

    Topics covered:

    •  How the simplex algorithm determines unboundedness of a linear program (continuation from last week)
    • Basic feasible solutions revisited
    • Geometry of the simplex algorithm (non-examinable)
    • The 2-phase simplex algorithm
    • Termination of the simplex algorithm (non-examinable)

    By the end of Week 6, you should be able to:

    • Carry out the 2-phase simplex algorithm to solve general linear programs

  • Week 7: Reading Week

  • Week 8: Duality I

    Topics covered:

    • The dual of a linear program
    • The Weak Duality theorem
    • Strong Duality Theorem

    By the end of Week 8, you should be able to:

    • Find the dual of a given linear program
    • Explain the concept of weak duality, and the related theorem.
    • Find the optimal solution to the dual of a program using its optimal simplex tableau.



  • Week 9: Duality II and Advanced Modelling

    Topics covered:

    • Complementary Slackness
    • Interpretation of the dual 
    • Modelling min-max, max-min, and piecewise linear concave and convex objectives

    By the end of Week 9, you should be able to:

    • Write the complementary slackness conditions for a given program and solutions to it and its dual.
    • Use complementary slackness to check whether or not a given solution is optimal.
    • Give an intuitive interpretation for dual variables, and make decisions or recommendations based on them
    • Formulate linear programs to model problems with a min-max or a max-min objective and that involve maximising a piecewise linear concave function.

  • Week 10: Game Theory I

    Topics covered:

    • Modelling min-max, max-min, and piecewise linear concave and convex objectives
    • Zero-sum two-player strategic games
    • The theory of rational choice
    • Security levels
    • Nash equilibria

    By the end of Week 9, you should be able to:

    • Give the payoff matrix for a simple two-player zero-sum game.
    • Explain the concepts of (pure) strategies and security levels.
    • Use the concept of a player's security level to say when a pure Nash equilibria exists for a 2-player zero-sum game.

  • Week 11: Game Theory II

    Topics covered:

    • Mixed strategies 
    • Security levels and general Nash equilibria for mixed strategies
    • Linear programming and security levels
    • Every 2-player zero-sum game has a (mixed) Nash equilibrium


    By the end of Week 10, you should be able to:

    • Explain the concepts of security levels and general Nash equilibria for mixed strategies
    • Compute security levels for mixed strategies and compute when a pair of strategies forms a Nash equilibirum
    • Give a linear program to find a mixed strategy with best security level 
    • Understand how duality is used to show that every 2-player zero-sum game has a Nash equilibrium

  • Syllabus

    • Module Syllabus (Note that the module content page will contain a more detailed description of what is covered in lectures each week.)

      Lecture 1: Introduction to Linear Programming

      Lecture 2: Modelling with Linear Programs

      Lecture 3: Geometry of Linear Programming

      Lecture 4: Extreme Points and Basic Feasible Solutions

      Lecture 5: The Simplex Algorithm

      Lecture 6: The 2-Phase Simplex Algorithm

      Lecture 7: Duality I

      Lecture 8: Duality II

      Lecture 9: Advanced Modelling / Game Theory I

      Lecture 10: Game Theory II

      Lecture 11: Game Theory III / Revision

  • Module aims and learning outcomes

    • Key objectives of the module

      • Know what a linear program (LP) is and  understand the related basic concepts such as feasible and optimal solutions
      • Be able to apply procedures for converting LPs to standard forms and understand why this is useful.
      • Be able to model real-world problems as LPs.
      • Be able to solve LPs graphically and use this to gain geometric intuition in 2 dimensions.
      • Know and understand the concepts of extreme point solutions and basic feasible solutions and understand why they are equivalent and useful; also be able to use these concepts in proofs such as the proof that every LP has an optimal solution that is an extreme point solution 
      • Be able to apply the simplex algorithm and the 2-phase simplex algorithm to solve a linear program 
      • Be able to find the dual  of an LP
      • Understand the weak and strong duality theorems and their proofs and understand why these theorems are useful  
      • Understand what complementary slackness is, be able to derive the complementary slackness conditions when given an optimal solution, and be able to use these to find the optimal solution of the dual
      • Understand basic concepts of Game Theory such as payoff matrix, strategies, and zero-sum games, understand the notion of a pure Nash equilibrium and how it relates to security levels. 
      • Understand the notion of mixed strategies and mixed Nash equilibrium in zero-sum games and be able to compute security levels in this setting; understand how this is useful for identifying mixed Nash equilibria. Be able to formulate a linear program to find mixed strategies with best security level. Understand how duality is used to show that every 2-player zero-sum game has a mixed Nash equilibrium.

  • Assessment information

    • Assessment Pattern -  80% final written exam | 20% coursework

      Format and dates for the in-term (coursework) assessments

      • There will be three assessed courseworks, each counting for 6.67% of your module mark.  The coursework will consist of exercises that are set every week, but which are to be submitted every 3-4 weeks.  You are strongly encouraged to attempt the exercises in the week they appear rather than leaving them all until close to the submission deadline. Solutions will be released shortly after the deadline. As a result, late submissions will not be accepted. The coursework exercises can be found with the weekly content and can also be accessed here.
      1. Coursework 1 = questions from weeks 1,2,3 to be submitted by: 9am Monday 19 February  (week 5)
      2. Coursework 2 = questions from weeks 4,5,6, to be submitted by: 9am Monday 11 March (week 8)   9am Monday 18 March (week 9)
      3. Coursework 3 = questions from weeks 8,9,10 to be submitted by: 9 am Tuesday 09 April (week 12)


      Format of final assessment

      • A final examination worth 80%. The exam will be an in-person, paper exam. It will be a 3 hour exam. (Students with DDS arrangements will have additional time added.)  Non-programmable calculators will be allowed in the exam (but the exam will be designed not to require any calculator). In particular, your calculator must not be able to graph functions or operate on matrices.


      See below for past papers and more detailed exam information


      Description of Feedback - Feedback comes to you in several forms:

      • You will receive your graded coursework with feedback. 
      • During seminars, you can ask teaching assistants to give feedback on your attempts at seminar questions
      • You can ask me to give feedback on any of your work during the learning support hour
      • You can post on the Student Forum
      • You can also email me

       

  • Where to get help

      • If you are struggling with the module overall, please contact me by email and I will try to find ways to help. My email address is viresh.patel@qmul.ac.uk
      • If you have questions about the module or there is something you don't understand you can do one of the following
      1. Ask a member of staff during your seminar / tutorial
      2. Come and see me during my learning support hour 
      3. Ask me during the break in lectures
      4. Post your question on the student forum or email me the question

  • Coursework

  • Past exam paper and exam information

    The document below provides detailed information about the exam. It is only partially complete and will be updated at the end of week 12. Please note that this year's exam contains a bookwork question which was not the case in previous years; please read the document below for more details.

    Below are links to past papers. 

    • 2023 Exam  [Solutions]  This exam serves as a good indicator of the structure, style and length of the 2024 exam except that the 2024 exam will have a bookwork question; see the Exam information document above for examples of such questions. Also the 2024 exam is 3 hours long and you are not allowed to bring any notes.
    • 2022 Exam  [Solutions]  (This says mock exam on the cover but is in fact the 2022 exam.)
    • 2021 Exam  [Solutions]
    • 2020 Exam. [Solutions]


  • Week 12: Game Theory III and Revision

    Topics covered:

    • General (non-zero-sum) 2-player games
    • Best responses
    • Pure and mixed Nash equilibria in general games
    • The Prisoner's Dilemma (discussed in printed notes)
    • Braess's Paradox (discussed in printed notes - non-examinable)


    By the end of Week 12, you should be able to:

    • Explain the concept of the best response to a strategy.
    • Define the concept of a pure and mixed Nash equilibrium for a general 2-player game.
    • Find best responses and use them to identify pure Nash equilibria for general 2-player games.

  • Q-Review

  • Early feedback questionnaire

  • Additional Resources

    Here is a list of books from the library (including 2 available online) that may be useful for supplementing the lecture material. These are completely optional.

    Note that different authors have different conventions for "standard forms" of linear programs: some use equation form, some use inequality form, and some may even use minimisation programs as their "standard"! If you consult these, you should make sure you understand how this affects the presentation of results.