1
Solving LPs: The Simplex Algorithm of George Dantzig
1.1
Simplex Pivoting: Dictionary Format
We illustrate a general solution procedure, called the
simplex algorithm
, by implementing it
on a very simple example. Consider the LP
max 5
x
1
+ 4
x
2
+ 3
x
3
(1.1)
s.t. 2
x
1
+ 3
x
2
+
x
3
≤
5
4
x
1
+
x
2
+ 2
x
3
≤
11
3
x
1
+ 4
x
2
+ 2
x
3
≤
8
0
≤
x
1
, x
2
, x
3
In devising our solution procedure we take a standard mathematical approach; reduce the
problem to one that we already know how to solve. Since the structure of this problem is
essentially linear, we will try to reduce it to a problem of solving a system of linear equations,
or perhaps a series of such systems. By encoding the problem as a system of linear equations
we bring into play our knowledge and experience with such systems in the new context of
linear programming.
In order to encode the LP (1.1) as a system of linear equations we must first transform
linear inequalities into linear equation.
This is done by introducing a new nonnegative
variable, called a
slack variable
, for each inequality:
x
4
=
5

[2
x
1
+ 3
x
2
+
x
3
]
≥
0
,
x
5
=
11

[4
x
1
+
x
2
+ 2
x
3
]
≥
0
,
x
6
=
8

[3
x
1
+ 4
x
2
+ 2
x
3
]
≥
0
.
To handle the objective, we introduce a new variable
z
:
z
= 5
x
1
+ 4
x
2
+ 3
x
3
.
Then all of the information associated with the LP (1.1) can be coded as follows:
(1.2)
2
x
1
+ 3
x
2
+
x
3
+
x
4
=
5
4
x
1
+
x
2
+ 2
x
3
+
x
5
=
11
3
x
2
+ 4
x
2
+ 2
x
3
+
x
6
=
8

z
+ 5
x
1
+ 4
x
2
+ 3
x
3
=
0
0
≤
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
.
The new variables
x
4
,
x
5
, and
x
6
are called slack variables since they take up the
slack
in the
linear inequalities. This system can also be written using block structured matrix notation
as
0
A
I

1
c
T
0
z
x
=
b
0
,
1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
where
A
=
2
3
1
4
1
2
3
4
2
, I
=
1
0
0
0
1
0
0
0
1
, b
=
5
11
8
,
and
c
=
5
4
3
.
The augmented matrix associated with the system (1.2) is
(1.3)
0
A
I

1
c
0
b
0
and is referred to as the
initial simplex tableau
for the LP (1.1).
Again consider the system
x
4
=
5

2
x
1

3
x
2

x
3
(1.4)
x
5
=
11

4
x
1

x
2

2
x
3
x
6
=
8

3
x
1

4
x
2

2
x
3
z
=
5
x
1
+ 4
x
2
+ 3
x
3
.
This system defines the variables
x
4
,
x
5
,
x
6
and
z
as linear combinations of the variables
x
1
,
x
2
, and
x
3
. We call this system a
dictionary
for the LP (1.1). More specifically, it is the
initial
dictionary for the the LP (1.1). This initial dictionary defines the objective value
z
and the slack variables as a linear combination of the initial decision variables. The variables
that are “defined” in this way are called the
basic variables
, while the remaining variables
are called
nonbasic
. The set of all basic variables is called the
basis
. A particular solution to
this system is easily obtained by setting the nonbasic variables equal to zero. In this case,
we get
x
4
=
5
x
5
=
11
x
6
=
8
z
=
0
.
Note that the solution
(1.5)
x
1
x
2
x
3
x
4
x
5
x
6
=
0
0
0
5
11
8
is feasible for the extended system (1.2) since all components are nonnegative.
For this
reason, we call the dictionary (1.4) a
feasible dictionary
for the LP (1.1), and we say that
this LP has
This is the end of the preview.
Sign up
to
access the rest of the document.
 Summer '10
 BURKE
 Optimization, George Dantzig, tk, pivot column

Click to edit the document details