Professional Documents
Culture Documents
LP - Transp
LP - Transp
ANTONIO CONEJO
JUNE 1997
Linear Programming
CONTENTS
1. REFERENCES
2. THEORY
THE PROBLEM
GEOMETRICAL VIEWPOINT (CANONICAL FORM)
ALGEBRAIC VIEWPOINT (STANDARD FORM)
THE BASIS
BASIC FEASIBLE SOLUTIONS
GEOMETRY
LP FUNDAMENTAL THEOREM
MATRIX FORM
THE SIMPLEX MECHANISM
THE SIMPLEX ALGORITHM
INITIAL BASIC FEASIBLE SOLUTION
DEGENERATED SOLUTIONS AND CYCLING
SENSITIVITIES AND LAGRANGE MULTIPLIERS
3. ADVANCED TOPICS
4. MPS FILE
5. AVAILABLE SOFTWARE
2
Linear Programming
REFERENCES
EMPHASIS)
3
Linear Programming
THEORY
4
Linear Programming
WORKSTATION
5
Linear Programming
EXAMPLE/MOTIVATION (1/3)
3x1 2x2 18 MW
6
Linear Programming
EXAMPLE/MOTIVATION (2/3)
MAXIMIZAR 3 x 1 5 x2
SUJETO A x1 4
x2 6
3 x1 2 x2 18
x1 0
x2 0
Something similar to
this formulation will be
called canonical form
7
Linear Programming
EXAMPLE/MOTIVATION (3/3)
CANONICAL FORM
X2
x2 6
8
5 (0,6)
x1 0
4
3 (4,3)
FEASIBLE x1 4
REGION
2
1
(0,0) (4,0)
X1
1 2 3 4 5 6
x2 0
8
Linear Programming
Cost
vector
MINIMIZAR z = c T x
SUJETO A Ax b
x 0
x n Right-hand
Constraint side vector
matrix
9
Linear Programming
INCREASING
6 (2,6)
5 (0,6)
1
(0,0) (4,0)
X1
1 2 3 4 5 6
10
Linear Programming
MINIMIZAR z = 3 x1 5 x 2
SUJETO A x1 4
x2 6
3 x1 2 x 2 18
x1 0
x2 0
Canonical
form
11
Linear Programming
STANDARD FORM
MINIMIZAR z cTx
SUJETO A Ax b
x 0
x n
Standard
form
12
Linear Programming
a) aijx j bi
j
1.
b) aijx j yi bi ; yi 0
j
THE STANDARD
FORM MAKES
POSSIBLE AN
a) aijx j bi
j EASY ALGEBRAIC
2.
b) aijx j yi bi ; yi 0
j MANIPULATION
THIS IS THE
a ) xi
3. REASON TO
b) xi yi zi ; yi 0 , zi 0
CONVERT ANY
FORM TO
STANDARD FORM
a) MAXIMIZE z
4.
b) MINIMIZE -z
13
Linear Programming
Standard
form
MINIMIZE z = -3 x1 -5 x 2 + 0 x 3 + 0 x4 + 0 x5
SUBJECT TO x1 + x3 = 4
x2 + x4 = 6
3 x1 +2 x 2 + x5 = 18
x1 0
x2 0
x3 0
x4 0
x5 0
x3 , x4 , x5
are slack variables
14
Linear Programming
ALGEBRAIC VIEWPOINT
A B N
x
x B
xN
c
c B
cN
15
Linear Programming
SOLUTIONS
x: Ax b SOLUTION
x: Ax b
FEASIBLE SOLUTION
x 0
x: Ax b
x 0 BASIC FEASIBLE SOLUTION
x 0
N
xB B1b
AND MAKING
xN 0
16
Linear Programming
EXAMPLE (1/3)
1 0 1 0 0 4
A = 0 1 0 1 0 b = 6
3 2 0 0 1 18
1
x1 1 0 1 4 2
x 0 1 0 6 6 z 36 ( ) x4 0
2 x5 0
x 3 3 2 0 18 2
1
x 1 1 0 0 4 4
x 0 1 1 6 3 z 27 x3 0
2 x5 0
x 4 3 2 0 18 3
1
x 1 1 0 0 4 4
x 0 1 0 6 6 OUT x3 0
2 x4 0
x 5 3 2 1 18 6
1
x 1 1 1 0 4 6
x 0 0 1 6 2 OUT x2 0
3 x5 0
x 4 3 0 0 18 6
1
x 1 1 1 0 4
x 0 0 0 6 OUT x2 0
3 x4 0
x 5 3 0 1 18
17
Linear Programming
EXAMPLE (2/3)
1
x 1 1 0 0 4 4
x 0 1 0 6 6 z 12 x2 0
4 x3 0
x 5 3 0 1 18 6
1
x 2 0 1 0 4 9
x 1 0 1 6 4 NO x1 0
3 x5 0
x 4 2 0 0 18 3
1
x 2 0 1 0 4 6
x 1 0 0 6 4 z 30 x1 0
3 x4 0
x 5 2 0 1 18 6
1
x 2 0 0 0 4
x 1 1 0 6 OUT x1 0
4 x3 0
x 5 2 0 1 18
1
x 3 1 0 0 4 4
x 0 1 0 6 6 z 0 x1 0
4 x2 0
x 5 0 0 1 18 18
18
Linear Programming
EXAMPLE (3/3)
Basic
X2 feasible
8 solution
7 Basic
feasible
6 (2,6) solution
5 (0,6)
3 (4,3)
FEASIBLE
REGION Basic
2 feasible
solution
1
(0,0) (4,0)
X1
1 2 3 4 5 6
Basic
feasible Basic
solution feasible
solution
19
Linear Programming
SOLUTION
n n!
m m ! n m !
20
Linear Programming
HYPERPLANE
Feasible region of an LP
CONVEX POLYTOPE problem in standard form
A y b
y 0
21
Linear Programming
Polyhedrons
are convex
sets
CONVEX SETS
22
Linear Programming
Ax b
(1)
x0
X2 Extreme point
(canonical
8 form)
6 (2,6)
5 (0,6)
Basic feasible
4 solution
(standard form)
3 (4,3)
FEASIBLE
2 REGION
1
(0,0) (4,0)
X1
1 2 3 4 5 6
23
Linear Programming
LP FUNDAMENTAL THEOREM
PROBLEM
24
Linear Programming
SIMPLEX ALGORITHM
REFORMULATION OF THE STANDARD FORM (1/2)
MINIMIZE z cT x
SUBJECT TO A x = b
x 0
We are gonna
move from
MINIMIZE z cBT xB cNT xN corner to
SUBJECT TO B xB N xN b
corner
xB 0
xN 0 cleverly: that
is, always
reducing the
value of the of
1 1
xB B b B NxN the objective
z cBTB1b cBTB1NxN cNTxN function until
no further
reduction if
possible, that
DEFINING
is, until we
~ “Dual”
b B1b variable reach the
T cBTB1 vector minimizer
Y B1N (optimum)
25
Linear Programming
SIMPLEX ALGORITHM
REFORMULATION OF THE STANDARD FORM (2/2)
MINIMIZE
~
z = cBT b - TN cNT xN
~
SUBJECT TO xB = b - Y xN
xB 0
xN 0
DEFINING
Reduced cost
vector
d TN cN
T
Objective function
THE PROBLEM BECOMES as a function of
nonbasic variables
~
MINIMIZE z = cBT b - d xN
~
SUBJECT TO xB = b - Y xN
xB 0
xN 0
Basic
variables as
a function of
nonbasic
variables
26
Linear Programming
PIVOTING
0
0
~ xNj j
i xBi bi Yij
0
xB ~
b Y
0
xN
27
Linear Programming
SIMPLEX MECHANISM
~
MINIMUM bi
: Yij 0
1 i m Yij
28
Linear Programming
SIMPLEX ALGORITHM
We’ll see
how
7. GO TO 2
29
Linear Programming
STEP 0
SET 0
x(B) c(B)
A B ( ) ( )
N ,x ( )
( )
, c ()
0 cN
1 ~
COMPUTE x(B ) B( ) b = b( )
STEP 2
T 1 T T
COMPUTE ( ) c(B )T B( ) AND d( )T ( ) N( ) c(N )
LET BE (C) j: d(j) 0
IF (C ) , STOP ; x( ) IS THE MINIMIZER
d(s) maximum d(j): j (C)
1 j n m
30
Linear Programming
STEP 3
1
COMPUTE Y( ) B( ) N( )
s s
STEP 4
SET (B+1) (B) \ r s AND (N+1) (N) \ r s
SET 1
GO TO STEP1
NOTE THAT W S
IS THE COLUMN s OF MATRIX W
31
Linear Programming
EXAMPLE
Minimizer
X2
7 Last
-30 jump
-36
6
5
Second
4 jump
-27
3
X1
1 2 3 4 5 6
0
-12
Initial
First
basic
jump
feasible
solution
32
Linear Programming
m
MINIMIZE yi To solve
i1
this
SUBJECT TO A x y b problem is
x 0 called the
y 0 phase one
x n of the
simplex
y m
method
WHERE
y
1
y IS A COLUMN VECTOR OF ARTIFICIAL VARIABLES
ym
33
Linear Programming
MINIMIZE c T x
SUBJECT TO A x b
x 0
x n
34
Linear Programming
NON-DEGENERATED SOLUTION
xNi 0 i BASE
xBj 0 j BASE
Some
DEGENERATED SOLUTION variables
of the
basis are
xNi 0 i BASIS zero
(by
xBj 0 SOME j BASIS chance)
35
Linear Programming
SENSITIVITY (1/2)
IF B IS THE OPTIMAL BASIS
T = cB
T 1
B (3)
b b b
THEN:
xB xB x B
z z z
xB B1b
T
z = cB xB
T 1
T
z cB xB cBB b T b
AND FINALLY
z T b
36
Linear Programming
SENSITIVITY (2/2)
z T b
THAT IS
z
j j = 1,2,,m
b j
37
Linear Programming
ADVANCED TOPICS
38
Linear Programming
LP IN NETWORKS
MINIMIZE cTx
SUBJECT TO Âx = b
x0
x X n
Â: NETWORK STRUCTURE
NOTE:
Unfortunately, the
network structure is
not usually strict
39
Linear Programming
PARAMETRIC LP
MINIMIZE cTx
SUBJECT TO Ax = b + b
x0
x n
NOTE:
40
Linear Programming
KARMARKAR, 1984
41
Linear Programming
n
MINIMIZE cj xj
j1
n PRIMAL
SUBJECT TO aij xj bi , ,, m PROBLEM
i 12
j1
xj 0 j 12, ,, n
42
Linear Programming
43
Linear Programming
m
MAXIMIZE i bi
i 1
m
SUBJECT TO i aij cj
DUAL
j 1,2, , n PROBLEM
i 1
i 0 i 1,2, , m
44
Linear Programming
Primal
problem
MINIMIZE c T x
SUBJECT TO Ax b
x 0
Dual
problem
MAXIMIZE T b
SUBJECT TO T A c T
0
45
Linear Programming
Primal
problem
MAXIMIZE c T x
SUBJECT TO Ax b
x 0
Dual
problem
MINIMIZE T b
SUBJECT TO T A c T
0
46
Linear Programming
MAXIMIZE cTx
SUBJECT TO Ax b
x 0
MINIMIZE cTx
SUBJECT TO Ax b
x 0
DUAL: MAXIMIZE T b
SUBJECT TO T A c T
0
MINIMIZE T b
SUBJECT TO T A cT
0
47
Linear Programming
EXAMPLE
Cost
coefficient
vector
“c”
Right-hand
side coefficient
vector
x1
MINIMIZE 3 5 “b”
x2
1 0 4
1 x
SUBJECT TO 0 1
x 6
3 2 2 18
Constraint
coefficient x1 0
matrix
x2 0
“A”
x1 2
x 2 6
The example we
have used all
z 36 the time
1 0
3
2
3 1
48
Linear Programming
MIN - 3 X1 - 5 X2
SUBJECT TO
2) - X1 >= - 4
3) - X2 >= - 6
4) - 3 X1 - 2 X2 >= - 18
END
NO. ITERATIONS= 2
49
Linear Programming
EXAMPLE
Cost
coefficient
Right-hand side vector
coefficient “c”
vector
“b”
4
MAXIMIZAR 1 2 3 6
18
1 0
SUJETO A 1 2 3 0 1
3 5
3 2
Constraint
coefficient 1 2 3 0 0 0
matrix
“A”
*1 0
* 3
*2
3 1
z 36
x1 2
x 2 6
50
Linear Programming
EXAMPLE SOLUTION
(LINDO)
MAX - 4 L1 - 6 L2 - 18 L3
SUBJECT TO
2) - L1 - 3 L3 <= - 3
3) - L2 - 2 L3 <= - 5
END
1) -36.000000
NO. ITERATIONS= 2
51
Linear Programming
DUALITY THEORY
NON-SYMMETRIC DUAL PROBLEMS
PRIMAL DUAL
MINIMIZE c T x MAXIMIZE T b
SUBJECT TO Ax = b SUBJECT TO T A cT
x 0 0
MAXIMIZE c T x MINIMIZE T b
SUBJECT TO Ax = b SUBJECT TO T A cT
x 0 0
52
Linear Programming
NON-SYMMETRIC DUALS
MINIMIZE cTx
SUBJECT TO Ax b
x 0
MINIMIZE cTx
SUBJECT TO Ax b
Ax b
x 0
MINIMIZE cTx
SUBJECT TO Ax b : u
Ax b : v
x 0
MAXIMIZE Tb
SUBJECT TO T A cT
53
Linear Programming
DUALITY
CONVERSION RULES
PRIMAL DUAL
MINIMIZATION MAXIMIZATION
l 0 (b > 0)
l 0 (b > 0)
= l <> 0
MAXIMIZATION MINIMIZATION
l 0 (b > 0)
l 0 (b > 0)
= l <> 0
54
Linear Programming
SIGN OF (1/2)
EXAMPLE (1)
MAX 3 X1 + 5 X2
SUBJECT TO
2) X1 <= 4
3) X2 <= 6
4) 3 X1 + 2 X2 <= 18
END
NO. ITERATIONS= 2
MIN - 3 X1 - 5 X2
SUBJECT TO
2) X1 <= 4
3) X2 <= 6
4) 3 X1 + 2 X2 <= 18
END
NO. ITERATIONS= 2
55
Linear Programming
SIGN OF (2/2)
EXAMPLE (2)
MIN - 3 X1 - 5 X2
SUBJECT TO
2) - X1 >= - 4
3) - X2 >= - 6
4) - 3 X1 - 2 X2 >= - 18
END
NO. ITERATIONS= 2
MAX 3 X1 + 5 X2
SUBJECT TO
2) - X1 >= - 4
3) - X2 >= - 6
4) - 3 X1 - 2 X2 >= - 18
END
1) 36.000000 MAXIMIZE
b
X2 6.000000 .000000
NO. ITERATIONS= 2
56
Linear Programming
DUALITY THEOREMS
Tb cTx
THAT IS
Tb T Ax cTx
cTx Tb
57
Linear Programming
cTx cB
T *
xB (3)
cT x cB
T T 1
xB cBB b Tb
THEREFORE
T cB
T 1
B
FINALLY
B 1T cB
58
Linear Programming
LET BE
THEN
WHERE
59
Linear Programming
LET BE
THUS
60
Linear Programming
MPS FILE
61
A. Conejo Linear Programming
AVAILABLE SOFTWARE
CPLEX (EXPENSIVE)
OSL (EXPENSIVE)
4/23/2021 62