Lecture 05
Lecture 05
Ming Yan
Extreme points
Basic solutions
Basic feasible solutions
The equivalency between extreme points and basic feasible solutions
(geometry vs. algebraic)
Fundamental LP theorem
Neighboring BFS
The simplex method proceeds from one BFS (a corner point of the feasible
region) to a neighboring one to continuously improve the value of the
objective function until reaching optimality.
Invented by George B. Dantzig
We need to define what we mean by an adjacent or neighboring
solution.
8
For example, a BFS constructed by using the columns {1, 2, 4} is a
neighbor to the BFS constructed by using the columns {1, 2, 5} (but
not {1, 3, 5}).
Suppose we start from point A, with basic indices {3, 4, 5}, and are only
allowed to move from one BFS to its neighbor with a smaller objective
value (let’s consider minimize 6x1 4x2 )
x
B x Obj Point
12 4 (2, 4, 0, 1, 0) -28 D
12 5 (3, 3, 0, 0, 1) -30 C
→
13 5 ( 92 , 0, 32 , 0, 7) -27 B
23 4 (0, 16 2 11
3 , 3 , 3 , 0)
64
3 E
34 5 (0, 0, 6, 9, 16) 0 A
Suppose we start from point A, with basic indices {3, 4, 5}, and are only
allowed to move from one BFS to its neighbor with a smaller objective
value (let’s change the objective function to min 6x1 4x2 )
B x Obj Point
12 4 (2, 4, 0, 1, 0) -28 D
12 5 (3, 3, 0, 0, 1) -30 C
13 5 ( 92 , 0, 32 , 0, 7) -27 B
23 4 (0, 16 2 11
3 , 3 , 3 , 0)
64
3 E
34 5 (0, 0, 6, 9, 16) 0 A
-11--1
A = {3, 4, 5} ! E = {2, 3, 4} ! D = {1, 2, 4} ! C = {1, 2, 5}
-
which contains m columns from the matrix A. Let AN be the matrix with
remaining columns.
By rearranging the order of variables, we can write
xB
A = [AB , AN ], x = [xB ; xN ] = ,
~
xN
xB = AB 1 b,
= b
xN = 0.
I
This means, we want to increase xj from the current BFS.
☒
ur
dj = 1.
-1%21=0
1
i.e., Ad = 0.
Ming Yan MAT 3007 June 15, 2022 9 / 29
Basic Directions
Therefore
dB = AB 1 A·j .
This means that the direction d is uniquely determined:
Moving along the jth basic direction currently only guarantees that the
equality constraint Ax = b still holds.
We also need to consider the constraint x 0. We need to verify that this
still holds (i.e., x + ✓d 0):
=
For non-basic variables i, xi was 0 and di is non-negative (either 1 or
0), therefore, xi + ✓di is still non-negative.
For basic variables, as long as they were all strictly positive, there
must exist a small ✓ such that x + ✓d 0.
Observation: ✗B
Typically, the basic variables of a BFS are all positive (i.e., m positive
entries).
There are cases that some basic variables in a BFS are equal to 0
(degeneracy), we will discuss those cases later.
[ 1%1+4%1=1%-1%1
' ' '
78
"
2 3
◦
00 I
] "
✗ d
Ming Yan MAT 3007 June 15, 2022 12 / 29
Entering Variables and Moving Direction
By design
Ad = 0
= A B dB + A N dN
= AB dB + A·j
Question: how does the basic direction a↵ect our objective value?
Remember the objective function of the original LP is c> x. We can
similarly decompose c into basic and non-basic parts, corresponding to the
basic/non-basic indices, i.e.,
c = [cB ; cN ].
The first term is the cost per unit increase in the variable xj .
The second term is the cost of compensating the change in the basic
variables necessitated by the constraints Ax = b.
11
E. I . .
.
= GG
-
i -
CBTABYA # An '
- ' .
I
= CT _
gtAÉA
Question: What is the reduced cost of a basic variable, i.e., j = B(i) for
some i?
Remark:
This theorem gives a stopping criterion for the simplex algorithm: We
stop when all the reduced costs are nonnegative.
It also means that if we can not find a neighbor solution that
improves the objective function, then we must have already found an
optimal solution.
c̄1 = c1 cB AB 1 A·1
i.
E.
= 6 [0 0 0]AB 1 A·1 = 6
c̄2 = c2 cB AB 1 A·2
= 4 [0 0 0]AB 1 A·2 = 4
1 1 0 1 0
= [0 0] [ 6 4
4 0] 2 1 05 4 0 15
3→
2 3 1 0 1
2 2 3
D-
1 1 0 1 0
= [0 0] [ 6 4 0] 24 1 0 5 4 0 15
4 1 1 0 1
= [2 2]
←
[
'
:
Ming Yan MAT 3007 June 15, 2022 20 / 29
Change of Basis
It means that by bringing the jth variable (non-basic) into the basis,
we can decrease the objective value. Thus, we want to go in that
direction.
Assume d is the jth basic direction with c̄j < 0. Moving in this direction
can reduce the objective. But how far can we go?
We need to make sure that x + ✓d 0.
-
✓⇤ = max{✓ 0 : x + ✓d 0}.
✓⇤ = max{✓ 0 : x + ✓d 0}
Thus,
Suppose we are at A and moving xi
✓⇤ = min
di
°
{i2B:di <0}
towards B:
6 9 16 9
As we have seen before, the = min{ , , }=
1 2 2 2
moving direction is
⇥ ⇤
1 0 1 2 2
÷
y = x + ✓⇤ d.
Let B(`) 2 {B(1), ..., B(m)} be one index with ✓⇤ = xB(`) /dB(`) (it is
possible for multiple indices to achieve this ! we will discuss this later).
Then we must have:
Thus, the basic variable xB(`) has become zero, whereas the non-basic
variable xj is now positive (equal to ✓⇤ ). Meaning the basis has changed to
- -
We call this xB(`) as the “exiting variable”, as the new xB(`) = 0 and B(`)
-
leaves the set of basic indices.
Ming Yan MAT 3007 June 15, 2022 24 / 29
Example: Moving into a New Basis
2 3
0
607
6 7
x =6
A
667
7
495
16
We moved from point A to
point B:
xB = xA + ✓ ⇤ d
2 3 2 3 293 I
0 1 2
607 6 07 6 7
6 7 96 7 6 03 7
=667+ 6
6 7
6 17 6 7
7 = 627 x1 enters the basis, x4 exits
495 24 2 5 405 the basis.
16 2 7
↑ ↑
Ming Yan MAT 3007 June 15, 2022 25 / 29
An Iteration of Simplex Method
The simplex iteration generates a new feasible point y that has a lower
objective value or it stops with an optimal solution (if the reduced costs
are nonnegative).
Open questions:
How do we find the starting BFS?
What would happen if xB(`) = 0 (0 in BFS x)? ! Degeneracy!
Is the new point y a=
BFS? (We only know that it is feasible).
-
Given several j with c̄j < 0, which xj should we choose to enter the
basis?
Suppose there are multiple ` with the same ✓⇤ = xB(`) /dB(`) , how
should we update the basic indices?