[go: up one dir, main page]

0% found this document useful (0 votes)
123 views23 pages

Simplexas

This document describes the graphical method for solving linear programming problems. It uses an example problem with two variables (x1 and x2) and four constraints to illustrate the key steps: 1) Each constraint defines a line on the plane, dividing it into feasible and infeasible regions. The intersection of feasible regions is the feasible solution space. 2) The objective function defines parallel lines; the optimal solution occurs at the corner point where an objective function line first touches the feasible region. 3) In general, the optimal solution will occur at a corner point of the feasible region. A procedure is described to systematically generate all corner points by considering all combinations of two defining constraints.

Uploaded by

Sofyan Dc
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)
123 views23 pages

Simplexas

This document describes the graphical method for solving linear programming problems. It uses an example problem with two variables (x1 and x2) and four constraints to illustrate the key steps: 1) Each constraint defines a line on the plane, dividing it into feasible and infeasible regions. The intersection of feasible regions is the feasible solution space. 2) The objective function defines parallel lines; the optimal solution occurs at the corner point where an objective function line first touches the feasible region. 3) In general, the optimal solution will occur at a corner point of the feasible region. A procedure is described to systematically generate all corner points by considering all combinations of two defining constraints.

Uploaded by

Sofyan Dc
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/ 23

OPRE 6201 : 2.

Simplex Method

The Graphical Method: An Example

Consider the following linear program:


Max
Subject to:

4x1

+3x2

2x1
3x1

+3x2
+2x2
2x2
+x2
x1 , x2

2x1

6
3
5
4
0,

(1)
(2)
(3)
(4)

where, for ease of reference, the four functional constraints have been labelled as (1), (2), (3), and (4). Our
goal is to produce a pair of values for x1 and x2 that (i) satisfies all constraints and (ii) has the greatest
objective-function value.
A pair of specific values for (x1 , x2 ) is said to be a feasible solution if it satisfies all the constraints.
For example, (x1 , x2 ) = (0, 0) and (x1 , x2 ) = (1, 1) are feasible solutions, while (x1 , x2 ) = (1, 1) and
(x1 , x2 ) = (1, 2) are not. Note that the objective-function value associated with solution (0, 0) is equal to 0
(= 4 0 + 3 0) and that value associated with solution (1, 1) is equal to 7 (= 4 1 + 3 1). Hence, (1, 1) is the
better of these two feasible solutions. Since it is impossible to generate and compare all feasible solutions
one by one, we must develop a systematic method to identify the best, or optimal, solution.
The basic idea behind the graphical method is that each pair of values (x1 , x2 ) can be represented as a
point in the two-dimensional coordinate system. With such a representation, we will be able to visualize
the set of all feasible solutions as a graphical region, called the feasible region or the feasible region,
and then to identify the optimal solution.
To construct the feasible region, we examine the constraints one at a time, starting with constraint (1).
Suppose first that the inequality in constraint (1) is replaced by an equality. Then, it is easily seen that
the set of points satisfying 2x1 + 3x2 = 6 corresponds to a straight line in the two-dimensional plane. To
plot this line, we need to identify the coordinates of two distinct points on this line. The standard approach
for doing this is to set, alternatingly, one of the two variables to the value 0 and then solve the resulting
equation with one unknown to obtain the corresponding value of the other variable. Thus, if we let x1 = 0,
then x2 must equal to 2, since x2 = (6 2x1 )/3. This yields the point (0, 2). Similarly, by setting x2 = 0,
we obtain the point (3, 0) (since x1 = (6 3x2 )/2). The resulting line that passes through these two points
is shown in Figure 1. We shall refer to this line as line (1).
Observe that line (1) cuts the plane into two half-planes. All points on one side of this line (including the
line itself) satisfy 2x1 +3x2 6; whereas on the other side, 2x1 +3x2 6. Note that (x1 , x2 ) = (0, 0) satisfies
2x1 + 3x2 6, and that (0, 0) lies in the lower-left direction of line (1). Therefore, we are only interested
in the lower-left portion of the plane. (What if (x1 , x2 ) = (0, 0) happens to satisfy a given constraint as an
equality?) In Figure 1, next to line (1), we also placed two arrows that point toward the lower-left direction.
This is intended to indicate what will be called the feasible direction. In summary, after discarding points
that violate constraint (1), we are left with the half plane that sits at the lower-left side of the line defined

Figure 1: Constraint (1) cutting the plane into two parts.


by 2x1 + 3x2 = 6.
Each constraint makes a cut on the two-dimensional plane, and repeating the above process for the
remaining five constraints (the lines x1 = 0 and x2 = 0 correspond to the x2 -axis and the x1 -axis, respectively) yields the feasible region. This is shown in Figure 2, where we have shaded the feasible region. Note
that constraint (3) is redundant, in that its removal will not have an impact on the shape of the feasible
region. Can you tell which constraint makes (3) redundant?
The next question is: Which point within the feasible region is optimal? To answer this, we now look at
the objective function. Observe that for any given constant c, the set of points satisfying 4x1 + 3x2 = c is
again a straight line; and more importantly, that by varying c, we can generate a family of lines (one for each
c) with the same slope (i.e., members of this family of lines are parallel). Hence, we can choose an arbitrary
c, draw its corresponding line 4x1 + 3x2 = c, and then visualize the entire family by sliding this line
without turning it. In Figure 3, we show two such lines: 4x1 + 3x2 = c1 and 4x1 + 3x2 = c2 , where c1 = 12
and c2 = 16. Since these lines do not touch or cross the feasible region, points on these two lines are not
feasible. Note however that the line with the smaller c, namely c1 , is closer to the feasible region. Therefore,
if we decrease c further, from c1 , then at some point the resulting parallel line will eventually touch the
feasible region at exactly one point. More precisely, this takes place when the family of objective-function
lines hits the intersection of lines (1) and (4), a corner point (or an extreme point) of the feasible region.
It is now clear that this corner point, marked as D in Figure 3, must be optimal, since we need to lower c
still further to reach the other points within the feasible region. In other words, all other points within
the feasible region correspond to lower values of c. Finally, we note that point D has the coordinates (3/2, 1)
(Why?) and therefore, it has an objective-function value of 9 (= 4 (3/2) + 3 1). This completes the solution
of the problem.
More generally, observe that regardless of the slope of the objective function, the above process will
2

Figure 2: Feasible region obtained by putting all functional and nonnegativity constraints together.

Figure 3: Optimal solution obtained by sliding the objective function towards the feasible region.

always lead to an optimal corner-point solution. (This is true even when the objective-function line first
touches the feasible region at an entire edge; in such a case, we actually have two optimal corner-point
solutions at the end points of that edge.) This implies that we can be assured that an optimal solution
(whenever it exists) can always be found at one of the corner points of the feasible region. This fact is
remarkable, as it says that we have managed to reduce the task of finding an optimal solution within the
entire feasible set, which is a set containing an uncountable number of points, to that of finding an optimal
solution within the set of corner points, which is a set containing a finite (why?) number of points. In this
particular example, there are only five corner-point solutions, namely points A, B, C, D, and E (see Figure
3). Therefore, the reduction in the search effort is truly significant.

1.1

Procedure Solve LP

The above observation (sufficiency of looking at only corner points naturally suggests the following simple
three-step procedure for solving a linear program:
1. Identify the coordinates of all corner points of the feasible region.
2. Evaluate the objective function at all of these corner points.
3. Pick the best corner point.
In applying Step 1 to the particular problem above, the location of the corner points can be identified
via the graph. For problems with three decision variables, one can still attempt to draw three-dimensional
graphs. With four or more variables, it becomes impossible to implement the procedure. Therefore, in order
for this search procedure to work, we must develop a general method for determining the coordinates of the
corner points without relying on a graphical representation of the feasible set; and this will be our next task.
In Figure 3, the coordinates of all five corner points have been explicitly specified. For example, the
coordinates of the optimal corner point, point D, is given as (3/2, 1). How does one determine these coordinates? Of course, we can attempt to determine the coordinates of a given point on a graph by visual
inspection, but in general, this cannot be expected to yield accurate answers.
More constructively, recall that point D is sitting at the intersection of lines (1) and (4) so D has to
satisfy equalities obtained by replacing with = in both (1) and (4). Thus, we can algebraically solve
the system of two defining equations:
2x1 +3x2 = 6
2x1 +x2 = 4

(1)
(4)

To obtain the coordinates of this intersection, subtract equation (4) from equation (1) to get 2x2 = 2,
implying that x2 = 1. Next, substitution of x2 = 1 into equation (1) (or alternatively, into equation (4))
shows that x1 = 3/2. This verifies that (x1 , x2 ) = (3/2, 1) is indeed the precise location of point D. You
should now verify the coordinates of points A, B, C, and E yourself.
It is important to realize that this analysis still depends on the availability of the graph. Specifically, we
need to identify the defining equations for each corner point (i.e., we need to know that equations (1) and
(4) together define point D, equations (1) and (2) together define point C, equation (2) and x1 = 0 together
define point B, and so on). And we need to know that only these five (Out of how many? See below.)
particular combinations of two defining equations give rise to corner points of the feasible region.

1.2

Procedure Generate Corner Points

A fundamental question is: Can we free ourselves from the reliance on the graph? A little bit of reflection
now leads us to the following procedure:
4

1. From the given set of six equations (including x1 = 0 and x2 = 0), choose an arbitrary combination
of two equations. Solve this chosen set of two equations to obtain the coordinates of their intersection.
(A unique solution may not exist in general; see the Remarks below.)
2. If the solution in Step 1 satisfies all other constraints, then accept it as a corner-point solution;
otherwise, discard the solution and the corresponding combination of constraints.
3. Repeatedly loop through Steps 1 and 2 until all possible combinations are exhausted.
Despite its brutal flavor, it turns out that this procedure, indeed, will allow us to generate the coordinates
of all corner-point solutions.
To convince ourselves that this procedure rejects infeasible points, consider, for example, the choice of
equations (1) and (3):
2x1 +3x2 = 6
(1)
2x2 = 5 .
(3)
From equation (3), we have x2 = 5/2, which implies that x1 = (6 3x2 )/2 = 3/4. Since the resulting
solution (x1 , x2 ) = (3/4, 5/2) has a negative value for x2 , it is not feasible. Therefore, the combination of
equations (1) and (3) does not lead to a corner-point solution.
With six equations, it is easily seen that the total number of subsets of two equations is, 2 choose out of
6, equal to
!
6
6!
= 15
=
2!4!
2
After cycling through all 15 of these combinations and discarding combinations that do not yield a feasible
solution, it can be shown that only five combinations remain; moreover, these five combinations correspond
precisely to the pairs of defining equations for points A, B, C, D, and E. This empirically establishes the
validity of the above procedure.
Procedure Solve LP and Procedure Generate Corner Points form the backbone of the Simplex method,
which is an algebraic procedure for solving linear programs with any (finite) number of variables and constraints. We will return to a full development of this method later.

1.3

Remarks

1. Infeasibility: In general, the feasible region of a linear program may be empty. Procedure Solve LP
is meaningful only if the feasible region is not empty. Discovery of an empty feasible region will be
discussed later. A linear program of this type is said to be infeasible.
2. Unboundedness: Consider the linear program: Maximize x1 + x2 , subject to x1 , x2 0. Since the
values of x1 and x2 are allowed to be arbitrarily large, this problem does not have an optimal solution.
Note that the feasible region has exactly one corner point, at (0, 0); and that this corner point is not
optimal. This clearly is a disturbing factor for Procedure Solve LP. A linear program of this type is
said to be unbounded.
In general, a given pair of straight lines on the plane may not have a unique intersection point. This
could occur if the two lines are parallel, in which case there is no intersection, or if the two lines
coincide, in which case every point on the line is an intersection point. Algebraically, this means that
a given pair of equations may not have a unique solution. For example, the equation pair
x1 +2x2 = 3
x1 +2x2 = 6
5

has no solution; and the equation pair


x1 +2x2 = 3
2x1 +4x2 = 6
has an infinite number of solutions. This issue is relevant in Step 1 of Procedure Generate Corner
Point.

A Characterization of the Corner-Point Solutions

Consider the example of the previous section again. Our first step is to rewrite that problem as:
Max
Subject to:

4x1 +3x2
2x1 +3x2 +s1
3x1 +2x2
+s2
2x2
+s3
2x1 +x2
+s4

=
=
=
=

6
3
5
4

(1)
(2)
(3)
(4)

x1 , x2 0 and s1 , s2 , s3 , s4 0 ,
where we have (i) introduced four new variables, s1 , s2 , s3 , and s4 , (ii) converted all functional (inequality)
constraints into equalities, and (iii) added nonnegativity requirements for the new variables.
We will use examples to argue that this new problem is indeed equivalent to the previous one. Consider
the feasible solution (x1 , x2 ) = (1, 1) to the original problem. This solution is feasible because
2 1 +3 1
3 1 +2 1
21
2 1 +1 1

=
5 6
= 1 3
=
2 5
=
3 4,

and the two values in (1, 1) are both nonnegative. Note that for each functional constraint, there is a
nonnegative slack the difference between the constant on the right-hand side and the evaluation on
the left-hand side. Explicitly, these slacks are given by 1 (= 6 5), 4 (= 3 (1)), 3 (= 5 2), and 1
(= 4 3), respectively. Now, if we let s1 = 1, s2 = 4, s3 = 3, and s4 = 1, then the augmented solution
(x1 , x2 , s1 , s2 , s3 , s4 ) = (1, 1, 1, 4, 3, 1) is, by construction, a feasible solution to the new problem. In general,
by appropriately augmenting a given feasible solution to the original problem, we can always construct a
corresponding feasible solution for the new problem.
Next, consider the feasible solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (0, 0, 6, 3, 5, 4) to the new problem. This
solution is feasible because
2 0 +3 0 +6
= 6
3 0 +2 0
+3
= 3
20
+5
= 5
2 0 +1 0
+4 = 4 ,
and all six assigned values are nonnegative. Now, if we drop the last four values in (0, 0, 6, 3, 5, 4) and
consider the solution (x1 , x2 ) = (0, 0), then, since these four values are nonnegative, we obviously have
2 0 +3 0
3 0 +2 0
20
2 0 +1 0
6

6
3
5
4,

Figure 4: Basic solutions, basic feasible solutions and an interior solution.

which means that the solution (0, 0) is feasible to the original problem. Therefore, by removing the last four
components of a given feasible solution to the new problem, we can always obtain a corresponding feasible
solution to the original problem. In summary, we have empirically argued that the feasible regions of the
original and the new linear programs are identical. Finally, since these two problems also have the same
objective function, they are equivalent.
Above discussion shows that a point in the feasible region can be described either in the original form
of two coordinates (x1 , x2 ) or in the augmented form with six coordinates (x1 , x2 , s1 , s2 , s3 , s4 ). We shall
henceforth refer to the new variables s1 , s2 , s3 , and s4 as the slack variables, and the new problem as the
augmented problem.
An important reason for constructing the augmented problem is that the value of the slack variable associated with a new equality constraint provides explicit information on the tightness of the corresponding
original (inequality) constraint. We will illustrate this via a series of examples. Refer to Figure 4 while
going over these examples.
Consider the solution (x1 , x2 ) = (3/2, 1), which is feasible for the original problem. This solution has
the corresponding augmented solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (3/2, 1, 0, 11/2, 3, 0), where the values for the
slack variables are determined by substituting x1 = 3/2 and x2 = 1 into equations (1), (2), (3), and (4).
Notice that in the augmented solution, we have s1 = 0 and s4 = 0, which corresponds to the fact that this
solution satisfies constraints (1) and (4) as equalities in the original problem. In other words, this solution
is such that the original inequality constraints (1) and (4) are tight, or binding. Notice further that, in
contrast, both s2 and s3 are strictly positive; hence, the inequality constraints (2) and (3) in the original
problem are not binding. From Figure 4, we see that, in this example, we have a solution that corresponds
to a corner point of the feasible region.
As a second example, consider the feasible solution (x1 , x2 ) = (1, 4/3) and its corresponding augmented
solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (1, 4/3, 0, 10/3, 7/3, 2/3). In this case, we have s1 = 0 and the values of the
other slack variables are all positive; therefore, constraint (1) in the original problem is binding, whereas
7

the other functional constraints are not. Note that point (1, 4/3) lies on an edge of the feasible region.
As a third example, consider the (candidate) solution (x1 , x2 ) = (2/3, 5/2) and its corresponding augmented solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (2/3, 5/2, 17/6, 0, 0, 1/6). Since s2 = 0 and s3 = 0, the corresponding original constraints (2) and (3) are binding. Note however that s1 = 17/6, a negative value. This
means that constraint (1) in the original problem is violated. Hence, while the point (2/3, 5/2) lies at the
intersection of two of the original constraint lines, it is not a feasible solution to the original problem.
In the above three examples, we focussed our attention on whether or not any given original functional
constraint is binding. In the next two examples, we will also consider the relevance of the original nonnegative constraints, x1 0 and x2 0.
Consider, as a fourth example, the solution (x1 , x2 ) = (0, 0), with corresponding augmented solution
(x1 , x2 , s1 , s2 , s3 , s4 ) = (0, 0, 6, 3, 5, 4). Since x1 and x2 both equal to 0 and since all slack variables are
positive, we see that (0, 0) is feasible, and that the nonnegativity constraints x1 0 and x2 0 are the only
binding constraints. This solution, like (x1 , x2 ) = (3/2, 1), corresponds to a corner point.
As our final example, consider the solution (x1 , x2 ) = (1, 1) and its corresponding augmented solution
(x1 , x2 , s1 , s2 , s3 , s4 ) = (1, 1, 1, 4, 3, 1). This solution is clearly feasible. The fact that all variables (including
x1 and x2 ) assume a positive value tells us that every point that is located in the vicinity of (1, 1) is also
feasible. More formally, let 1 and 2 be two arbitrary (not necessarily positive) values; then, as long as the
absolute values of 1 and 2 are sufficiently small, every solution of the form (x1 , x2 ) = (1 + 1 , 1 + 2 ) will
also be feasible. In other words, at point (1, 1), none of the six inequality constraints in the original problem
is tight. A point such as (1, 1) will be called an interior point.
We are now ready to revisit Procedure Corner Points. Recall that in the first step of that procedure,
we are to choose two of the six equations as defining equations and solve the selected pair of equations to
obtain the coordinates of their intersection. In the setting of the augmented problem, this can be rephrased
as follows. From our discussion above, we see that declaring an equation in the original problem as a
defining equation is the same as assigning a value of zero to its slack variable in the augmented problem. For
example, this means that: (i) if we are interested in solutions in the original problem that make the inequality
2x1 + 3x2 6 binding, we could simply assign the value zero to the variable s1 and consider augmented
solutions of the form (x1 , x2 , 0, s2 , s3 , s4 ); (ii) if we are interested in solutions that make the inequality x1 0
binding, we could let x1 = 0 and consider augmented solutions of the form (0, x2 , s1 , s2 , s3 , s4 ); and (iii) if we
are interested in solutions that make both x1 0 and 2x1 + 3x2 6 binding, we could let x1 = s1 = 0 and
consider augmented solutions of the form (0, x2 , 0, s2 , s3 , s4 ). Thus, what we are looking for in the first step
of Procedure Corner Points corresponds to the set of augmented solutions that have the value zero assigned
to two of their coordinates. Formally, this results in the following restatement.
Revised Step 1: Choose an arbitrary pair of variables in the augmented problem, and assign the value
zero to these variables. This reduces the functional constraints in the augmented problem to a set of
four equations in four unknowns. Solve (if a unique solution exists) this equation system to obtain an
explicit augmented solution.
A solution produced by this step will be called a basic solution.
By construction, an augmented solution produced by the above step necessarily satisfies all functional
constraints in the augmented problem. This leaves us with the verification of the nonnegativity constraints
for decision variables and slacks, which will be done in the next step.
Revised Step 2: If all of the values in the augmented solution are feasible, that is
8

if all nonnegativity constraints are satisfied,


accept it as a corner-point solution; otherwise, discard the solution.
If there are no nonnegativity constraints on decision variables, confirm nonnegativity only for slacks to establish feasibility. A solution produced by this step will be called a basic feasible solution. Finally, as in
the original Procedure Generate Corner Points, repeating these two steps will produce, one by one, all of
the corner-point solutions.
What we have established is that the set of corner-point solutions is characterized, or is identical, to
the set of basic feasible solutions in the augmented problem. Because this characterization is algebraic (and
hence is not dependent on a graphical representation of the feasible region), it is extremely important. In
the next section, we will show that it forms the foundation of the Simplex method.
Due to their importance, we now conclude this section with a formal definition of the concepts of basic
solutions and basic feasible solutions. Consider a system of m linear equations in n unknowns, denoted by
x1 , x2 , . . ., xn , and assume that the system has the following format:
a11 x1
a21 x1

+a12 x2 +
+a22 x2 +

am1 x1 +am2 x2 +

+a1n xn = b1
+a2n xn = b2
+amn xn = bm ,

where the aij s and the bj s are given constants. We shall assume that m n, which means the number of
variables is at least as many as the number of equations. Under this assumption, the equation system will
typically have an infinite number of solutions. If we arbitrarily select n m variables and set their values
to zero, then the system will be reduced to a set of m equations in m unknowns. The selected set of n m
variables will be called nonbasic variables, since they do not participate in the reduced equation system;
and the remaining m variables will be called basic variables. Now, the reduced equation system may, in
general, have: (i) a unique solution, (ii) no solution, or (iii) an infinite number of solutions. Suppose, for a
given selected set of nonbasic variables, the reduced set of m equations in m (basic) variables has a unique solution. Then, the resulting full solution, with an explicit value for each of the basic and nonbasic variables,
is called a basic solution. Note that we have not made any assumption on the sign of any of the (basic) variables. A basic solution that happens to have all nonnegative values will be called a basic feasible solution.
In the augmented problem above, we have four functional equality constraints and six decision variables.
Hence, m = 4 and n = 6. Suppose we declare, for example, s1 and s4 as nonbasic variables. Then, it is easy
to check that the reduced equation system,
2x1 +3x2
3x1 +2x2 +s2
+s3
2x2
2x1 +x2

=
=
=
=

6
3
5
4,

has the (unique) solution (x1 , x2 , s2 , s3 ) = (3/2, 1, 11/2, 3). After supplementing this with two zeros for the
nonbasic variables, we obtain the basic solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (3/2, 1, 0, 11/2, 3, 0). Moreover, since
all of these values are nonnegative, what we have is a basic feasible solution as well.
In general, with m equations and n unknowns, the total number of basic solutions cannot exceed

n
nm

n!
.
(n m)!m!

For m = 4 and n = 6, this evaluates to 15. Thus, potentially, we could have up to 15 basic solutions.
9

2.1

Remarks

1. Anology between basic (feasible) solutions and sport teams. Consider a team sport, say basketball. Say
12 players dress up for a game but the coach uses 5 of them at any particular time. Selecting those
5 players out of 12 is very similar to picking a basic solution in Linear Programming. The selected 5
players make some contributions to the game and correspond to basic variables. The remaining seven
players are outside the game and make zero contribution so they correspond to nonbasic variables. If
the selected five are all making nonnegative contributions, we can say that the selected team (the set
of basic variables) is a (basic) feasible (solution) team. Otherwise, we say that it is an infeasible team
(solution). The coachs objective in basketball and our objective in solving Linear Programs are the
same: Selecting the best 5 players (variables) out of 12 to include in the team (basic solution).

Solved Exercises

Find all the augmented solutions (corresponding to basic solutions) for the following feasible region, also
identify which of these are feasible.
x1 +x2 +x3
x1 +x2 +2x3
x1
x2
x3

5
6
0
0
0

Solution: We add slacks s1 and s2 to inequalities to make them equality. Then we have n = 5 variables,
m = 2 equations so we set n m variables to zero to find a basic solution. Say we set x1 = x2 = x3 = 0,
the solution of equations is s1 = 5 and s2 = 6. this is the first row in the table below. The remaining rows
are obtained similarly.
x1
0
0
0
0
0
0
5
-6
4/3
-1/2

x2
0
0
0
5
6
4
0
0
0
11/2

x3
0
5
3
0
0
1
0
0
11/3
0

s1
5
0
2
0
-1
0
0
11
0
0

s2
6
-4
0
1
0
0
11
0
0
0

Feasible ?
Yes
No
Yes
Yes
No
Yes
Yes
No
Yes
No

Since variables must be nonnegative, a negative variable in an augmented solution indicates infeasibility.

Exercises
1. Consider

Max
Subject to:

6x1
3x1
4x1

10

+x2
+2x2 6
+x2 4
x1 , x2 0 ,

(1)
(2)

a) Find the optimal solution and the optimal objective function value graphically.
b) Write down all the basic solutions and basic feasible solutions, point these out on your graph.
c) Introduce slack variables s1 and s2 for constraints (1) and (2) respectively. Find basic solutions of
the form (x1 , x2 , s1 = 0, s2 = 0) and (x1 = 0, x2 , s1 , s2 = 0), i.e. what are the values of x1 , x2 , s1 , s2 ?
Are these solutions feasible?
d) What constraints are binding for each basic solution of part (c)?
2. Refer to the previous problem. Parts (a) and (b) are independent.
a) Add the constraint x2 0.5 and resolve the problem.
b) Add the constraint x1 0.5 and resolve the problem.
c) What happens to the feasible region and the optimal objective function value when a constraint is
added? Any general conclusions, i.e. can we say that the optimal objective function value is increasing,
decreasing, nonincreasing or nondecreasing?
d) What happens to the feasible region and the optimal objective function value when we delete the
constraint 3x1 + 2x2 6. Any general conclusions?
3. Textbook H-L: pp. 94-95 3.4-6.
4. Consider

Max
Subject to:

x1 x2
2x1 x2
0.5x1 +x2
x1
x2

3
1.5
1
1

(1)
(2)
(3)
(4)

a) Draw the feasible region.


b) Find the optimal solution graphically.
c) Write down all basic solutions (i.e. intersection points) and basic feasible solutions (i.e. corner
points), show these out on your graph. Note that this problem does not have nonnegativity constraints
so x1 , x2 can be negative and feasible.
d) Introduce slack variables s1 , s2 , s3 and s4 for constraints (1), (2), (3) and (4) respectively. Find
basic solutions of the form (x1 , x2 , s1 = 0, s2 = 0, s3 , s4 ) and (x1 , x2 , s1 , s2 = 0, s3 , s4 = 0), i.e. what
are the values of x1 , x2 , s1 , s2 , s3 , s4 ? Are these solutions feasible?
e) What constraints are binding for each basic solution of part (d)?
5. Refer to the previous problem. Parts (a) and (c) are independent.
a) Add the constraint x2 2 and resolve the problem graphically.
b) What happens to the feasible region and the optimal objective function value when a constraint
is added? Any general conclusions, i.e. can we say that the feasible region is smaller/larger or the
optimal objective function value is increasing, decreasing, nonincreasing or nondecreasing?
c) Remove the constraint 2x1 x2 3 and resolve the problem graphically.
d) What happens to the feasible region and the optimal objective function value when we delete a
constraint. Any general conclusions?
6. Remember the Thomas & Brown Accounting from Plano High School problems and the formulation:
Max 400A + 125T
s.t. 6A + 3T 120
2A + 14 T 20
A0
T 0
11

a) Draw the feasible region.


b) Find the optimal solution graphically.
c) Write down all basic solutions and basic feasible solutions, point these out on your graph.
d) Introduce slack variables s1 and s2 for constraints (1)and (2) respectively. Find basic solutions of
the form (x1 , x2 , s1 = 0, s2 = 0) and (x1 = 0, x2 , s1 , s2 = 0), i.e. what are the values of x1 , x2 , s1 , s2 ?
Are these solutions feasible?
e) What constraints are binding for each of the two basic solution of part (d)?
7. Refer to the previous problem. Parts (a) and (c) are independent.
a) Add the constraint A 8 and resolve the problem graphically.
b) What happens to the feasible region and the optimal objective function value when a constraint
is added? Any general conclusions, i.e. can we say that the feasible region is smaller/larger or the
optimal objective function value is increasing, decreasing, nonincreasing or nondecreasing?
c) Remove the constraint 2A + T /4 20 and resolve the problem graphically.
d) What happens to the feasible region and the optimal objective function value when we delete a
constraint. Any general conclusions?
8. Consider

x1 +x2 +x3
x1 +x2 x3
x1
x2
x3

10
6
0
0
0

How many basic solutions can there be? Introduce slack variables and find all the augmented solutions
corresponding to basic solutions, also identify which of these solutions are feasible.
9. Find all the basic solutions for the following system of linear equations :
x1 +2x2 +x3 +x4 = 4
x1 2x2
+2x4 = 3

The Simplex Method: An Example

Our first step is to introduce one more new variable, which we denote by z. The variable z is defined to be
equal to 4x1 + 3x2 . Doing this will allow us to have a unified statement of the objective function, namely:
Maximize z. Of course, we must at the same time introduce z = 4x1 + 3x2 into the constraint set, so that
the new variable z is properly linked to the other variables. Following our convention of putting all variables
on the left-hand side of the constraints, we will write this new constraint as: z 4x1 3x2 = 0. With these
revisions, we now have the following equivalent problem:
Maximize
Subject to:

z
z 4x1 3x2
2x1 +3x2 +s1
3x1 +2x2
+s2
2x2
+s3
2x1 +x2
+s4
x1 , x2 , s1 , s2 , s3 , s4 0 ,

12

=
=
=
=
=

0
6
3
5
4

(0)
(1)
(2)
(3)
(4)

where we have labelled the new constraint as equation (0). Note that the new variable z is unrestricted in
sign.
More generally, it can be shown that any given linear program can be converted into the above format,
which will henceforth be referred to as the standard form. The standard form provides a unified starting
configuration for the solution of a linear program by the Simplex method. We will discuss how to convert
problems into the standard form later.
Our next step is to construct an initial basic feasible solution based on the configuration of equations
(1)(4). Clearly, with equation (0) excluded (why?), we have a set of 4 functional equality constraints in
6 unknowns. Therefore (from our discussion in the previous section), each basic feasible solution will have
two nonbasic variables, whose values are set to zero, and four basic variables, whose (nonnegative) values
are determined (uniquely) by solving four equations in the four remaining unknowns. In principle, any
particular choice of a pair of candidate nonbasic variables can potentially lead to a basic feasible solution,
and this will indeed be the case if the values in the solution of the resulting four equations turn out to be
all nonnegative. Since, in general, this outcome cannot be guaranteed a priori, the question is: Which pair
should we choose? To answer this question, we will take a close look at equations (1)(4). Notice that each
of these four equations contains a variable that appears in that equation only. These variables are s1 , s2 ,
s3 , and s4 . Now, if we designate x1 and x2 as nonbasic and set their values to zero, then the resulting four
equations assume the following most simple form:
s1
s2
s3
s4

=
=
=
=

6
3
5
4

and hence, no effort is required in solving these equations. Moreover, the fact that all four right-hand
side constants are nonnegative implies that the resulting augmented solution, (x1 , x2 , s1 , s2 , s3 , s4 ) =
(0, 0, 6, 3, 5, 4), is necessarily feasible. Thus, the particular configuration of equations (1)(4) allows us
to conveniently generate (or read out) a basic feasible solution, namely (0, 0, 6, 3, 5, 4). We shall say
that (0, 0, 6, 3, 5, 4) is the basic feasible solution associated with equations (1)(4), and we will also let
it be our starting basic feasible solution. Note that this solution corresponds to point A in the graph.
To determine the value of z associated with this starting basic feasible solution, we turn to equation
(0). Note that the variable z appears only in equation (0), and that none of the current basic variables, s1 ,
s2 , s3 , s4 , appears in that equation. Therefore, with both x1 and x2 assigned the value zero, z must equal
to the constant sitting at the right-hand side of equation (0). This shows that the objective-function value
associated with (0, 0, 6, 3, 5, 4) is equal to 0.
We shall refer to the set of basic variables in a basic solution as the basis. Thus, the variables s1 , s2 ,
s3 , and s4 constitute the basis in the solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (0, 0, 6, 3, 5, 4). Note that every
constraint equation has exactly one associated basic variable.
The next question is whether or not the current basic feasible solution, or point A, is optimal. To answer
this, it is helpful to imagine yourself standing at point A and attempt to travel toward the direction of
either point B or point E, along the x2 axis or the x1 axis, respectively. In the discussion below, we will
switch freely between the graphical viewpoint and a corresponding algebraic development. The graphical
viewpoint helps us understand the algebraic development, but in the end, only the latter constitute the final
solution procedure.

13

Consider point B first. Algebraically, travelling along the x2 axis means that we will attempt to
increase x2 from its current value 0, while holding the value of x1 at 0. We will emulate this action
parametrically, as follows. Suppose x2 is increased by a very small amount, say ( 0). Notice that, in
order to maintain feasibility while making such a move, we must also readjust the values of the current
basic variables, s1 , s2 , s3 , and s4 , appropriately. Specifically, maintaining feasibility means that we must
dynamically (or continuously) enforce the equalities in
2 0 +3 (0 + ) +s1
3 0 +2 (0 + )
+s2
2 (0 + )
+s3
20
+(0 + )
+s4

=
=
=
=

6
3
5
4

as we increase . In the first equation here, s1 was equal to 6; but as a result of the new contribution 3 from
the nominal increase in x2 (from 0 to 0+), the value of s1 must be adjusted downward by the same amount to
offset this new contribution. That is, s1 must assume the new value 6 3. Similar reasoning shows that the
other current basic variables s2 , s3 , and s4 must assume the new values 3 2, 5 2, and 4 , respectively.
This results in the new augmented solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (0, , 6 3, 3 2, 5 2, 4 ). Now,
since all variables must remain nonnegative, we also need to require that 6 3 0, 3 2 0, 5 2 0,
and 4 0. This implies that the value of should not exceed

min

3
6 3 5 4
, , ,
= .
3 2 2 1
2

Note that, with = 3/2, the new augmented solution becomes (x1 , x2 , s1 , s2 , s3 , s4 ) = (0, 3/2, 3/2, 0, 2, 5/2);
and this is precisely point B. (What happens if is taken smaller than 3/2, say = 1, identify the corresponding point on the graph?)
What we have shown is that by increasing the value of from 0 to 3/2, the family of augmented solutions
(0, , 6 3, 3 2, 5 2, 4 ) trace out all points on the AB edge of the feasible region. Note that with
= 3/2, the value of s2 is reduced to 0, which means that the second original inequality constraint becomes
binding. Thus, if we allow to go beyond 3/2, then the resulting augmented solutions will be infeasible.
To determine whether or not point B is better than point A, observe that from equation (0), we have
z 4 0 3 (0 + ) = 0 .
Hence, with = 3/2, the value of z will be revised from 0 to 3 = 9/2, a better value. Note in addition
that, in response to an increase in , the value of z goes up at a rate of 3.
The analysis for point E is similar. Consider a nominal increase of size for x1 . Since the value of
x2 will be held at 0, we see from constraints (1)(4) that the corresponding values for s1 s2 , s3 , and s4
should be revised to: 6 2, 3 + 3, 5 0 , and 4 2, respectively. Thus, the new augmented solution is
(x1 , x2 , s1 , s2 , s3 , s4 ) = (, 0, 6 2, 3 + 3, 5, 4 2). Again, the nonnegativity requirements imply that
should not exceed

6 4
min ,
=2
2 2
(s2 and s3 cannot be made negative by increasing ). With = 2, the new augmented solution becomes
(x1 , x2 , s1 , s2 , s3 , s4 ) = (2, 0, 2, 9, 5, 0); and this corresponds to point E. Finally, from equation (0), we
have
z 4 (0 + ) 3 0 = 0 .
Hence, with = 2, the value of z will be increased from 0 to 4 = 8, which again is a better value. In
addition, note that the value of z increased at a rate of 4.

14

The above analysis shows that point A is not optimal, and we can travel to either point B or point E to
achieve a better objective-function value. We will select point E, since it offers a greater improvement (9/2
for B versus 8 for E). This choice, by coincidence, also offers a greater rate of improvement in the value of
z (3 for B versus 4 for E).
We will now focus our attention on point E, and the immediate question again is: Is E optimal? The
above analysis for point A can be viewed as an optimality test, which we plan to duplicate for point
E. Before proceeding, it is however important to realize that the optimality test for point A was greatly
facilitated by the particular algebraic configuration of the constraints. Specifically, recall that the choice of
point A as the initial basic feasible solution was motivated by the following three convenient attributes of
the standard form:
1. Each of constraints (1)(4) contains a variable that has a coefficient of 1 and appears in that equation
only. These variables, s1 , s2 , s3 , and s4 , serve as candidate basic variables.
2. The constants on the right-hand side of equations (1)(4) are all nonnegative.
3. The candidate basic variables do not appear in constraint (0).
Therefore, it seems natural to attempt to recast the original constraint set into an equivalent standard form
that is better suited for an optimality test for point E. This will be our next task.
Observe that the augmented solution that corresponds to point E, namely (2, 0, 2, 9, 5, 0), assigns a zero
to both x2 and s4 . This means that at point E, the nonbasic variables are x2 and s4 , and the basic variables
are x1 , s1 , s2 , and s3 . Thus, switching from point A to point E can be reinterpreted as changing (i) the
status of x1 from being nonbasic to being basic and (ii) the status of s4 from being basic to nonbasic. In
other words, as we switch from A to E, the variable x1 is to enter the basis and the variable s4 is to leave
the basis. Now, with x1 , s1 , s2 , and s3 being the new basis, what we would like to do, in light of the three
attributes of the standard form discussed above, is to convert the constraint set into the following target
configuration:
z
+?
+? = ?
(0)
+? +s1
+? = ?
(1)
+?
+s2
+? = ?
(2)
+?
+s3 +? = ?
(3)
x1 +?
+? = ? ,
(4)
where the ?s represent blanks whose entries are to be determined. Note that in this new configuration, s1 ,
s2 , and s3 continue to serve, respectively, as the basic variables associated with equations (1), (2), and (3);
and that the variable x1 now replaces s4 as the basic variable associated with equation (4).
To create this target equation system, we will employ two types of row operations: (i) multiplying
an equation by a nonzero number, and (ii) adding one equation to another. While such row operations do
create a change in the appearance of an equation system, they clearly do not have any effect on its solution.
Since the variables s1 , s2 , and s3 are to retain their original configuration, we will focus on manipulating
terms that involve x1 ; and while doing so, we will aim to leave terms that involve s1 , s2 , and s3 undisturbed.
This will be done via a series of row operations, described below.
Consider equation (4) first. In the original equation system, x1 has a coefficient of 2; whereas in the
target equation system, a coefficient of 1. Hence, dividing the original equation (4) by 2, which is a row
operation, will yield a new equation with the desired coefficient for x1 . Doing this leads to
x1 +(1/2)x2

+(1/2)s4 = 2 .
15

We now look at the other equations one at a time. Equation (0) has a coefficient of 4 for x1 and we wish
to eliminate the term 4x1 to arrive at a new equation (0). To accomplish this, we multiply the original
equation (4) by 2 and add the outcome of this operation to the original equation (0). The combination of
these two row operations leads to
z

x2

+2s4 = 8 .

Next, x1 has a coefficient of 2 in equation (1). To eliminate the term 2x1 , we multiply the original
equation (4) by 1 and add the outcome to equation (1). This yields
+2x2 +s1

s4 = 2 .

Similarly, multiplying the original equation (4) by 3/2 and adding the outcome to equation (2) yields
+(7/2)x2

+s2

+(3/2)s4 = 9 .

Finally, since x1 does not appear in equation (3), there is no need to revise that equation; and in
summary, we have arrived at the following explicit (target) equation system:
z

x1

x2
+2s4
+2x2 +s1
s4
+(7/2)x2
+s2
+(3/2)s4
+2x2
+s3
+(1/2)x2
+(1/2)s4

=
=
=
=
=

8
2
9
5
2.

(0)
(1)
(2)
(3)
(4)

Notice that, indeed, the configuration of terms involving s1 , s2 , and s3 (which are to remain in the basis) is
preserved throughout these row operations. This is a consequence of the fact that these three variables do
not participate in equation (4) in the original configuration.
What we have just completed is a procedure that is often referred to as a Gaussian elimination. In
this particular example, we eliminated the presence of the variable x1 in every equation except equation (4),
and we converted the coefficient of x1 in equation (4) into a 1. This paves the way for declaring x1 a basic
variable in a new solution.
With the missing entries in the target equation system explicitly constructed, we can now associate a
basic feasible solution to this configuration in the same way as we did for the original configuration. That is,
we will declare x2 and s4 as nonbasic and x1 , s1 , s2 , and s3 as basic. Doing this immediately yields the basic
feasible solution (x1 , x2 , s1 , s2 , s3 , s4 ) = (2, 0, 2, 9, 5, 0). This solution corresponds to point E in the graph.
As before, the objective-function value associated with the new solution (2, 0, 2, 9, 5, 0) can be read directly from equation (0). That is, it is equal to the constant 8, located at the right-hand side of that equation.
We are now ready to carry out an optimality test for the current basic feasible solution, (2, 0, 2, 9, 5, 0).
From the analysis for point A, we observed that boosting the value of each nonbasic variable leads to an adjacent corner-point, or basic feasible, solution. This observation is valid in general. In the current solution,
the nonbasic variables are x2 and s4 . We will therefore consider the effect of increasing the values of these
variables from their current level 0. The analysis will be essentially the same as what we did for point A,
but we will now do things in a more compact manner.
A careful examination of our analysis at point A shows that it is, in fact, not necessary to mirror the
entire analysis at A to determine whether or not point E is optimal. We begin with a simple inspection of
16

the new equation (0), and observe that the current nonbasic variables x2 and s4 have coefficients 1 and +2,
respectively. This implies that an attempt to increase (an actual increase may not be possible, in general)
the value of x2 (while holding s4 at 0) will result in a corresponding increase in the value of z at a rate of
1 ; and that the corresponding potential rate of increase in z relative to an attempt to increase s4 (while
holding x2 at 0) is 2. Hence, the objective-function value can, potentially, be improved by increasing the
value of x2 , and we cannot conclude that the current basic feasible solution is optimal. Checking the current
equation (0) for negative nonbasic variable coefficients is called the optimality test. The current solution
is declared optimal if all nonbasic variable coefficients are nonnegative. This condition will be referred to
as the optimality criterion. When the optimality criterion fails, the nonbasic variable with the negative
coefficient (any one of them, if there are multiple) has to be introduced into the basis with an attempt to
boost its value. For our example, this means that x2 is about to enter the basis, we shall refer to x2 as the
entering variable.
In general, if two or more nonbasic variables have a negative coefficient in equation (0), then we need
to specify a rule for choosing the entering variable. Observe that, in such a situation, a nonbasic variable
with a more negative coefficient, if chosen, will immediately produce a greater rate of improvement in the
objective-function value. For this reason, the standard Simplex method calls for selecting the nonbasic
variable with the smallest (or the largest in absolute value) coefficient as the entering variable (although
this can be construed as being myopic).
At this point, we have also completed what is called an iteration in the Simplex method. An iteration
begins with a basic feasible solution that is not yet optimal, goes through a round of Gaussian elimination to
generate a new basic feasible solution, and ends with an optimality test for the new solution. The need for
further iterations will be determined by the outcome of the optimality test. In our example here, the starting
basic feasible solution is (0, 0, 6, 3, 5, 4), and this solution does not pass the optimality test. After going
through one round of Gaussian elimination, we arrive at the new basic feasible solution (2, 0, 2, 9, 5, 0).
This solution, again, fails the optimality test, and this marks the end of the first iteration. Since the new
solution is not optimal, further iterations are necessary.
Now, consider an increase in x2 of size . As we increase , from 0, we must continuously adjust the
values of the current basic variables to maintain feasibility. This means that each of equations (1)(4)
imposes an upper bound on the value of . More explicitly, equation (1) implies that cannot exceed the
ratio 2/2, where the numerator comes from the right-hand side constant and the denominator comes from
the coefficient of x2 in that equation; and similarly, equations (2), (3), and (4) imply, respectively, that
cannot exceed the ratios 9/(7/2), 5/2, and 2/(1/2). Since the smallest of these four ratios is 1, which comes
from equation (1), the best we can do is to let = 1. Notice that with = 1, the value of the current basic
variable for equation (1), namely s1 , is reduced from 2 to 0; and this makes s1 nonbasic in the new solution.
Since s1 is about to leave the basis, we shall refer to s1 as the leaving variable. In addition, we shall refer
to the process of calculating a set of ratios to determine an upper bound for as the ratio test. In general,
the basic variable in the most limiting constraint (the one yielding the smallest upper bound for during
the ratio test) leaves the current basis.
Since the upper bound at = 1 is positive, we see that an increase in x2 by 1 will result in a new feasible
solution whose z value is greater than that of the current solution (2, 0, 2, 9, 5, 0) by a magnitude of 1 (this
comes from 1 1, where the first 1 is the rate of increase in z and the second 1 is the amount of increase in
x2 ; see the new equation (0)). We can now conclude that the current basic feasible solution is indeed not
optimal. This completes the optimality test.
With x2 entering and s1 leaving, the new basis will be x1 , x2 , s2 , and s3 . As before, we will carry out a
round of Gaussian elimination to explicitly derive this new basic feasible solution. With x1 , x2 , s2 , and s3
17

as the new basis, the target configuration of the equations is:


z

x1

+?
+x2 +?
+? +s2
+?
+s3
+?

+?
+?
+?
+?
+?

=
=
=
=
=

?
?
?
?
?;

(0)
(1)
(2)
(3)
(4)

and our task is to convert the previous configuration into this new form.
We will begin with equation (1). In the previous configuration, x2 has a coefficient of 2 in equation (1).
Hence, we will multiply this equation by 1/2 to create a coefficient of 1. This yields
+x2 +(1/2)s1

(1/2)s4 = 1

as the new equation (1). In general, the procedure is to always begin with the equation in the previous
configuration that is targeted to contain the entering variable in the new configuration after Gaussian elimination. This equation is the one that has the smallest ratio in the ratio test.
What we will do next is to multiply equation (1) in the previous configuration by a set of numbers,
called multipliers, and add the individual outcomes to the remaining equations. (Thus, this equation plays
the role of a template.) Each of the remaining equations will have an associated multiplier, and the value
of this multiplier will be chosen so that the variable x2 , if present, is eliminated from that equation as a
result of this operation.
In the previous configuration, x2 has a coefficient of -1 in equation (0). Therefore, the multiplier for this
equation should be 1/2. After multiplying equation (1) by 1/2 and adding the outcome to equation (0), we
obtain
z
+(1/2)s1
+(3/2)s4 = 9 ;
and this will be the new equation (0).
In the previous configuration, x2 has a coefficient of 7/2 in equation (2); therefore, the multiplier for
that equation should be 7/4. After multiplying equation (1) by 7/4 and adding the outcome to equation
(2), we obtain
(7/4)s1 +s2
+(13/4)s4 = 11/2 ;
and this will be the new equation (2).
Finally, performing similar operations for equations (3) and (4), with multipliers 1 and 1/4, yields
x1

s1
(1/4)s1

+s3

+s4 = 3
+(3/4)s4 = 3/2

respectively; and these will be the new equations (3) and (4). Summarizing, we have arrived at the following
new configuration of the equations:
z

+x1

+(1/2)s1
+(3/2)s4
+x2 +(1/2)s1
(1/2)s4
(7/4)s1 +s2
+(13/4)s4
s1
+s3
+s4
(1/4)s1
+(3/4)s4

18

=
=
=
=
=

9
1
11/2
3
3/2 .

(0)
(1)
(2)
(3)
(4)

Here, the nonbasic variables are s1 and s4 and the basic variables are x1 , x2 , s2 , and s3 . Therefore, the
basic feasible solution associated with this configuration is readily seen as (3/2, 1, 0, 11/2, 3, 0), which corresponds (as expected) to point D in the graph. Moreover, the objective function value associated with this
solution equals 9, taken from the right-hand side of equation (0).
An inspection of equation (0) shows that the coefficients of both nonbasic variables are nonnegative,
which, according to the optimality criterion, means that further improvements in z is not possible. Hence,
the current basic feasible solution is optimal, and the solution of this example by the Simplex method is
complete.
At this point, you should reflect carefully on the entire solution process to convince yourself that it does
not explicitly rely on the availability of a graphical representation of the feasible set. That is, the solution
procedure is completely algebraic. Furthermore, the applicability of this procedure does not depend on the
number of decision variables.

5.1

Remarks

1. It is often not necessary for the Simplex method to visit all of the basic feasible solutions before
determining which one is optimal. However, both extremes are possible: Simplex visiting all the basic
feasible solutions (Give an example.) and Simplex stopping at the initial solution (Give an example).
In our example, there are five basic feasible solutions, but only three out of these five are (explicitly)
visited. Thus, the Simplex method, indeed, offers a significant reduction in the search effort, when
compared with Procedure Search discussed in the previous section. For arbitrary linear programs, the
degree of reduction in effort will be problem specific. However, empirical experience with a wide range
of problems has shown that the reduction in effort is often substantial.
2. Basic (feasible) solution and sport team analogy: The starting players in basketball corresponds to an
initial basic solution. While selecting the starting players, a coachs objective may be to assemble a
defensive team, a fast-break team, etc. The coach makes player substitutions according to his objective
just the way simplex introduces entering variables into the basis and takes out the leaving variables
according to the objective function. Both during the Simplex iterations and a basketball game the
number of basic variables and players in the game is constant. There is a slight difference though: a
coach often goes back to the same set of players several times during the game whereas Simplex does
not generally return to the same basic feasible solution. Can you explain this difference with Simplex
terminology ? (Hint: Think about the coachs objective function.)

The Simplex Method in Tabular Form

In its original algebraic form, our problem is:


Maximize
Subject to:

z
z 4x1 3x2
2x1 +3x2 +s1
3x1 +2x2
+s2
2x2
+s3
2x1 +x2
+s4
x1 , x2 , s1 , s2 , s3 , s4 0 .

19

=
=
=
=
=

0
6
3
5
4

(0)
(1)
(2)
(3)
(4)

Since the nonnegativity constraints do not explicitly participate in the mechanics of the solution procedure,
we only need to present the coefficients in the objective function and the constraint equations. In tabular
form, this problem will be represented as follows.
R0
R1
R2
R3
R4

:
:
:
:
:

z
1
0
0
0
0

x1
4
2
3
0
2

x2
3
3
2
2
1

s1
0
1
0
0
0

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
0
0
0
0
1

RHS
0
6
3
5
4

Thus, the objective function and each constraint equation is translated into a row of coefficients; and the
coefficients of a variable in different equations are listed in the same column, with the name of that variable
specified at the top of that column as heading. In addition, to facilitate reading, we have delimited the table
into several areas, e.g., (i) the z-column at the left, (ii) the coefficients in equation (0) at the top row, and
(iii) the right-hand side constants of the equations at the right-most column.
The above table will be referred to as the initial Simplex tableau. To simplify statements, we will refer
to the successive rows in the tableau as R0 , R1 , and so on; this numbering, of course, corresponds to that
of the original equations. In addition, we will refer to the last column as the RHS column (since it comes
from the right-hand-side constants in the equations).
Associated with this initial tableau, the nonbasic variables are x1 and x2 and the basic variables are
s1 , s2 , s3 , and s4 . Therefore, the initial (or current) basic feasible solution is: (x1 , x2 , s1 , s2 , s3 , s4 ) =
(0, 0, 6, 3, 5, 4). This solution has an objective-function value 0, which is the right-most number in R0 .
Consider R0 . Since the coefficients of x1 and x2 (the nonbasic variables) in that row are both negative,
the current solution is not optimal. Furthermore, since the coefficient of x1 , namely 4, is more negative
than that of x2 , we will select x1 as the entering variable.
We will refer to the x1 -column as the pivot column. This terminology is suggested by the fact that a
round of Gaussian elimination is also called a pivot.
To determine the maximum possible increase in x1 , we conduct a ratio test. The ratio test will involve
the coefficients in the pivot column and in the RHS column. This is worked out on the right margin of the
tableau, as shown below.
Basic
Variable
s1
s2
s3
s4

z
1
0
0
0
0

x1
-4
2
-3
0
2

x2
3
3
2
2
1

s1
0
1
0
0
0

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
0
0
0
0
1

RHS
0
6
3
5
4

Ratio Test
6/2 = 3

4/2 = 2

Minimum

Note that we did not compute a ratio for R2 and R3 , since both of these two rows have a nonpositive
coefficient in the pivot column (indicating that the corresponding equations (2) and (3) do not impose any
bound on x1 ). Since the minimum ratio appears in R4 , the basic variable currently associated with that
row, s4 (indicated at the left margin), will be the leaving variable. We will refer to R4 as the pivot row.
With s4 leaving and x1 entering, the new basis will be x1 , s1 , s2 , and s3 . Therefore, we are now interested
20

in constructing a new tableau in the configuration specified below.


Basic
Variable
s1
s2
s3
x1

z
1
0
0
0
0

x1
0
0
0
0
1

x2
?
?
?
?
?

s1
0
1
0
0
0

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
?
?
?
?
?

RHS
?
?
?
?
?

As before, the ?s in the tableau represent blanks whose entries are to be determined.
To create this target tableau, we will employ row operations. As examples, the new row 4 will be
generated by multiplying R4 by 1/2; and the new row 0 will be generated by multiplying R4 by 2 and
adding the outcome into R0 . Repeating similar operations for the other rows yields the new tableau below.
2 R4 + R0 :
(1) R4 + R1 :
(3/2) R4 + R2 :
0 R4 + R3 :
(1/2) R4 :

z
1
0
0
0
0

x1
0
0
0
0
1

x2
1
2
7/2
2
1/2

s1
0
1
0
0
0

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
2
1
3/2
0
1/2

RHS
8
2
9
5
2

Note that on the left margin of this tableau, we have explicitly indicated how individual new rows are
derived from those in the initial tableau. For example, the operations leading to the new row 0 is listed as
2 R4 + R0 , which corresponds to the earlier description.
In this round of Gaussian elimination, or pivot, the entry 2 located at the intersection of the pivot column
and the pivot row in the initial tableau plays a pivotal role, in that it is repeatedly used to generate all
five multipliers of R4 . We shall refer to this entry as the pivot element.
The basis associated with the new tableau is: x1 , s1 , s2 , and s3 . Therefore, the new basic feasible
solution is: (x1 , x2 , s1 , s2 , s3 , s4 ) = (2, 0, 2, 9, 5, 0). This solution has an objective-function value 8. Since
there is a negative coefficient in the new R0 , namely the 1 in the x2 -column, the current solution is not
optimal. This completes the first iteration of the Simplex method.
Next, since x2 is now the entering variable, the x2 -column is the new pivot column. To determine the
pivot row, we again conduct a ratio test, which is shown below.
Basic
Variable
s1
s2
s3
x1

z
1
0
0
0
0

x1
0
0
0
0
1

x2
-1
2
7/2
2
1/2

s1
0
1
0
0
0

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
2
1
3/2
0
1/2

RHS
8
2
9
5
2

Ratio Test
2/2 = 1
9/(7/2) = 18/7
5/2
2/(1/2) = 4

Minimum

This shows that the new pivot row will be R1 , and the basic variable associated with that row, s1 , will be
the leaving variable.
With the entry 2 (Which 2?) as the pivot element, we now go through another pivot to obtain the new

21

tableau below.
(1/2) R1 + R0 :
(1/2) R1 :
(7/4) R1 + R2 :
(1) R1 + R3 :
(1/4) R1 + R4 :

z
1
0
0
0
0

x1
0
0
0
0
1

x2
0
1
0
0
0

s1
1/2
1/2
7/4
1
1/4

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
3/2
1/2
13/4
1
3/4

RHS
9
1
11/2
3
3/2

The basic feasible solution associated with this new tableau is (3/2, 1, 0, 11/2, 3, 0), with a corresponding
objective-function value of 9. Moreover, since the coefficients of s1 and s4 in the new R0 are positive, this
solution is optimal. This completes the second Iteration of Simplex yielding the optimal solution of this
problem.

6.1

Remarks

1. Convince yourself that the tableau iterations of this section correspond to algebraic iterations of the
previous section. Then each tableau iteration transforms the current basic feasible solution (a corner
point) to another basic feasible solution (another corner point).
2. In both of the Simplex iterations of this section, we could find the leaving basic variable with the ratio
test because the entering variable column (printed in boldface) had at least one positive coefficient.
Is this true in general? If not, what happens when all the coefficients in the entering column are
nonpositive?

Exercises
1. Consider the following problem:
Maximize
Subject to:

60x1

+30x2

+20x3

8x1
+6x2
+x3
4x1
+2x2 +1.5x3
2x1 +1.5x2 +0.5x3

48
20
8

(1)
(2)
(3)

x1 , x2 , x3 0.
a) Put the problem into the standard form.
b) Use Simplex tableaux to solve it to optimality. Stop after the third iterartion even if the third
tableau is not optimal. In every iteration enter the variable with the most negative Row 0 coefficient.
2. Set up the Simplex tableau for the following LP and do a Simplex iteration:
Max 3x1 + x3
ST:
x1 + x3 + x4 = 6
x1 x3 10
2x1 + x2 + x3 = 8
x1 , x2 , x3 , x4 0
3. Solve H-L p.176 4.4-9.

22

A
E

D
B
Figure 5: Lucky Billys Diamond Lakes map.
4. A diamond miner called Lucky Billy wants to check out Diamond Lakes (Arkansas, about 4 hrs
northeast of Dallas) for diamonds. There are five lakes he is interested in A, B, C, D and E. Before
setting up his mining equipment, he makes an initial evaluation (examining the rock formations) of
each lake one by one and assigns a number between 0 and 1 to each lake to indicate the likelihood of
finding diamonds (0 means no chance of finding diamonds, 1 means finding diamonds for sure). He
wants to maximize his chances of finding diamonds. Refer to the 3-step Solve LP Procedure of the
lecture notes.
a) Write down Lucky Billys lake search procedure as a 3-step procedure. Point out the analogous
steps between the Solve LP Procedure and the lake search procedure.
b) Can Lucky Billy terminate his lake search procedure without evaluating all the spots? Can Simplex
terminate without checking all the basic feasible solutions?
c) Suppose that for the likelihood of finding diamonds Lucky Billy assigns 0, 0, 0, 0 and 1 to lakes A,
B, C, D and E respectively. Given this assignment, can the likelihood function be linear?
d) If A, B, C, D, and E are points in a feasible region for a given LP problem, what assumption of LP
guarantees that E cannot be the only optimal point for any objective function?
5. Consider the Simplex tableau below, borrowed from the last section.
R0
R1
R2
R3
R4

z
1
0
0
0
0

x1
0
0
0
0
1

x2
1
2
7/2
2
1/2

s1
0
1
0
0
0

s2
0
0
1
0
0

s3
0
0
0
1
0

s4
2
1
3/2
0
1/2

RHS
8
2
9
5
2

a) Enter s4 into the basis to obtain the next tableau. What happened to the objective function value?
b) Consider the above tableau again. Enter x2 into the basis. But suppose that you computed ratios
incorrectly and found R3 as the pivot row. Use R3 as your pivot row and find the next tableau. Has
anything unexpected happened to RHS values? Read the numerical values of your augmented solution
from the next tableau and indicate what point the solution correspond to on Figure 4. Is your solution
basic and/or feasible?

23

You might also like