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.
Linear Programming (LP)
Problem
The maximization or minimization of some quantity is
the objective in all linear programming problems.
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.
Linear Programming (LP)
Problem
If both the objective function and the constraints are
linear, the problem is referred to as a linear
programming problem.
Linear functions are functions in which each variable
appears in a separate term raised to the first power
and is multiplied by a constant (which could be 0).
Linear constraints are linear functions that are
restricted to be "less than or equal to", "equal to", or
"greater than or equal to" a constant.
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.
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.
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
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
8
Example 1: Graphical
Solution
Second Constraint Graphed
x2
8
(0, 6 )
7
6
2x1 + 3x2 =
19
5
4
3
2
1
Shaded
region contains
all feasible points
for this constraint
1
(9 , 0)
5
x1
9
10
9
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
10
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
11
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
12
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
13
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
14
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.
15
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.
16
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
17
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
18
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.
19
Example 1: Extreme
Points
x2
8
7
6
5 (0, 6 )
5
4
4 (5, 3)
Feasible
Region
2
1
3 (6, 2)
2 (6, 0)
1 (0, 0)
1
x1
9
10
20
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.
The Management Scientist, a package developed by
the authors of your textbook, has an LP module.
21
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
22
Example 1: Spreadsheet
Solution
Partial Spreadsheet Showing
Problem Data
23
Example 1: Spreadsheet
Solution
Partial Spreadsheet Showing
Solution
24
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
25
Example 2: A Simple
Minimization Problem
LP Formulation Min
5x1 + 2x2
s.t.
10
2x1 + 5x2 >
4x1 x2 >
12
x1 + x2
>
4
x1, x2 >
26
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.
27
Example 2: Graphical
Solution
Constraints Graphed
x2
6
Feasible Region
4x1 x2 > 12
x1 + x2 > 4
2x1 + 5x2 > 10
2
1
1
x1
6
28
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.
29
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
30
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
31
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
32
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
33
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
34
Example 2: Spreadsheet
Solution
Partial Spreadsheet Showing
Problem Data
35
Example 2: Spreadsheet
Solution
Partial Spreadsheet Showing
Formulas
36
Example 2: Spreadsheet
Solution
Partial Spreadsheet Showing
Solution
37
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 =
38
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 over39
constrained).
Example: Infeasible
Problem
Consider the following LP problem.
Max
s.t.
< 12
2x1 + 6x2
4x1 + 3x2
2x1 + x2
> 8
x1 , x2
> 0
40
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
41
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.)
42
Example: Unbounded
Solution
Consider the following LP problem.
Max
s.t.
> 5
4x1 + 5x2
x1 + x2
3x1 + x2
> 8
x1 , x2
> 0
43
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
44