Towards Interior Point Algorithm

advertisement
Karmarkar Algorithm
Anup Das, Aissan Dalvandi, Narmada Sambaturu, Seung Min,
and Le Tuan Anh
1
Contents
• Overview
• Projective transformation
• Orthogonal projection
• Complexity analysis
• Transformation to Karmarkar’s canonical form
2
LP Solutions
• Simplex
• Dantzig 1947
• Ellipsoid
• Kachian 1979
• Interior Point
• Affine Method 1967
• Log Barrier Method 1977
• Projective Method 1984
• Narendra Karmarkar form AT&T Bell Labs
3
Linear Programming
General LP
๐‘‡
Minimize ๐‘ž ๐‘ฅ
Subject to
• ๐‘†๐‘ฅ ≥ ๐‘ก
• ๐‘ฅ≥0
•
•
•
•
Karmarkar’s Canonical Form
Minimize ๐‘ ๐‘‡ ๐‘ฅ
Subject to
• ๐ด๐‘ฅ = 0
• ๐‘ฅ๐‘– = 1
• ๐‘ฅ≥0
Minimum value of ๐‘ ๐‘‡ ๐‘ฅ is 0
โ„ฆ ≡ ๐‘ฅ ๐ด๐‘ฅ = 0} ≡ ๐‘ ๐‘ข๐‘๐‘ ๐‘๐‘Ž๐‘๐‘’ (๐‘๐‘ข๐‘™๐‘™ ๐‘ ๐‘๐‘Ž๐‘๐‘’ ๐‘œ๐‘“ ๐ด)
Δ ≡ {๐‘ฅ|๐‘ฅ ≥ 0, ๐‘ฅ๐‘– = 1} ≡ simplex
π ≡ โ„ฆ ∩ Δ ≡ ๐‘๐‘œ๐‘™๐‘ฆ๐‘ก๐‘œ๐‘๐‘’
5
Karmarkar’s Algorithm
• Step 1: Take an initial point ๐‘ฅ (๐‘˜) , ๐‘˜ = 0
• Step 2: While ๐‘ฅ (๐‘˜) − ๐‘ฅ (๐‘˜−1) ≤ ๐›พ ๐‘œ๐‘Ÿ ๐‘ ๐‘‡ ๐‘ฅ
๐‘˜
≤ ๐œ€
• 2.1 Transformation: ๐‘‡: โˆ† → โˆ†′ such that ๐‘ฅ′(๐‘˜) is center ofโˆ†′
• This gives us the LP problem in transformed space
• 2.2 Orthogonal projection and movement: Project ๐‘′ to feasible
region and move ๐‘ฅ′(๐‘˜) in the steepest descent direction.
• This gives us the point ๐‘ฅ′(๐‘˜+1)
• 2.3 Inverse transform: ๐‘‡ −1 : โˆ†′ → โˆ†
• This gives us ๐‘ฅ (๐‘˜+1)
• 2.4 Use ๐‘ฅ (๐‘˜+1) as the start point of the next iteration
• Set ๐‘˜ = ๐‘˜ + 1
6
Step 2.1
• Transformation: ๐‘‡: โˆ†→ โˆ†′ such that ๐‘ฅ′(๐‘˜) is center of โˆ†′ - Why?
๐‘ฅ (๐‘˜)
๐‘ฅ′(๐‘˜)
๐‘Ÿ
7
Step 2.2
• Projection and movement: Project ๐‘′ to feasible region and
move ๐‘ฅ′(๐‘˜) in the steepest descent direction - Why?
๐‘′
Projection of ๐‘′ to feasible region
8
−๐‘′
Big Picture
๐‘ฅ′(๐‘˜)
๐‘ฅ (๐‘˜)
๐‘ฅ
(๐‘˜+1)
๐‘ฅ′(๐‘˜+1)
๐‘ฅ′′(๐‘˜+1)
๐‘ฅ (๐‘˜+2)
๐‘ฅ′′(๐‘˜+2)
9
Karmarkar’s Algorithm
• Step 1: Take an initial point ๐‘ฅ (๐‘˜) , ๐‘˜ = 0
• Step 2: While ๐‘ฅ (๐‘˜) − ๐‘ฅ (๐‘˜−1) ≤ ๐›พ ๐‘œ๐‘Ÿ ๐‘ ๐‘‡ ๐‘ฅ
๐‘˜
≤ ๐œ€
• 2.1 Transformation: ๐‘‡: โˆ†→ โˆ†′ such that ๐‘ฅ′(๐‘˜) is center of โˆ†′
• This gives us the LP problem in transformed space
• 2.2 Orthogonal projection and movement: Project ๐‘′ to feasible
region and move ๐‘ฅ′(๐‘˜) in the steepest descent direction.
• This gives us the point ๐‘ฅ′(๐‘˜+1)
• 2.3 Inverse transform: ๐‘‡ −1 : โˆ†′ → โˆ†
• This gives us ๐‘ฅ (๐‘˜+1)
• 2.4 Use ๐‘ฅ (๐‘˜+1) as the start point of the next iteration
• Set ๐‘˜ = ๐‘˜ + 1
11
Projective Transformation
• Transformation: ๐‘‡: โˆ†→ โˆ†′ such that ๐‘ฅ′(๐‘˜) is center ofโˆ†′
Transform
๐‘ฅ′(๐‘˜)
๐‘ฅ (๐‘˜)
(๐‘˜)
๐‘ฅ1
๐‘ฅ (๐‘˜) =
(๐‘˜)
๐‘ฅ2
โ‹ฎ
(๐‘˜)
๐‘ฅ๐‘›
๐‘ฅ′(๐‘˜)
๐‘’
=
๐‘›
1
๐‘›
1
๐‘’
= ๐‘› =
๐‘›
โ‹ฎ
1
๐‘›
๐‘’ = 111 … 1
๐‘‡
12
Projective transformation
• We define the transform ๐‘ฅ′ = ๐‘‡๐‘ฅ ๐‘˜ (๐‘ฅ) such that
• ๐‘ฅ
๐‘˜
∈ โˆ†→
๐‘’
๐‘›
∈ โˆ†′
• We transform every other point with respect to point ๐‘ฅ
๐‘˜
Mathematically:
(๐‘˜)
๐‘ฅ1
• Defining D = diag (๐‘ฅ (๐‘˜) ) = โ‹ฎ
0
• projective transformation:
• ๐‘ฅ → ๐‘ฅ′
โ‹ฏ
0
โ‹ฑ
โ‹ฎ
(๐‘˜)
โ‹ฏ ๐‘ฅ2
๐‘ฅ′ = ๐‘‡๐‘ฅ (๐‘˜) ๐‘ฅ =
• inverse transformation
• ๐‘ฅ′ → ๐‘ฅ
๐‘ฅ = ๐‘‡๐‘ฅ (๐‘˜) ๐‘ฅ′ =
๐ท−1 ๐‘ฅ
๐‘’ ๐‘‡ ๐ท−1 ๐‘ฅ
๐ท๐‘ฅ′
๐‘’ ๐‘‡ ๐ท๐‘ฅ′
13
Problem transformation:
• projective transformation:
• ๐‘ฅ → ๐‘ฅ′
๐‘ฅ′ = ๐‘‡๐‘ฅ (๐‘˜) ๐‘ฅ =
• inverse transformation
• ๐‘ฅ′ → ๐‘ฅ
๐‘ฅ = ๐‘‡๐‘ฅ (๐‘˜) ๐‘ฅ′ =
Minimize ๐’„๐‘ป ๐’™
s.t.
๐‘จ๐’™ = ๐ŸŽ
๐’†๐‘ป๐’™ = ๐Ÿ
๐’™ ≥ ๐ŸŽ
๐ท−1 ๐‘ฅ
๐‘’ ๐‘‡ ๐ท−1 ๐‘ฅ
๐ท๐‘ฅ′
๐‘’ ๐‘‡ ๐ท๐‘ฅ′
๐’„๐‘ป ๐‘ซ๐’™′
๐’†๐‘ป ๐‘ซ๐’™′
Transform
Minimize
S.t.
๐‘จ๐‘ซ๐’™′ = ๐ŸŽ
๐’†๐‘ป๐’™′ = ๐Ÿ
๐’™′ ≥ ๐ŸŽ
The new objective function is not a linear function.
14
Problem transformation:
๐’„๐‘ป ๐‘ซ๐’™′
๐’†๐‘ป ๐‘ซ๐’™′
Minimize
S.t.
๐‘จ๐‘ซ๐’™′ = ๐ŸŽ
๐’†๐‘ป๐’™′ = ๐Ÿ
๐’™′ ≥ ๐ŸŽ
Convert
Minimize ๐’„′๐‘ป ๐’™′
S.t.
๐‘จ′๐’™′ = ๐ŸŽ
๐’†๐‘ป๐’™′ = ๐Ÿ
๐’™′ ≥ ๐ŸŽ
15
Karmarkar’s Algorithm
• Step 1: Take an initial point ๐‘ฅ (๐‘˜) , ๐‘˜ = 0
• Step 2: While ๐‘ฅ (๐‘˜) − ๐‘ฅ (๐‘˜−1) ≤ ๐›พ ๐‘œ๐‘Ÿ ๐‘ ๐‘‡ ๐‘ฅ
๐‘˜
≤ ๐œ€
• 2.1 Transformation: ๐‘‡: โˆ†→ โˆ†′ such that ๐‘ฅ′(๐‘˜) is center of โˆ†′
• This gives us the LP problem in transformed space
• 2.2 Orthogonal projection and movement: Project ๐‘′ to feasible
region and move ๐‘ฅ′(๐‘˜) in the steepest descent direction.
• This gives us the point ๐‘ฅ′(๐‘˜+1)
• 2.3 Inverse transform: ๐‘‡ −1 : โˆ†′ → โˆ†
• This gives us ๐‘ฅ (๐‘˜+1)
• 2.4 Use ๐‘ฅ (๐‘˜+1) as the start point of the next iteration
• Set ๐‘˜ = ๐‘˜ + 1
16
Orthogonal Projection
Minimize ๐’„′๐‘ป ๐’™′
S.t.
๐‘จ′๐’™′ = ๐ŸŽ
๐’†๐‘ป๐’™′ = ๐Ÿ
๐’™′ ≥ ๐ŸŽ
• Projecting ๐‘′ onto
• ๐ด′ x ′ = 0 ⇒ projection on ℵ(๐ด′ )
• ๐‘’ ๐‘‡ ๐‘ฅ ′ = 1 ⇒ normalization
17
Orthogonal Projection
• Given a plane and a point outside the plane, which direction
should we move from the point to guarantee the fastest
descent towards the plane?
• Answer: perpendicular direction
• Consider a plane and a vector ๐‘′
๐‘′
ℵ(๐ด′ )
๐‘๐‘ƒ
๐‘ 
๐ด’
18
Orthogonal Projection
• Let ๐‘Ž1 and ๐‘Ž2 be the basis of the plane (๐ด’)
• The plane is spanned by the column space of ๐ด′ = [๐‘Ž1 ๐‘Ž2 ]
• ๐‘  ∈ ๐ด′, so ๐‘  = ๐‘ฆ1 ๐‘Ž1 + ๐‘ฆ2 ๐‘Ž2 = ๐ด′ ๐‘ฆ
• ๐‘๐‘ƒ = ๐‘′ − ๐‘  = ๐‘′ − ๐ด′ ๐‘ฆ
๐‘′
ℵ(๐ด′ )
๐‘๐‘ƒ
• ๐‘๐‘ƒ is perpendicular to ๐‘Ž1 and ๐‘Ž2
• ๐ด′๐‘‡ ๐‘′ − ๐ด′ ๐‘ฆ = 0
๐‘ 
๐ด’
19
Orthogonal Projection
๐‘′
ℵ(๐ด′ )
๐‘๐‘ƒ
• ๐ด′๐‘‡ ๐ด′ ๐‘ฆ = ๐ด′๐‘‡ ๐‘′
๐‘‡
• ๐‘ฆ = (๐ด′ ๐ด′)−1 ๐ด′๐‘‡ ๐‘′
• ๐‘ =
๐ด′ ๐‘ฆ
= ๐ด′
๐‘‡
๐ด′ ๐ด′
๐‘ 
−1
๐ด’
๐ด′๐‘‡ ๐‘′ = ๐‘ƒ๐‘′
๐‘‡
• ๐‘ƒ = ๐ด′(๐ด′ ๐ด′)−1 ๐ด′๐‘‡ = projection matrix with respect to ๐ด’
• We need to consider the vector ๐‘๐‘ƒ ∈ ℵ ๐ด′
• Remember ๐ด′๐‘‡ ๐‘๐‘ƒ = 0
• ๐‘๐‘ƒ = ๐‘′ − ๐‘  = ๐ผ − ๐ด′ ๐ด′๐‘‡ ๐ด′
−1
๐ด′๐‘‡ ๐‘ ′ = ๐‘ƒℵ ๐‘ ′
• ๐‘ƒℵ is the projection matrix with respect to ℵ(๐ด′)
20
Orthogonal Projection
• What is the direction of ๐‘๐‘ƒ ?
๐‘′
๐‘๐‘ƒ
• Steepest descent = −๐‘๐‘ƒ
๐‘ 
๐ด’
• We got the direction of the movement or projected ๐‘’ onto
ℵ(๐ด′ )
• Projection on
๐‘’๐‘‡๐‘ฅ′
= 1 ⇒ ๐‘๐‘ƒ =
๐‘๐‘ƒ
|๐‘๐‘ƒ |
21
Calculate step size
Minimize ๐’„′๐‘ป ๐’™′
S.t.
๐‘จ′๐’™′ = ๐ŸŽ
๐’†๐‘ป๐’™′ = ๐Ÿ
๐’™′ ≥ ๐ŸŽ
• r = radius of the incircle =
• ๐‘ฅ′(๐‘˜+1) =
๐‘’
๐‘›
1
๐‘›(๐‘›−1)
− ๐›ผ๐‘Ÿ๐‘๐‘ƒ
22
Movement and inverse
transformation
Transform
๐‘ฅ (๐‘˜)
๐‘ฅ (๐‘˜+1)
Inverse
Transform
๐‘ฅ′(๐‘˜)
๐‘’
=
๐‘›
๐‘ฅ′(๐‘˜+1)
23
Big Picture
๐‘ฅ′(๐‘˜)
๐‘ฅ (๐‘˜)
๐‘ฅ
(๐‘˜+1)
๐‘ฅ′(๐‘˜+1)
๐‘ฅ′′(๐‘˜+1)
๐‘ฅ (๐‘˜+2)
๐‘ฅ′′(๐‘˜+2)
24
Matlab Demo
25
Contents
• Overview
• Projective transformation
• Orthogonal projection
• Complexity analysis
• Transformation to Karmarkar’s canonical form
26
Running Time
• Total complexity of iterative algorithm =
(# of iterations) x (operations in each iteration)
• We will prove that the # of iterations = O(nL)
• Operations in each iteration = O(n2.5)
• Therefore running time of Karmarkar’s algorithm = O(n3.5L)
# of iterations
• Let us calculate the change in objective function value at the end of
each iteration
• Objective function ๐‘ ๐‘‡ ๐‘ฅ ๐‘˜ changes upon transformation
• Therefore use Karmarkar’s potential function
๐‘›
๐‘“ ๐‘ฅ =
๐‘—=1
๐‘๐‘‡๐‘ฅ
ln
๐‘ฅ๐‘—
(๐‘˜)
๐‘“ ๐‘ฅ (๐‘˜) =
ln ๐‘ ๐‘‡ ๐‘ฅ (๐‘˜) − ln ๐‘ฅ๐‘—
๐‘—
(๐‘˜)
๐‘“ ๐‘ฅ (๐‘˜) = ๐‘› ln ๐‘ ๐‘‡ ๐‘ฅ (๐‘˜) −
ln ๐‘ฅ๐‘—
๐‘—
• The potential function is invariant on transformations (upto some
additive constants)
# of iterations
• Improvement in potential function is
๐‘“(๐‘ฅ (๐‘˜) ) − ๐‘“(๐‘ฅ (๐‘˜−1) )
(๐‘˜)
= n ln ๐‘ ๐‘‡ ๐‘ฅ (๐‘˜) −
๐‘™๐‘› ๐‘ฅ๐‘—
(๐‘˜−1)
− (๐‘› ๐‘™๐‘› ๐‘ ๐‘‡ ๐‘ฅ (๐‘˜−1) −
๐‘—
๐‘™๐‘› ๐‘ฅ๐‘—
)
๐‘—
• Rearranging,
๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
๐‘˜−1
= ๐‘› ๐‘™๐‘›
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜)
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜−1)
(๐‘˜)
−
๐‘ฅ๐‘—
๐‘— ๐‘™๐‘› (๐‘ฅ (๐‘˜−1) )
# of iterations
• Since potential function is invariant on transformations, we can use
• ๐‘“(๐‘ฅ (๐‘˜) ) − ๐‘“(๐‘ฅ (๐‘˜−1) ) ≈ ๐‘“(๐‘ฅ′(๐‘˜) ) − ๐‘“(๐‘ฅ′(๐‘˜−1) )
where๐‘ฅ′(๐‘˜) and ๐‘ฅ′(๐‘˜−1) are points in the transformed space.
• At each step in the transformed space,
• ๐‘ฅ′(๐‘˜) = ๐‘ฅ′(๐‘˜−1) − ๐›ผ๐‘Ÿ
• ๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
๐‘˜−1
๐‘๐‘
|๐‘๐‘ |
= ๐‘Ž0 − ๐›ผ๐‘Ÿ
≈ ๐‘›๐‘™๐‘›
๐‘๐‘
|๐‘๐‘ |
๐‘ ๐‘‡ ๐‘Ž0 −๐›ผ๐‘Ÿ
๐‘ ๐‘‡ ๐‘Ž0
๐‘๐‘
๐‘๐‘
=
๐‘Ž0 −๐›ผ๐‘Ÿ
๐‘— ln(
๐‘Ž0
๐‘๐‘
๐‘๐‘
)
# of iterations
• Simplifying, we get
• ๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
๐‘˜−1
๐‘๐‘
≈ ๐‘›๐‘™๐‘› 1 − ๐›ฝ
๐‘— ๐‘๐‘—
−
๐‘๐‘๐‘—
๐‘— ln(1 − ๐›ฝ |๐‘ |)
๐‘
Where β = ๐›ผ๐‘Ÿ๐‘›
• For small ๐‘ฅ ,
ln 1 − ๐‘ฅ ≈ −๐‘ฅ
• So suppose both β
๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
๐‘˜−1
๐œ๐
๐’‹ ๐œ๐’‹
and β
≈ −๐‘› β
๐œ๐๐’‹
๐œ๐
are small
๐œ๐
๐’‹ ๐œ๐’‹
jβ
cPj
cP
≈ −n β
cP
j cj
# of iterations
• It can be shown that
cP
j cj
R≥
≥r >
1
n
• The worst case for
๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
๐‘˜−1
would be if β =
cP
≈ −n β
j cj
1
n
• In this case
๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
๐‘˜−1
≈ −β
(β = α r n)
# of iterations
• Thus we have proved that
๐‘˜
๐‘“ ๐‘ฅ
−๐‘“ ๐‘ฅ
๐‘˜−1
≤ −δ
• Thus
๐‘“ ๐‘ฅ
๐‘˜
−๐‘“ ๐‘ฅ
0
≤ −kδ
where k is the number of iterations to converge
• Plugging in the definition of potential function,
๐‘›
๐‘—=1 ln
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜)
(๐‘˜)
๐‘ฅ๐‘—
−
๐‘›
๐‘—=1 ln
๐‘ ๐‘‡ ๐‘ฅ (0)
(0)
๐‘ฅ๐‘—
≤ −๐‘˜๐›ฟ
# of iterations
• Rearranging, we get
๐‘™๐‘›
•
•
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜)
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜)
๐‘๐‘‡๐‘ฅ
(0)
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜)
๐‘๐‘‡๐‘ฅ
≤ ๐‘› ln ๐‘› − ๐‘˜๐›ฟ
(0)
๐‘๐‘‡ ๐‘ฅ
(0)
๐‘˜
≤ ๐‘’
๐‘™๐‘› ๐‘›−๐‘›๐›ฟ
๐‘˜
≤๐‘›๐‘’
−๐‘›๐›ฟ
# of iterations
• Therefore there exists some constant ๐‘˜′ such that after
๐‘› ๐‘ž+ln ๐‘›
๐›ฟ
๐‘˜ = ๐‘˜′(
−๐‘˜′(
๐‘‡ (๐‘˜)
๐‘ ๐‘ฅ
(0)
๐‘๐‘‡๐‘ฅ
≤๐‘›๐‘’
๐‘ ๐‘‡ ๐‘ฅ (๐‘˜)
(0)
๐‘ ๐‘‡๐‘ฅ
) iterations,
๐‘› ๐‘ž+๐‘™๐‘› ๐‘›
)
๐›ฟ
๐‘›๐›ฟ
≤ ๐‘’ −๐‘ž ≤ 2−๐‘ž where ๐‘ž = ๐›ฉ(๐ฟ) , ๐ฟ being the number of
bits
2−๐‘ž is sufficiently small to cause the algorithm to converge.
• Thus the number of iterations is in O(๐‘›๐ฟ)
Rank-one modification
• The computational effort is dominated by:
๐‘๐‘ = ๐ผ − ๐ด′๐‘‡ ๐ด′๐ด′๐‘‡ −1 ๐ด ๐ท๐‘
๐ด′ = ๐ด๐ท
• Substituting A’ in, we have
๐ด′ ๐ด′๐‘‡ = ๐ด๐ท ๐ด๐ท ๐‘‡ = ๐ด๐ท๐ท๐‘‡ ๐ด๐‘‡ = ๐ด๐ท2 ๐ด๐‘‡
• The only quantity changes from step to step is D (๐ท๐‘–๐‘–๐‘˜ = ๐‘ฅ๐‘–๐‘˜ )
• Intuition:
• Let ๐ท and ๐ท′ be ๐‘› × ๐‘› diagonal matrices
• If ๐ท and ๐ท′ are close the calculation ๐ด๐ท ′2 ๐ด๐‘‡
๐ด๐ท 2 ๐ด๐‘‡ −1 should be cheap!
−1
given
Method
• Define a diagonal matrix ๐ท′(๐‘˜) , a “working approximation” to
๐ท ๐‘˜ in step k such that
•
1
2
≤
′ ๐‘˜
๐ท๐‘–๐‘–
๐‘˜
๐ท๐‘–๐‘–
2
≤ 2 for ๐‘– = 1,2, … , ๐‘›
• We update D’ by the following strategy
• ๐ท ′ ๐‘˜+1 = ๐œŽ ๐‘˜ ๐ท′ ๐‘˜
later slides)
• For ๐‘– = 1 to ๐‘› do
if
′ ๐‘˜
๐ท๐‘–๐‘–
๐‘˜
๐ท๐‘–๐‘–
Then let
(We will explain this scaling factor in
2
∉
1
,2
2
๐‘˜+1
๐ท๐‘–๐‘–′
=
๐‘˜+1
๐ท๐‘–๐‘–
and update ๐ด ๐ท’
๐‘˜+1
2 ๐‘‡ −1
๐ด
Rank-one modification (cont)
• We have
•
•
•
•
−1 ๐‘ข ๐‘€ −1 ๐‘ฃ ๐‘‡
๐‘€
๐‘€ + ๐‘ข๐‘ฃ ๐‘‡ −1 = ๐‘€−1 −
1 + ๐‘ข๐‘‡ ๐‘€−1 ๐‘ฃ
Given ๐‘€−1 , computation of ๐‘€ + ๐‘ข๐‘ฃ ๐‘‡ −1 can be done in 3๐‘›2
or ๐‘‚ ๐‘›2 steps.
If ๐ท and ๐ท’ differ only in ๐‘– ๐‘กโ„Ž entry then
๐ด๐ท2 ๐ด๐‘‡ = ๐ด๐ท′2 ๐ด๐‘‡ + ๐ท๐‘–๐‘–2 − ๐ท๐‘–๐‘–′2 ๐‘Ž๐‘– ๐‘Ž๐‘–๐‘‡
=> rank one modification.
If ๐ท and ๐ท’ differ in ๐‘™ entries then complexity is ๐‘‚(๐‘›2 ๐‘™).
Performance Analysis
• In each step: ๐‘ ′ − ๐‘Ž๐‘œ ≤ ๐›ผ๐‘Ÿ
• Substituting ๐‘’ =
1
๐‘Ÿ=
and ๐‘‡(๐‘ฅ) =
2
๐‘˜+1
๐‘–
๐‘ฅ
๐‘–
๐‘Ž0 =
๐‘›−1 ๐‘’
(๐‘›(๐‘›−1)
๐‘ฅ
•
๐‘‡(๐‘ฅ (๐‘˜+1) ),
๐‘˜
๐‘–
๐‘˜+1
๐‘—
๐‘—
๐‘˜
๐‘ฅ
๐‘—
• Then
• Then
๐‘ฅ
๐‘–
๐‘–
๐‘ฅ๐‘–
−
1
๐‘›
≤
๐‘˜
โˆ†๐‘–
๐‘˜
Let call ๐œŽ (๐‘˜) =
2
๐‘˜+1
๐‘ฅ๐‘– ๐œŽ๐‘˜
๐›ผ2
๐‘› ๐‘›−1
−1
−1
2
≤
๐›ฝ2
≤ ๐›ฝ2
๐‘˜
Let โˆ†๐‘– =
๐‘ฅ๐‘–
1
๐‘›
๐‘˜+1
๐‘˜
๐‘ฅ๐‘– ๐œŽ๐‘˜
๐‘˜+1
๐‘ฅ๐‘—
๐‘—
๐‘˜
๐‘ฅ๐‘—
๐ท−1 ๐‘ฅ
,
๐‘’ ๐‘‡ ๐ท−1 ๐‘ฅ
Performance analysis - 2
by a factor ๐œŽ ๐‘˜
๐ท′ ๐‘˜+1 = ๐œŽ ๐‘˜ ๐ท′(๐‘˜)
• Then for any entry I such that
2
′ ๐‘˜+1
๐ท๐‘–๐‘–
1
∉
,2
๐‘˜+1
2
๐ท
• First we scale ๐ท’
• We reset ๐ท๐‘–๐‘–′
๐‘˜+1
๐‘˜
=
๐‘–๐‘–
๐‘˜+1
๐ท๐‘–๐‘–
• Define discrepancy between ๐ท ๐‘˜ and ๐ท’ ๐‘˜ as
′ ๐‘˜
๐ท
๐‘˜
๐›ฟ๐‘– = ๐‘™๐‘› ๐‘–๐‘–๐‘˜
๐ท๐‘–๐‘–
• Then just after an updating operation for index ๐‘–
๐‘˜
๐›ฟ๐‘– = 0
Performance Analysis - 3
• Just before an updating operation for index i
๐›ฟ๐‘–
๐‘˜
≥ ๐‘™๐‘› 2
Between two successive updates, say at steps k1 and k2
๐›ฟ๐‘–
Let call โˆ†๐›ฟ๐‘–
๐‘˜
= ๐›ฟ๐‘–
๐‘˜2
− ๐›ฟ๐‘–
๐‘˜+1
๐‘™๐‘› 2 ≤
๐‘˜1
=
๐‘˜=๐‘˜1
๐‘˜
−๐›ฟ
(๐‘˜ )
๐›ฟ๐‘– 2
๐‘˜2 −1
[๐›ฟ๐‘–
๐‘˜+1
−๐›ฟ
๐‘˜
]
Then
= ๐›ฟ๐‘–
๐‘˜2
−๐›ฟ๐‘–
๐‘˜1
=
๐‘˜2 −1
๐‘˜=๐‘˜1
โˆ†๐›ฟ๐‘–
๐‘˜
Assume that no updating operation was performed for index I
โˆ†๐›ฟ๐‘–
๐‘˜
= ๐›ฟ๐‘–
๐‘˜
๐œŽ ๐‘˜ ๐‘ฅ๐‘–
๐‘™๐‘› ๐‘˜+1
๐‘ฅ๐‘–
๐‘˜+1
−๐›ฟ
= −๐‘™๐‘›โˆ†๐‘–
๐‘˜
′ ๐‘˜+1
= ๐‘™๐‘›
๐ท๐‘–๐‘–
๐‘˜+1
๐ท๐‘–๐‘–
′ ๐‘˜
- ๐‘™๐‘›
๐ท๐‘–๐‘–
๐‘˜
๐ท๐‘–๐‘–
๐‘˜
โˆ†๐›ฟ๐‘–
๐‘˜
= ๐‘™๐‘›โˆ†๐‘–
๐‘˜
′ ๐‘˜+1
= ๐‘™๐‘›
๐ท๐‘–๐‘–
๐‘˜
๐ท๐‘–๐‘–
๐‘˜
×
๐ท๐‘–๐‘–
′ ๐‘˜
๐ท๐‘–๐‘–
=
Performance Analysis - 4
• Let ๐‘›๐‘– be the number of updating operations corresponding to index ๐‘– in ๐‘š steps
and ๐‘ = ๐‘›๐‘–=1 ๐‘›๐‘– be the total number of updating operations in ๐‘š steps.
• We have
๐‘š
๐‘™๐‘› 2๐‘›๐‘– ≤
๐‘™๐‘›โˆ†๐‘–
๐‘˜=1
๐‘›
๐‘š
๐‘™๐‘› 2๐‘ =
๐‘–=1
โˆ†๐‘–
๐‘˜
−1
2
๐‘˜
๐‘˜=1
≤ ๐›ฝ 2 ⇒ โˆ†๐‘–
๐‘™๐‘›โˆ†๐‘–
๐‘˜
๐‘˜
−1 ≤๐›ฝ
๐‘–
Because of ๐‘ฅ ≤ ๐›ฝ < 1 then ln 1 + ๐‘ฅ − ๐‘ฅ
⇒ ๐‘™๐‘›โˆ†๐‘– ๐‘˜ − (โˆ†๐‘– ๐‘˜ − 1) ≤
โˆ†๐‘–
๐‘–
๐‘˜
−1
2
๐‘ฅ2
≤
2 1−๐›ฝ
2
โˆ†๐‘˜๐‘– − 1
2 1−๐›ฝ
โˆ†๐‘– ๐‘˜ − 1 ≤ ๐‘›๐›ฝ
≤ ๐›ฝ2 ⇒
๐‘–
Performance Analysis - 5
• Hence
•
๐‘›
๐‘–=1
๐‘™๐‘›โˆ†๐‘–
๐‘˜
๐‘›
≤
๐‘–=1
โˆ†๐‘˜๐‘–
≤
๐‘–
๐‘›
๐‘–=1
=
๐‘™๐‘›โˆ†๐‘–
๐‘˜
๐‘™๐‘›โˆ†๐‘–
− โˆ†๐‘–
๐‘˜
2
๐‘˜
− โˆ†๐‘–
๐‘˜
− 1 + (โˆ†๐‘–
๐‘›
−1
+
๐‘–=1
โˆ†๐‘–
๐‘˜
๐‘˜
−1
−1
๐›ฝ2
+ ๐‘›๐›ฝ ≤
+ ๐‘›๐›ฝ
2 1−๐›ฝ
2 1−๐›ฝ
• So
๐‘›
๐‘–=1
๐‘š
๐‘˜=1
• ๐‘ = ๐‘‚(๐‘š ๐‘›)
• Finally ๐‘‚(๐‘›๐ฟ ๐‘›๐‘›2 )
๐‘™๐‘›โˆ†๐‘–
๐‘˜
− 1)
๐›ฝ2
≤๐‘š
+ ๐‘›๐›ฝ
2 1−๐›ฝ
Contents
• Overview
• Transformation to Karmarkar’s canonical form
• Projective transformation
• Orthogonal projection
• Complexity analysis
44
Transform to canonical form
General LP
๐‘‡
Minimize ๐‘ž ๐‘ฅ
Subject to
• ๐‘†๐‘ฅ ≥ ๐‘ก
• x≥0
Karmarkar’s Canonical Form
Minimize ๐‘ ๐‘‡ ๐‘ฅ
Subject to
• ๐ด๐‘ฅ = 0
• ๐‘ฅ๐‘– = 1
• x≥0
45
Step 1:Convert LP to a
feasibility problem
• Combine primal and dual problems
Dual
Primal
Minimize ๐‘ž ๐‘‡ ๐‘ฅ
Subject to
Maximize ๐‘ก ๐‘‡ ๐‘ข
Subject to
• ๐‘†๐‘ฅ ≥ ๐‘ก
• x≥0
• ๐‘†๐‘‡ ๐‘ข ≤ ๐‘ž
• ๐‘ข ≥0
Combined
•
•
•
•
๐‘ž๐‘‡ ๐‘ฅ − ๐‘ก ๐‘‡ ๐‘ข = 0
๐‘†๐‘ฅ ≥ ๐‘ก
๐‘†๐‘‡ ๐‘ข ≤ ๐‘ž
x, u ≥ 0
• LP becomes a feasibility problem
46
Step 2: Convert inequality to
equality
• Introduce slack and surplus variable
๐‘ž๐‘‡ ๐‘ฅ − ๐‘ก ๐‘‡ ๐‘ข = 0
• ๐‘†๐‘ฅ − ๐‘ฆ = ๐‘ก
• ๐‘†๐‘‡ ๐‘ข + ๐‘ฃ = ๐‘ž
• x, u, y, v ≥ 0
47
Step 3: Convert feasibility
problem to LP
• Introduce an artificial variable to create an interior starting
point.
• Let ๐‘ฅ0 , ๐‘ฆ0 , ๐‘ข0 , ๐‘ฃ0 be strictly interior points in the positive
orthant.
• Minimize λ
• Subject to
•
•
•
•
๐‘ž๐‘‡ ๐‘ฅ − ๐‘ก ๐‘‡ ๐‘ข + (−๐‘ž๐‘‡ ๐‘ฅ0 + ๐‘ก ๐‘‡ ๐‘ข0 ) λ = 0
๐‘†๐‘ฅ − ๐‘ฆ + (๐‘ก − ๐‘†๐‘ฅ0 + ๐‘ฆ0 )λ = t
๐‘† ๐‘‡ ๐‘ข + ๐‘ฃ + (๐‘ž − ๐‘† ๐‘‡ ๐‘ข0 ) λ = ๐‘ž
๐‘ฅ, ๐‘ฆ, ๐‘ข, ๐‘ฃ, λ ≥ 0
48
Step 3: Convert feasibility
problem to LP
• Minimize λ
• Subject to
•
•
•
•
๐‘ž๐‘‡ ๐‘ฅ − ๐‘ก ๐‘‡ ๐‘ข + (−๐‘ž๐‘‡ ๐‘ฅ0 + ๐‘ก ๐‘‡ ๐‘ข0 ) λ = 0
๐‘†๐‘ฅ − ๐‘ฆ + (๐‘ก − ๐‘†๐‘ฅ0 + ๐‘ฆ0 )λ = t
๐‘† ๐‘‡ ๐‘ข + ๐‘ฃ + (๐‘ž − ๐‘† ๐‘‡ ๐‘ข0 ) λ = ๐‘ž
๐‘ฅ, ๐‘ฆ, ๐‘ข, ๐‘ฃ, λ ≥ 0
• Change of notation
Minimize ๐‘ ๐‘‡ ๐‘ฅ
Subject to
• ๐ด๐‘ฅ = ๐‘
• x≥0
49
Step4: Introduce constraint
๐‘ฅ′๐‘– = 1
• Let ๐‘Ž = [๐‘Ž1 , ๐‘Ž2 ,…, ๐‘Ž๐‘› ] be a feasible point in the original LP
• Define a transformation
• ๐‘ฅ′๐‘– =
๐‘ฅ๐‘–
๐‘Ž๐‘–
๐‘ฅ๐‘—
๐‘›
๐‘—=1๐‘Ž
๐‘—
+1
• ๐‘ฅ′๐‘›+1 = 1 −
for ๐‘– = 1, 2, … , ๐‘›
๐‘›
๐‘–=1 ๐‘ฅ′๐‘–
• Define the inverse transformation
• ๐‘ฅ๐‘– =
๐‘Ž๐‘– ๐‘ฅ′๐‘–
๐‘ฅ′๐‘›+1
for ๐‘– = 1, 2, … , ๐‘›
50
Step4: Introduce constraint ๐ด′๐‘ฅ ′ = 0
• Let ๐ด๐‘– denote the ๐‘– ๐‘กโ„Ž column of ๐ด
• If ๐‘›๐‘–=1 ๐ด๐‘– ๐‘ฅ๐‘– = ๐‘
• Then ๐‘›๐‘–=1 ๐ด๐‘– ๐‘Ž๐‘– ๐‘ฅ′๐‘– − ๐‘๐‘ฅ′๐‘›+1 = 0
• We define the columns of a matrix ๐ด’ by these equations
• ๐ด′๐‘– = ๐‘Ž๐‘– ๐ด๐‘– for ๐‘– = 1, 2, … , ๐‘›
• ๐ด′๐‘›+1 = −๐‘
• Then
๐‘›+1
๐‘–=1 ๐ด′๐‘– ๐‘ฅ′๐‘–
=0
51
Step 5: Get the minimum value
of Canonical form
• Substituting
• We get
๐‘Ž๐‘– ๐‘ฅ๐‘–′
๐‘ฅ๐‘– = ′
๐‘ฅ๐‘›+1
๐‘›+1 ๐‘ ๐‘Ž ๐‘ฅ ′
๐‘– ๐‘– ๐‘–
′
๐‘–=1 ๐‘ฅ๐‘›+1
=0
• Define ๐‘′ ∈ ๐‘…๐‘›+1 by
๐‘๐‘–′ = ๐‘Ž๐‘– ๐‘๐‘– ๐‘“๐‘œ๐‘Ÿ ๐‘– = 1, … , ๐‘›
′
๐‘๐‘›+1
=0
• Then ๐‘ ๐‘‡ ๐‘ฅ = 0 implies ๐‘ ′๐‘‡ ๐‘ฅ ′ = 0
52
Step 5: Get the minimum value
of Canonical form
• The transformed problem is
Minimize ๐‘ ′๐‘‡ ๐‘ฅ ′
Subject to
• ๐ด′ ๐‘ฅ ′ = 0
• ๐‘ฅ′ ≥ 0
•
๐‘›+1 ′
๐‘–=1 ๐‘ฅ๐‘–
=1
53
References
• Narendra Karmarkar (1984). "A New Polynomial Time
Algorithm for Linear Programming”
• Strang, Gilbert (1 June 1987). "Karmarkar’s algorithm and its
place in applied mathematics". The Mathematical Intelligencer
(New York: Springer) 9 (2): 4–10. doi:10.1007/BF03025891.
ISSN 0343-6993. MR '''883185'‘
• Robert J. Vanderbei; Meketon, Marc, Freedman, Barry (1986).
"A Modification of Karmarkar's Linear Programming
Algorithm". Algorithmica 1: 395–407.
doi:10.1007/BF01840454. ^ Kolata, Gina (1989-03-12). "IDEAS
& TRENDS; Mathematicians Are Troubled by Claims on Their
Recipes". The New York Times.
54
References
• Gill, Philip E.; Murray, Walter, Saunders, Michael A., Tomlin, J.
A. and Wright, Margaret H. (1986). "On projected Newton
barrier methods for linear programming and an equivalence to
Karmarkar’s projective method". Mathematical Programming
36 (2): 183–209. doi:10.1007/BF02592025.
• oi:10.1007/BF02592025. ^ Anthony V. Fiacco; Garth P.
McCormick (1968). Nonlinear Programming: Sequential
Unconstrained Minimization Techniques. New York: Wiley.
ISBN 978-0-471-25810-0. Reprinted by SIAM in 1990 as ISBN
978-0-89871-254-4.
• Andrew Chin (2009). "On Abstraction and Equivalence in
Software Patent Doctrine: A Response to Bessen, Meurer and
Klemens". Journal Of Intellectual Property Law 16: 214–223.
55
Q&A
56
Download