Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z...
-
Upload
gabriel-fields -
Category
Documents
-
view
230 -
download
9
Transcript of Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z...
![Page 1: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/1.jpg)
Notes on Linear Programming
Uwe A. Schneider
![Page 2: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/2.jpg)
Linear Programming, 1
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0Standard form
![Page 3: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/3.jpg)
LP Tableau
x1 x2 s1 s2 Rhs
Obj c1 c2 0 0
Eq1 a11 a12 1 0 <= b1
Eq2 a21 a22 0 1 <= b2
Type + + + +
![Page 4: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/4.jpg)
Units
X1 (1000 ha) X2 (1000 ha)
Rhs
Obj (1000 Euro)
3Euro/ha
Eq1 (1000 mm)
1(mm/ha) 4(mm/ha) 50(1000 mm)
Eq2 (1000 h) 2(h/ha) 1(h/ha) 10(1000 h)
![Page 5: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/5.jpg)
Linear Programming, 2
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0n +1 Variables
![Page 6: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/6.jpg)
Linear Programming, 3
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0Objective function
![Page 7: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/7.jpg)
Linear Programming, 4
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0
n Objective function coefficients (data)
![Page 8: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/8.jpg)
Linear Programming, 5
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0m Constraints
![Page 9: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/9.jpg)
Linear Programming, 6
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0
m*n technical coefficients (data)
![Page 10: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/10.jpg)
Linear Programming, 7
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0m resource limits (data)
![Page 11: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/11.jpg)
Linear Programming Example
Max 2*X1 + 3*X2 = zs.t. X1 + 2*X2 10 X1 , X2 0
![Page 12: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/12.jpg)
Feasibility Region
Max 2*X1 + 3*X2 = zs.t. X1 + 2*X2 10 X1 , X2 0
X2
X1
10
5
X2 5 – 0,5*X1
X1,X2 0
![Page 13: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/13.jpg)
Feasibility Region
Convex Set
X2
X1
10
5
![Page 14: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/14.jpg)
Objective Function Isoclines - 1
Max 2*X1 + 3*X2 = zs.t. X1 + 2*X2 10 X1 , X2 0
X2
X1
10
5
X2 = z/3 – 2/3*X1
z=6X2=2–2/3*X1
![Page 15: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/15.jpg)
Objective Function Isoclines - 2
Max 2*X1 + 3*X2 = zs.t. X1 + 2*X2 10 X1 , X2 0
X2
X1
10
5
X2 = z/3 – 2/3 * X1
z=15z=6z=0
![Page 16: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/16.jpg)
Graphical Solution
Max 2*X1 + 3*X2 = zs.t. X1 + 2*X2 10 X1 , X2 0
X2
X1
10
5
X2 = z/3 – 2/3 * X1
z=20
![Page 17: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/17.jpg)
Graphical Solution
X2
X1
10
5
z=20
Is at extreme point!
![Page 18: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/18.jpg)
Other Extreme Points
X2
X1
10
5
![Page 19: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/19.jpg)
Solving Arithmetically
Max c1 *X1 +…+ cn *Xn = zs.t. a11*X1 +…+ a1n*Xn b1
… am1*X1 +…+ amn*Xn bm
X1 , Xn 0
![Page 20: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/20.jpg)
Convert Inequalities
Max c1 *X1 +…+cn *Xn +0*S1 +…+0*Sm = zs.t. a11*X1 +…+a1n*Xn +1*S1 +…+0*Sm = b1
… am1*X1 +…+amn*Xn +0*S1 +…+1*Sm = bm
X1 , X2 , S1 , Sm 0
Max c1 *X1 +…+cn *Xn = zs.t. a11*X1 +…+a1n*Xn b1
… am1*X1 +…+amn*Xn bm
X1 , X2 0
![Page 21: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/21.jpg)
Arithmetic Problem, 1
• Number of unknown variables: n+m
• Number of equations (constraints): m
Can only solve m equations for m unknown variables
![Page 22: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/22.jpg)
Arithmetic Problem, 2
From graphical illustration, we know
• Solution occurs at extreme point
![Page 23: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/23.jpg)
1 Constraint 1 Non-Zero Variable
Max Objective s.t. X1 + 2*X2 + S = 10 X1 , X2 , S 0
X2
X1
10
5
X1 10
X2 0
S 0
10S
02X
01X
0S
52X
01X
![Page 24: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/24.jpg)
2 ConstraintsX2
X1
10
5
5
10 Max Objective s.t. X1 + 2*X2 + S1 = 10 2*X1 + X2 + S2 = 10 X1 , X2 , S1, S2 0
![Page 25: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/25.jpg)
02S
51S
02X
51X
Max Objective s.t. X1 + 2*X2 + S1 = 10 2*X1 + X2 + S2 = 10 X1 , X2 , S1, S2 0
X2
X1
10
5
102S
101S
02X
01X
52S
01S
52X
01X
02S
01S3
102X3
101X
10
5
2 Constraints 2 Non-Zero Variables
![Page 26: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/26.jpg)
Arithmetic Problem, 3
Extreme points have only m non-zero variables and n-m zero variables
Thus, if we knew which n-m variables are zero, we could solve for the remaining m variables using our m equation system
New task: Which variables should remain zero?
![Page 27: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/27.jpg)
Arithmetic Solution
1. Pick n variables and set to zero
2. Solve mxm equation system
3. Compute optimality indicators
4. If optimal, done; otherwise
![Page 28: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/28.jpg)
Optimal solution is extreme point
• Number of non-zero variables = number of equations
• Non-zero (positive) variables are called basic variables
• All remaining variables are called non-basic variables
• Non-basic variables are zero.
![Page 29: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/29.jpg)
Decomposed LP in Matrix Notation
Max CBXB + CNBXNB
s.t. B XB + ANBXNB = b
XB , XNB 0
![Page 30: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/30.jpg)
Solution of LP in Matrix Notation
BXB = b - AXNB
BXB = b
XB = B-1b
![Page 31: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/31.jpg)
Solver tasks
• Determine which variables form basis
• Invert coefficient matrix to calculate
optimal variable values
![Page 32: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/32.jpg)
If optimal solution is an extreme point, why not simply calculate
all extreme points and choose the one with highest objective
function value?
![Page 33: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/33.jpg)
Number of Possible Extreme Points
n!
(n m)! m!
n .. Number of Variablesm .. Number of Equations
![Page 34: Notes on Linear Programming Uwe A. Schneider. Linear Programming, 1 Max c 1 *X 1 +…+ c n *X n = z s.t. a 11 *X 1 +…+ a 1n *X n b 1 … a m1 *X 1 +…+ a.](https://reader036.fdocuments.net/reader036/viewer/2022070402/56649f255503460f94c3c6cb/html5/thumbnails/34.jpg)
Calculating all extreme points?
(n) (m) n!/[m!*(n-m)!]Variables Equations Combinations Time
10 5 252 ~0 Seconds20 10 184.756 58 Seconds30 15 155.117.520 17 Hours40 20 137.846.528.820 2 Years50 25 126.410.606.437.752 2 Millenia