Introduction to Linear
Programming
Linear Programming Problem
Problem Formulation
A Simple Maximization Problem
Graphical Solution Procedure
Extreme Points and the Optimal Solution
Computer Solutions
A Simple Minimization Problem
Special Cases
Linear Programming
Linear programming has nothing to do with
computer programming.
The use of the word programming here means
choosing a course of action.
Linear programming involves choosing a course
of action when the mathematical model of the
problem contains only linear functions.
Calculus method of optimization cannot be used
to solve linear problems as first and second
derivative would be constant and zero
respectively
Linear programming is a special tool wherein we
consider
the
maximization
as
well
as
minimization of linear objective functions subject
2
to a number of constraints.
Linear Programming (LP)
Problem
All LP problems have constraints that limit the
degree to which the objective can be pursued.
A feasible solution satisfies all the problem's
constraints.
An optimal solution is a feasible solution that
results in the largest possible objective
function value when maximizing (or smallest
when minimizing).
A graphical solution method can be used to
solve a linear program with two variables.
3
Linear Production
functions
Linear production activity is a process in
which one or more outputs are produced by
using one or more inputs in fixed
proportions.
Thus, the relevant linear production
function exhibits constant returns to scale.
In such cases, a rise in all inputs by
constant proportion necessarily leads to a
rise in all the outputs by the same constant
proportion
4
Linear Production
functions
Linear function with
two inputs and one
output
Iso-quants
Linear Production
functions
Iso-quants
01 Expansion path
Case 1: 3 units of L and 12 units of K
Linear Production
functions
Case 2: 3 units of L and 14 units of K
How many units could be produced?
Linear Production
functions
Case 3: 6 units of L and 12 units of K
How many units could be produced?
Linear Production
functions
Iso-quants
In general, if al and ak are the input requirements
9 )]
of L and K respectively, then x = min[(L/al), (K/a
k
Linear Production
functions
Multiple Process Process mixing and Full
Employment
10
Linear Production
functions
Multiple Process Process mixing and Full
Employment
11
Linear Production
functions
Case value: 70 units of L and 100 units
of
K many units could be produced?
How
Adopting Process 1 alone, we have
X = min[(70/1), (100/4)]
X = 25
Adopting Process 2 alone, we have
X = min[(70/2), (100/2)]
X = 35
Adopting Process 3 alone, we have
X = min[(70/4), (100/1)]
X = 17.5
12
Linear Production
functions
Case value: 70 units of L and 100 units
of K
13
Linear Production
functions
Case value: 70 units of L and 100 units
of K
Process 1 L=10 & K=40 X1=10
Total X =
Process 2 L=60 & K=60 X2=30
40
14
Linear Production
functions
Case value: 70 units of L and 100 units
of K
Process 1 L=22 & K=88 X1=22
Total X =
Process 3 L=48 & K=12 X2=12
34
15
Linear Production
functions
Process Mixing and Full Employment
1) For efficient process mix one must
choose the closest two production
processes on either side of the given
endowment point
2) The process mix is purely technical
in the sense that there is no
influence of output and input prices
in this analysis
16
Problem Formulation
Problem formulation or modeling is the process of
translating a verbal statement of a problem into a
mathematical statement.
Formulating models is an art that can only be
mastered with practice and experience.
Every LP problems has some unique features, but
most problems also have common features.
General guidelines for LP model formulation are
illustrated on the slides that follow.
17
Guidelines for Model
Formulation
Understand the problem thoroughly.
Describe the objective.
Describe each constraint.
Define the decision variables.
Write the objective in terms of the decision variables.
Write the constraints in terms of the decision variables.
18
Example 1: A Simple
Maximization Problem
Max
s.t.
< 6
5x1 + 7x2
x1
2x1 + 3x2
< 19
x1 + x2
Objective
Function
Regular
Constraints
Non-negativity
Constraints
< 8
x1 > 0 and x2
>0
19
Example 1: Graphical
Solution
First Constraint Graphed
x2
8
x1 = 6
7
6
5
4
3
Shaded region
contains all
feasible points
for this constraint
(6, 0)
1
1
x1
9
10
20
Example 1: Graphical
Solution
Second Constraint Graphed
x2
8
(0, 6.33333)
7
6
2x1 + 3x2 =
19
5
4
3
2
1
Shaded
region contains
all feasible points
for this constraint
1
(9.5, 0)
5
x1
9
10
21
Example 1: Graphical
Solution
Third Constraint Graphed
x2
(0, 8)
8
7
x1 + x2 = 8
6
5
4
3
2
1
Shaded
region contains
all feasible points
for this constraint
1
(8, 0)
5
x1
9
10
22
Example 1: Graphical
Solution
Combined-Constraint Graph Showing Feasible Region
x2
x1 + x2 = 8
8
7
x1 = 6
6
5
4
3
2x1 + 3x2 =
19
Feasible
Region
2
1
1
x1
9
10
23
Example 1: Graphical
Solution
Objective Function
Line
x2
8
7
(0, 5)
Objective Function
5x1 + 7x2 = 35
5
4
3
2
(7, 0)
1
1
x1
9
10
24
Example 1: Graphical
Solution
Selected Objective Function
Lines x2
8
7
5x1 + 7x2 = 35
5x1 + 7x2 = 39
5
4
5x1 + 7x2 = 42
3
2
1
1
x1
9
10
25
Example 1: Graphical
Solution
Optimal Solution
x2
Maximum
Objective Function Line
5x1 + 7x2 = 46
8
7
Optimal Solution
(x1 = 5, x2 = 3)
6
5
4
3
2
1
1
x1
9
10
26
Summary of the
Graphical Solution
Procedure for
Maximization Problems
Prepare a graph of the feasible solutions for each of
the constraints.
Determine the feasible region that satisfies all the
constraints simultaneously.
Draw an objective function line.
Move parallel objective function lines toward larger
objective function values without entirely leaving
the feasible region.
Any feasible solution on the objective function line
with the largest value is an optimal solution.
27
Slack and Surplus
Variables
A linear program in which all the variables are nonnegative and all the constraints are equalities is said
to be in standard form.
Standard form is attained by adding slack variables to
"less than or equal to" constraints, and by subtracting
surplus variables from "greater than or equal to"
constraints.
Slack and surplus variables represent the difference
between the left and right sides of the constraints.
Slack and surplus variables have objective function
coefficients equal to 0.
28
Slack Variables (for <
constraints)
Example 1 in Standard Form
Max
s.t.
s1 , s2 , and s3
are slack
5 x 1 + 7 x 2 + 0 s 1 + 0 s2 + 0 s 3
x1
+
2x 1 + 3 x 2 +
s1
s2
= 6
= 19
x 1 + x2 + s 3 = 8
x1, x2 , s1 , s2 , s3 > 0
29
Slack Variables
Optimal Solution
Third
x2
Constraint:
x1 + x2 = 8
s3 =
0
8
7
6
First
Constraint:
x1 = 6
s1 =
1
Second
Constraint:
2x1 + 3x2 =
s19
2 =
0
4
3
2
1
Optimal
Solution
(x1 = 5, x2 = 3)
1
x1
9
10
30
Extreme Points and the
Optimal Solution
The corners or vertices of the feasible
region are referred to as the extreme points.
An optimal solution to an LP problem can be
found at an extreme point of the feasible
region.
When looking for the optimal solution, you
do not have to evaluate all feasible solution
points.
You have to consider only the extreme
points of the feasible region.
31
Example 1: Extreme
Points
x2
8
7
6
5 (0, 6.333)
5
4
4 (5, 3)
Feasible
Region
2
1
3 (6, 2)
2 (6, 0)
1 (0, 0)
1
x1
9
10
32
Computer Solutions
LP problems involving 1000s of variables and
1000s of constraints are now routinely solved
with computer packages.
Linear programming solvers are now part of
many spreadsheet packages, such as Microsoft
Excel.
Leading commercial packages include CPLEX,
LINGO, MOSEK, Xpress-MP, and Premium
Solver for Excel.
33
Interpretation of
Computer Output
In this chapter we will discuss the following output:
objective function value
values of the decision variables
reduced costs
slack and surplus
In the next chapter we will discuss how an optimal
solution is affected by a change in:
a coefficient of the objective function
the right-hand side value of a constraint
34
Example 1: Spreadsheet
Solution
Partial Spreadsheet Showing
Problem Data
35
Example 1: Spreadsheet
Solution
Partial Spreadsheet Showing
Solution
36
Example 1: Spreadsheet
Solution
Interpretation of Computer Output
We see from the previous slide that:
Objective Function Value = 46
Decision Variable #1 (x1) = 5
Decision Variable #2 (x2) = 3
Slack in Constraint #1
= 6 5=1
Slack in Constraint #2
= 19 19 = 0
Slack in Constraint #3
= 8 8=0
37
Example 2: A Simple
Minimization Problem
LP Formulation Min
5x1 + 2x2
s.t.
10
2x1 + 5x2 >
4x1 x2 >
12
x1 + x2
>
4
x1, x2 >
38
Example 2: Graphical
Solution
Graph the Constraints
Constraint 1: When x1 = 0, then x2 = 2; when x2
= 0,
then x1 = 5. Connect (5,0) and (0,2).
The ">" side is above this line.
Constraint 2: When x2 = 0, then x1 = 3. But
setting x1 to
0 will yield x2 = -12, which is not on
the graph. Thus, to get a second point on this line,
set x1 to any number larger than 3 and solve for
x2: when x1 = 5, then x2 = 8. Connect (3,0) and
(5,8). The ">" side is to the right.
Constraint 3: When x1 = 0, then x2 = 4; when x2
= 0,
then x1 = 4. Connect (4,0) and (0,4).
The ">" side is above this line.
39
Example 2: Graphical
Solution
Constraints Graphed
x2
6
Feasible Region
4x1 x2 > 12
x1 + x2 > 4
2x1 + 5x2 > 10
2
1
1
x1
6
40
Example 2: Graphical
Solution
Graph the Objective Function
Set the objective function equal to an arbitrary constant
(say 20) and graph it. For 5x1 + 2x2 = 20, when x1 = 0,
then x2 = 10; when x2= 0, then x1 = 4. Connect (4,0) and
(0,10).
Move the Objective Function Line Toward Optimality
Move it in the direction which lowers its value (down),
since we are minimizing, until it touches the last point of
the feasible region, determined by the last two
constraints.
41
Example 2: Graphical
Solution
Objective Function Graphed
x2
Min 5x + 2x
1
4x1 x2 > 12
x1 + x2 > 4
2x1 + 5x2 > 10
2
1
1
x1
42
Example 2: Graphical
Solution
Solve for the Extreme Point at the Intersection of
the Two Binding Constraints
4x1 - x2 = 12
x1+ x2 = 4
Adding these two equations gives:
5x1 = 16 or x1 = 16/5
Substituting this into x1 + x2 = 4 gives: x2 = 4/5
Solve for the Optimal Value of the Objective
Function
5x1 + 2x2 = 5(16/5) + 2(4/5) = 88/5
43
Example 2: Graphical
Solution
Optimal Solution
x2
6
4x1 x2 > 12
x1 + x2 > 4
4
3
2
1
1
Optimal
Solution:
x11 = 16/5, x22 =
4/5,
2x1 + 5x2 > 10
5x11 + 2x22 =
17.6
x
1
44
Summary of the
Graphical Solution
Procedure
for Minimization
Prepare a graph
of the feasible solutions for
Problems
each of the constraints.
Determine the feasible region that satisfies all
the constraints simultaneously.
Draw an objective function line.
Move parallel objective function lines toward
smaller objective function values without
entirely leaving the feasible region.
Any feasible solution on the objective function
line with the smallest value is an optimal
45
solution.
Surplus Variables
Example 2 in Standard Form
Min
5x1 + 2x2 + 0s1 + 0s2 + 0s3
s.t.
2x1 + 5x2 s1
> 10
4x1 x2
s2
> 12
s1 , s2 , and s3 x + x
1
2
sare
4
3 >
surplus
variables
x1, x2, s1, s2, s3 >
0
46
Example 2: Spreadsheet
Solution
Partial Spreadsheet Showing
Problem Data
47
Example 2: Spreadsheet
Solution
Partial Spreadsheet Showing
Formulas
48
Example 2: Spreadsheet
Solution
Partial Spreadsheet Showing
Solution
49
Example 2: Spreadsheet
Solution
Interpretation of Computer Output
We see from the previous slide that:
Objective Function Value = 17.6
Decision Variable #1 (x1) = 3.2
Decision Variable #2 (x2) =
Surplus in Constraint #1
0.4
Surplus in Constraint #2
0.0
Surplus in Constraint #3
0.8
= 10.4 10 =
= 12.0 12 =
=
4.0 4 =
50
Special Cases
Infeasibility
No solution to the LP problem satisfies all the
constraints, including the non-negativity
conditions.
Graphically, this means a feasible region
does not exist.
Causes include:
A formulation error has been made.
Managements expectations are too high.
Too many restrictions have been placed on
the problem (i.e. the problem is over51
constrained).
Example: Infeasible
Problem
Consider the following LP problem.
Max
s.t.
< 12
2x1 + 6x2
4x1 + 3x2
2x1 + x2
> 8
x1 , x2
> 0
52
Example: Infeasible
Problem
There are no points that satisfy both constraints, so
there is no feasible region (and no feasible solution).
x2
10
2x1 + x2 > 8
8
6
4x1 + 3x2 < 12
4
2
2
x1
10
53
Special Cases
Unbounded
The solution to a maximization LP problem
is unbounded if the value of the solution
may be made indefinitely large without
violating any of the constraints.
For real problems, this is the result of
improper formulation. (Quite likely, a
constraint has been inadvertently omitted.)
54
Example: Unbounded
Solution
Consider the following LP problem.
Max
s.t.
> 5
4x1 + 5x2
x1 + x2
3x1 + x2
> 8
x1 , x2
> 0
55
Example: Unbounded
Solution
The feasible region is unbounded and the
objective function line can be moved
outward from the origin without bound,
infinitely increasing
the objective function.
x2
10
3x1 + x2 > 8
Ma
x
4x
5x
2
2
x1 + x2 > 5
x1
10
56