0% found this document useful (0 votes)
106 views4 pages

Linear Programming With Python and PuLP - Part 3 - Ben Alex Keen

The document discusses using linear programming to solve a real-world resourcing problem. It describes a car manufacturing problem with constraints on production resources. By producing 2 of Car A and 6 of Car B, the model maximizes monthly profit to €330,000, a €30,000 increase over the original.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views4 pages

Linear Programming With Python and PuLP - Part 3 - Ben Alex Keen

The document discusses using linear programming to solve a real-world resourcing problem. It describes a car manufacturing problem with constraints on production resources. By producing 2 of Car A and 6 of Car B, the model maximizes monthly profit to €330,000, a €30,000 increase over the original.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

3/9/2021 Linear Programming with Python and PuLP – Part 3 – Ben Alex Keen

Ben Alex Keen

LINEAR PROGRAMMING WITH PYTHON AND PULP - PART


1ST APRIL 2016 | IN PYTHON | BY BEN KEEN

Linear Programming with Python and PuLP


Part 3
Real world examples – Resourcing Problem
We’ll now look at 2 more real world examples.

The rst is a resourcing problem and the second is a blending problem.

Resourcing Problem¶
We’re consulting for a boutique car manufacturer, producing luxury cars.

They run on one month (30 days) cycles, we have one cycle to show we can provide value.

There is one robot, 2 engineers and one detailer in the factory. The detailer has some holiday o , so only h
days available.

benalexkeen.com/linear-programming-with-python-and-pulp-part-3/ 1/4
3/9/2021 Linear Programming with Python and PuLP – Part 3 – Ben Alex Keen

The 2 cars need di erent time with each resource:

Robot time: Car A – 3 days; Car B – 4 days.

Engineer time: Car A – 5 days; Car B – 6 days.

Detailer time: Car A – 1.5 days; Car B – 3 days.

Car A provides €30,000 pro t, whilst Car B o ers €45,000 pro t.

At the moment, they produce 4 of each cars per month, for €300,000 pro t. Not bad at all, but we think w
do better for them.

This can be modelled as follows:

Maximise

Profit = 30, 000A + 45, 000B

Subject to:

A ≥ 0

B ≥ 0

3A + 4B ≤ 30

5A + 6B ≤ 60

1.5A + 3B ≤ 21

In [1]:

import pulp

In [2]:

# Instantiate our problem class


model = pulp.LpProblem("Profit maximising problem", pulp.LpMaximize)

Unlike our previous problem, the decision variables in this case won’t be continuous (We can’t sell half a c
the category is integer.

In [3]:

benalexkeen.com/linear-programming-with-python-and-pulp-part-3/ 2/4
3/9/2021 Linear Programming with Python and PuLP – Part 3 – Ben Alex Keen

A = pulp.LpVariable('A', lowBound=0, cat='Integer')


B = pulp.LpVariable('B', lowBound=0, cat='Integer')

In [4]:

# Objective function
model += 30000 * A + 45000 * B, "Profit"

# Constraints
model += 3 * A + 4 * B <= 30
model += 5 * A + 6 * B <= 60
model += 1.5 * A + 3 * B <= 21

In [5]:

# Solve our problem


model.solve()
pulp.LpStatus[model.status]

Out[5]:

'Optimal'

In [6]:

# Print our decision variable values


print "Production of Car A = {}".format(A.varValue)
print "Production of Car B = {}".format(B.varValue)

Production of Car A = 2.0


Production of Car B = 6.0

In [7]:

# Print our objective function value


print pulp.value(model.objective)

330000.0

benalexkeen.com/linear-programming-with-python-and-pulp-part-3/ 3/4
3/9/2021 Linear Programming with Python and PuLP – Part 3 – Ben Alex Keen

So that’s €330,000 monthly pro t, compared to their original monthly pro t of €300,000

By producing 2 cars of Car A and 4 cars of Car B, we bolster the pro ts at the factory by €30,000 per mon

We take our consultancy fee and leave the company with €360,000 extra pro t for the factory every year

In the next part, we’ll be making some sausages!

Introduction
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

     

© 2021 Ben Alex Keen All rights reserved

  

benalexkeen.com/linear-programming-with-python-and-pulp-part-3/ 4/4

You might also like