Linear Programming: Primal and Dual Dictionaries and the Primal Simplex Algorithm - Prof. , Study notes of Engineering

The formula sheet for calculating the primal and dual dictionaries in linear programming, as well as the primal simplex algorithm in matrix notation. It includes the inverse of a nonsingular 2x2 matrix, the primal and dual dictionaries, and the steps for the primal simplex algorithm.

Typology: Study notes

Pre 2010

Uploaded on 03/19/2009

koofers-user-hmf-1
koofers-user-hmf-1 🇺🇸

10 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Formula Sheet
Inverse of a nonsingular 2 ×2 matrix.
a b
c d 1
=1
ad bc db
c a
Given the LP
max cTx
Ax =b
x0.
The primal dictionary in the matrix form is given by,
Z=cT
BB1b(cT
BB1NcT
N)xN
xB=B1bB1NxN.
The dual dictionary is the negative-transpose given by,
W=cT
BB1b(B1b)TyB
yN= (B1N)TcBcN+ (B1N)TyB.
With the notation x
B=B1b, y
N= (B1N)TcBcNand Z=cT
BB1b=cT
Bx
B,
the dictionaries are
Z=ZyT
NxNW=ZxT
ByB
xB=x
BB1NxNyN=y
N+ (B1N)TyB
The Primal Simplex Algorithm in Matrix Notation:
Input:B,N,x
B0 , x
N= 0, y
Nand y
B= 0
while y
N0do
pick entering variable xjas j N for which y
j<0;
i=argmin{(x
B)B(i)
(B1aj)B(i): (B1aj)B(i)>0, i B};
if no such iexists then
return LP is unbounded
else
θ=(x
B)B(i)
(B1aj)B(i)and xileaves;
end
xNθeN(j);
x
Bx
BθB1aj;
α=y
j
[(B1N)TeB(i)]N(j);
y
Ny
N+α(B1N)TeB(i);
y
BαeB(i);
B B {j}\{i};
N N {i}\{j};
end

Partial preview of the text

Download Linear Programming: Primal and Dual Dictionaries and the Primal Simplex Algorithm - Prof. and more Study notes Engineering in PDF only on Docsity!

Formula Sheet

  • Inverse of a nonsingular 2 × 2 matrix. ( a b c d

ad − bc

d −b −c a

  • Given the LP max cT^ x Ax = b x ≥ 0.
  • The primal dictionary in the matrix form is given by,

Z = cTB B−^1 b − (cTB B−^1 N − cTN )xN xB = B−^1 b − B−^1 N xN.

  • The dual dictionary is the negative-transpose given by,

−W = −cTB B−^1 b − (B−^1 b)T^ yB yN = (B−^1 N )T^ cB − cN + (B−^1 N )T^ yB.

  • With the notation x∗ B = B−^1 b, y N∗ = (B−^1 N )T^ cB −cN and Z∗^ = cTB B−^1 b = cTB x∗ B , the dictionaries are Z = Z∗^ − y∗NT xN −W = −Z∗^ − x∗BT yB xB = x∗ B − B−^1 N xN yN = y N∗ + (B−^1 N )T^ yB
  • The Primal Simplex Algorithm in Matrix Notation:

Input: B, N , x∗ B ≥ 0 , x∗ N = 0, y N∗ and y∗ B = 0 while y N∗  0 do pick entering variable xj as j ∈ N for which y∗ j < 0; i = argmin{ (x

∗ B )B(i) (B−^1 aj )B(i) : (B

− (^1) aj )B(i) > 0 , i ∈ B}; if no such i exists then return LP is unbounded else θ = (x

∗ B )B(i) (B−^1 aj )B(i) and^ xi^ leaves; end x∗N ← θeN (j); x∗ B ← x∗ B − θB−^1 aj ; α = −y j∗ [(B−^1 N )T^ eB(i)]N (j) ; y∗ N ← y∗ N + α(B−^1 N )T^ eB(i); y∗ B ← αeB(i); B ← B ∪ {j} \ {i}; N ← N ∪ {i} \ {j}; end