Introduction to Linear Programming with Python
Switch branches/tags
Nothing to show
Clone or download
Latest commit 4e62d0a Feb 7, 2018

README.md

Introduction to Linear Programming with Python

Linear Programming, also sometimes called linear optimisation, involves maximising or minimising a linear objective function, subject to a set of linear inequality or equality constraints.

It has great applications in the field of operations management but can be used to solve a range of problems.

Leonard Kantrovich was awarded the 1975 Nobel Prize in Economics for the optimal allocation of resources using linear programming.

Examples of problems that can be solved by linear programming include:

  • Scheduling - Rota or Factory scheduling to meet production/workload demands
  • Resourcing Problems - How best to allocate resources to maximise profits
  • Blending Problems - Cost effectively blending a mixture of components
  • Sudoku

In this set of notebooks, we explore some linear programming examples, starting with some very basic Mathematical theory behind the technique and moving on to some real world examples.

We will be using python and the PuLP linear programming package to solve these linear programming problems. PuLP largely uses python syntax and comes packaged with the CBC solver; it also integrates nicely with a range of open source and commercial LP solvers.

Part 1 - Introduction to Linear Programming

Part 2 - Introduction to PuLP

Part 3 - Real world examples - Resourcing Problem

Part 4 - Real world examples - Blending Problem

Part 5 - Using PuLP with pandas and binary constraints to solve a scheduling problem

Part 6 - Mocking conditional statements using binary constraints