You are on page 1of 27

Linear Programming (LP)

An important topic of Deterministic Operations Research

Agenda

1. Modeling problems
2. Examples of models and some classical problems
3. Graphical interpretation of LP
4. Solving LP by Simplex using MS Excel
5. Some theoretical ideas behind LP and Simplex
Example 1: Product Mix Problem

Fertilizer manufacturing company, 2 types of fertilizer

Type A: high phosphorus

Type B: low phosphorus


Tons Required/ ton of Fertilizer Maximum amount
Item available per day
Type A Type B

Urea 2 1 1500

Potash 1 1 1200

Rock Phosphate 1 0 500

Net profit per ton 15 10


Product Mix Problem: Modeling

Step 1. The decision variables

Daily production of Type A: x tons


Type B: y tons

Step 2. The objective function (maximize profit)

z = 15x + 10y
Product Mix Problem: Modeling..

Step 3. The constraints

Limited supply of raw materials per day:

Urea: 2x + y ≤ 1500

Potash: x + y ≤ 1200

Rock Phosphate: x ≤ 500


Product Mix Problem: Complete model

Maximize z( x, y) = 15 x + 10y
subject to 2x + y ≤ 1500
x + y ≤ 1200
x ≤ 500
x ≥ 0,
y≥0

Interesting Aspects:
Linearity, Inequalities

Feasible solutions: (0, 0), (1, 1), …


Infeasible solutions: (600, 500), …
Example 2. Blending Problem

Background: Petroleum Refinery

Three types of petrol (minimum Octane rating: 85, 90, 95)

Four types of oils (Octane rating: 68, 86, 91, 99)

Blending oils  petrol, with proportional Octane rating

Objective: best product mix [how much of each petrol, oil to sell]
Example 2. Blending Problem, the data

Raw OcR Available amount Cost/barrel Sale price


oil (barrels/day)
1 68 4000 31.02 36.85
2 86 5050 33.15 36.85
3 91 7100 36.35 38.95
4 99 4300 38.75 38.95

Petrol Type Min OcR Selling Price Demand


(barrels/day)
1 (Premium) 95 45.15 ≤ 10,000

2 (Super) 90 42.95 No limit

3 (Regular) 85 40.99 ≥ 15,000


Blending Problem: Modeling

Step 1. The decision variables

xij = barrels/day of oil i ( i = 1, 2, 3, or 4)


to make petrol j (j = 1, 2, or 3)

Total premium petrol per day = x11 + x21 + x31 + x41

68x11 + 86x21 + 91x31 + 99x41


Its Octane Rating: ≥ 95,
x11 + x21 + x31 + x41

68x11 + 86x21 + 91x31 + 99x41 - 95(x11 + x21 + x31 + x41) ≥ 0.


Blending Problem: Modeling..

Step 2. The objective function


Maximize profit  Maximize revenue

45.15(x11 + x21 + x31 + x41) + premium

42.95(x12 + x22 + x32 + x42) + super


regular
40.99(x13 + x23 + x33 + x43) +
Oil 1
36.85 (4000 – (x11 + x12 + x13)) +
Oil 2
36.85 (5050 – (x21 + x22 + x23)) +
Oil 3
38.95 (7100 –(x31 + x32 + x33)) +
Oil 4
Blending Problem: Modeling...

Step 3. The constraints

(a) The OcR constraints:

68x11 + 86x21 + 91x31 + 99x41 - 95(x11 + x21 + x31 + x41) ≥ 0

68x12 + 86x22 + 91x32 + 99x42 - 90(x12 + x22 + x32 + x42) ≥ 0

68x13 + 86x23 + 91x33 + 99x43 - 85(x13 + x23 + x33 + x43) ≥ 0


Blending Problem: Modeling....

Step 3. The constraints..

(b) Can’t use more oil than we have:

x11 + x12 + x13 ≤ 4000

x21 + x22 + x23 ≤ 5050

x31 + x32 + x33 ≤ 7100

x41 + x42 + x43 ≤ 4300


Blending Problem: Modeling…..

Step 3. The constraints...

(c) The demand constraints:

x11 + x21 + x31 + x41 ≤ 10,000

x13 + x23 + x33 + x43 ≥ 15,000

(d) Allowed values of variables

xij ≥ 0 for i = 1, 2, 3, 4, and j = 1, 2, 3.


Blending Problem: complete model
Maximize:
45.15(x11 + x21 + x31 + x41) + 42.95(x12 + x22 + x32 + x42) + 40.99(x13 + x23 + x33 + x43) +
36.85(4000 – (x11 + x12 + x13)) + 36.85 (5050 – (x21 + x22 + x23)) +
38.95 (7100 –(x31 + x32 + x33)) + 38.95 (4300 – (x41 + x42 + x43))
Subject to:
68x11 + 86x21 + 91x31 + 99x41 - 95(x11 + x21 + x31 + x41) ≥ 0 Octane
68x12 + 86x22 + 91x32 + 99x42 - 90(x12 + x22 + x32 + x42) ≥ 0
rating
68x13 + 86x23 + 91x33 + 99x43 - 85(x13 + x23 + x33 + x43) ≥ 0
x11 + x12 + x13 ≤ 4000
Supply
x21 + x22 + x23 ≤ 5050
x31 + x32 + x33 ≤ 7100
x41 + x42 + x43 ≤ 4300
x11 + x21 + x31 + x41 ≤ 10,000 Demand

x13 + x23 + x33 + x43 ≥ 15,000


Example 3: Transportation problem

Background:

Company has several factories (sinks), and


several suppliers (sources)

Objective: Minimize the cost of transportation


Example 3. Transportation problem, the data

transportation cost per ton

mine plant 1 plant 2 plant 3


capacity/day

Mine 1 800 11 8 2

Mine 2 300 7 5 4

daily ore requirement at each plant:

400 500 200


Transportation problem: the model

Step 1. The decision variables

xij = amount of ore shipped from mine i to plant j per day.

Step 2: The objective function

Minimize the transportation costs:

Minimize: 11x11 + 8x12 + 2x13 + 7x21 + 5x22 + 4x23


Transportation problem: the model..

Step 3. The constraints

(a) Shipment from each mine less than daily production


x11 + x12 + x13 ≤ 800 [capacity of mine 1]
x21 + x22 + x23 ≤ 300 [capacity of mine 2]

(b) Demand of each plant must be met


x11 + x21 ≥ 400 [demand at plant 1]
x12 + x22 ≥ 500 [demand at plant 2]
x13 + x23 ≥ 200 [demand at plant 3]

(c) Decision variables can’t be negative


xij ≥ 0, for all i= 1, 2, j = 1, 2, 3.
Transportation problem: historical note

Kantorovich in USSR in the 1930’s,


Koopmans in 1940’s

Dantzig in 1950’s  Simplex method

Kantorovich and Koopmans, Nobel prize (Economics) in 1975


The Geometry of Linear Programs

Point in a 1D space: x=c

0 c

Line in 2D: ax + by = c
y
3
2x 2x
+ +3
3y 2
y =9
= 3 2x
2x +3
+3 y=
y= 1 6
0
x
(0,0) 1.5 3 4.5
The Geometry of Linear Programs

Plane in 3D: ax + by + cz = d

z
1 Plane
x+y+z=1

Plane:
x+y+z=2
z
Plane:
1
x+y+z=0
x
1
1
y

1 y

1 x
The Geometry of Linear Programs

Hyper-plane in n-Dimensions: a1x1 + a2x2 + … + anxn = c ??

2-D Half spaces:


y
3
2x+3y > 6
2
2x+3y < 6
1
x
(0,0) 1.5 3 4.5
2x
+ 3y
=6
The Geometry of LP: Product Mix revisited

y
max z( x, y) = 15 x + 10y
ST 2x + y ≤ 1500 y≥ 0
x + y ≤ 1200 1500
x ≤ 500
x ≥ 0, 1000

y≥0
500 x≥ 0

x
Feasible set (0,0) 500 1000 1500
x + y ≤ 1200
x ≤ 500
2x+y ≤ 1500
The Geometry of LP: Product Mix revisited
max z( x, y) = 15 x + 10y
ST 2x + y ≤ 1500 y
x + y ≤ 1200
x ≤ 500 15x + 10y = 5000
x ≥ 0,
y≥ 0
y≥0 1500
15x + 10y = 13,500
1000
15x + 10y = 0 (300, 900)

500 x≥ 0
Try point: x = 0, y = 0:
x
Feasible set (0,0) 500 1000 1500
x + y ≤ 1200
x ≤ 500
2x+y ≤ 1500
Summary

1. LP formulations are very common in modern industry

2. Beautiful connection between Algebra and Geometry

3. Geometry not useful for > 3 variables

4. Practical problems: 1000’s of variables (see next slide)

5. Need Algebraic method !


Some real world examples of LP

Military patient evacuation problem

The US Air Force Military Airlift Command (MAC) has a patient evacuation problem that
can be modeled as an LP. They use this model to determine the flow of patients moved by
air from an area of conflict to army bases and hospitals.

The objective is to minimize the time that patients are in the air transport system.

The constraints are:


- all patients that need transporting must be transported
- limits on the size and composition of hospitals, capacity of air fleet, air-lift points

MAC have generated a series of problems based on the number of time periods (days). A 50
day problem consists of an LP with 79,000 constraints and 267,000 variables.

This LP can be solved (using a fast computer) in approximately 10 Hours


Some real world examples of LP..

Military logistics planning

The US Department of Defense Joint Chiefs of Staff have a logistics planning problem that
models the feasibility of supporting military operations during a crisis. The problem is to
determine if different materials (called movement requirements) can be transported overseas
within strict time windows.

The LP includes capacities at embarkation and debarkation ports, capacities of the various
aircraft and ships that carry the movement requirements and penalties for missing delivery
dates.

A typical problem of this type may consider 15 time periods, 12 ports of embarkation, 7
ports of debarkation and 9 different types of vehicle for 20,000 movement requirements.
This resulted in an LP with 20,500 constraints and 520,000 variables.

This LP can be solved in approximately 75 minutes


Some real world examples of LP...

Airline crew scheduling (American Airlines)

Within a fixed airline schedule (the schedule changing twice a year typically) each flight in the schedule can be broken down into
a series of flight legs. A flight leg comprises a takeoff from a specific airport at a specific time to the subsequent landing at
another airport at a specific time. For example a flight from HK  Bangkok  Phuket has two legs. A key point is that these
flight legs may be flown by different crews.
For crew scheduling, aircraft types have been pre-assigned (not all crews can fly all types). For a given aircraft type and a given
time period (the schedule repeats over a 1 week period) we must ensure that all flight legs for a particular aircraft type can have a
crew assigned. Note here that by crew we mean not only the pilots/flight crew but also the cabin service staff, typically these
work together as a team and are kept together over a schedule.
There are restrictions on how many hours the crews (pilots and others) can work. A potential crew schedule is a series of flight
legs that satisfies these restrictions. All such potential crew schedules can have a cost assigned to them. Usually a crew schedule
ends up with the crew returning to their home base, e.g. A-D and D-A in crew schedule 1 above. A crew schedule such as 2 above
(A-B and B-C) typically includes as part of its associated cost the cost of returning the crew (as passengers) to their base. Such
carrying of crew as passengers (on their own airline or on another airline) is called deadheading.

For our American Airlines problem the company has a database with 12 million potential crew schedules.

The objective is to select the combination of schedules (out of the 12 million) which shall minimize costs.

The constraints are to ensure that all flight legs have a crew assigned to them, and work restrictions are violated. One case of this
problem was formulated as an LP, with 12 million variables, and 750 constraints.

[Note: a small percentage improvement of the schedule  ten's of millions of dollars!]

This LP could be solved in approximately 27 minutes using a software called OSL

next: How to solve LP’s using MS Excel

You might also like