# PPT - IELM

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
Item
Maximum amount
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
oil
OcR
Available amount
(barrels/day)
Cost/barrel
Sale price
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)
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
to make petrol j
( i = 1, 2, 3, or 4)
(j = 1, 2, or 3)
Total premium petrol per day = x11 + x21 + x31 + x41
Its Octane Rating:
68x11 + 86x21 + 91x31 + 99x41
≥ 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) +
42.95(x12 + x22 + x32 + x42) +
super
40.99(x13 + x23 + x33 + x43) +
regular
36.85 (4000 – (x11 + x12 + x13)) +
Oil 1
36.85 (5050 – (x21 + x22 + x23)) +
Oil 2
38.95 (7100 –(x31 + x32 + x33)) +
Oil 3
38.95 (4300 – (x41 + x42 + x43))
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
68x12 + 86x22 + 91x32 + 99x42 - 90(x12 + x22 + x32 + x42) ≥ 0
68x13 + 86x23 + 91x33 + 99x43 - 85(x13 + x23 + x33 + x43) ≥ 0
Octane
rating
x11 + x12 + x13 ≤ 4000
x21 + x22 + x23 ≤ 5050
Supply
x31 + x32 + x33 ≤ 7100
x41 + x42 + x43 ≤ 4300
x11 + x21 + x31 + x41 ≤ 10,000
x13 + x23 + x33 + x43 ≥ 15,000
xij ≥ 0 for I = 1, 2, 3, 4, and j = 1, 2, 3.
Demand
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
capacity/day
plant 1
plant 2
plant 3
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
x21 + x22 + x23
≤ 800
≤ 300
[capacity of mine 1]
[capacity of mine 2]
(b) Demand of each plant must be met
x11 + x21
x12 + x22
x13
+ x23
≥ 400
≥ 500
≥ 200
[demand at plant 1]
[demand at plant 2]
[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
c
0
Line in 2D:
ax + by = c
y
3
2
1
(0,0)
1.5
3
4.5
x
The Geometry of Linear Programs
Plane in 3D:
ax + by + cz = d
z
1
x
Plane
x+y+z=1
Plane:
x+y+z=0
1
Plane:
x+y+z=2
z
1
1
y
1 y
1
x
The Geometry of Linear Programs
a 1 x 1 + a2 x 2 + … + a n x n = c
Hyper-plane in n-Dimensions:
2-D Half spaces:
y
3
2
2x+3y &lt; 6
2x+3y &gt; 6
1
(0,0)
1.5
3
4.5
x
??
The Geometry of LP: Product Mix revisited
max
ST
z( x, y) = 15 x + 10y
2x + y ≤ 1500
x + y ≤ 1200
x ≤ 500
x ≥ 0,
y≥0
y
y≥ 0
1500
1000
500
Feasible set
x≥ 0
(0,0)
500
1000
x ≤ 500
2x+y ≤ 1500
x
1500
x + y ≤ 1200
The Geometry of LP: Product Mix revisited
max
z( x, y) = 15 x + 10y
ST
2x + y ≤ 1500
x + y ≤ 1200
x ≤ 500 15x
x ≥ 0,
y≥0
y
+ 10y = 5000
y≥ 0
1500
15x + 10y = 13,500
15x + 10y = 0
1000
(300, 900)
500
x≥ 0
Try point: x = 0, y = 0:
Feasible set
(0,0)
500
1000
x ≤ 500
2x+y ≤ 1500
x
1500
x + y ≤ 1200
Summary
1. LP formulations are very common in modern industry
2. Beautiful connection between Algebra and Geometry
3. Geometry not useful for &gt; 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