karmarkar algorithm

54
Karmarkar Algorithm Anup Das, Aissan Dalvandi, Narmada Sambaturu, Seung Min, and Le Tuan Anh 1

Upload: sibley

Post on 25-Feb-2016

164 views

Category:

Documents


2 download

DESCRIPTION

Karmarkar Algorithm. Anup Das, Aissan Dalvandi, Narmada Sambaturu, Seung Min, and Le Tuan Anh. Contents. Overview Projective transformation Orthogonal projection Complexity analysis Transformation to Karmarkar’s canonical form. LP Solutions. Simplex Dantzig 1947 Ellipsoid - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Karmarkar  Algorithm

Karmarkar AlgorithmAnup Das, Aissan Dalvandi, Narmada Sambaturu, Seung Min, and Le Tuan Anh

1

Page 2: Karmarkar  Algorithm

Contents• Overview

• Projective transformation

• Orthogonal projection

• Complexity analysis

• Transformation to Karmarkar’s canonical form

2

Page 3: Karmarkar  Algorithm

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 Labs3

Page 4: Karmarkar  Algorithm

Linear Programming

5

MSubject to

MSubject to

Karmarkar’s Canonical FormGeneral LP

• Minimum value of is 0

Page 5: Karmarkar  Algorithm

Karmarkar’s Algorithm• Step 1: Take an initial point • Step 2: While • 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

• 2.3 Inverse transform: • This gives us

• 2.4 Use as the start point of the next iteration • Set

6

Page 6: Karmarkar  Algorithm

Step 2.1• Transformation: such that is center of - Why?

7

𝑥 ′(𝑘)

𝑟

𝑥(𝑘)

Page 7: Karmarkar  Algorithm

Step 2.2• Projection and movement: Project to feasible region and

move in the steepest descent direction - Why?

8

𝑐 ′

−𝑐 ′

Projection of to feasible region

Page 8: Karmarkar  Algorithm

Big Picture

9

𝑥(𝑘)𝑥 ′(𝑘)

𝑥 ′(𝑘+1)

𝑥(𝑘+1 )

𝑥(𝑘+2 )

Page 9: Karmarkar  Algorithm

Karmarkar’s Algorithm• Step 1: Take an initial point • Step 2: While • 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

• 2.3 Inverse transform: • This gives us

• 2.4 Use as the start point of the next iteration • Set

11

Page 10: Karmarkar  Algorithm

Projective Transformation• Transformation: such that is center of

12

Transform

𝑥(𝑘) 𝑥 ′(𝑘)=𝑒𝑛

𝑥(𝑘)=[𝑥1(𝑘)

𝑥2(𝑘)

⋮𝑥𝑛

(𝑘) ] 𝑥 ′(𝑘)=[1𝑛1𝑛⋮1𝑛

]=𝑒𝑛

𝑒= [111…1 ]𝑇

Page 11: Karmarkar  Algorithm

Projective transformation• We define the transform such that

• We transform every other point with respect to point

Mathematically:• Defining D = diag • projective transformation:•

• inverse transformation•

13

Page 12: Karmarkar  Algorithm

Problem transformation:• projective transformation:•

• inverse transformation•

The new objective function is not a linear function.

Minimize

s.t.

MinimizeS.t.

Transform

14

Page 13: Karmarkar  Algorithm

Problem transformation:

MinimizeS.t.

Convert

15

MinimizeS.t.

Page 14: Karmarkar  Algorithm

Karmarkar’s Algorithm• Step 1: Take an initial point • Step 2: While • 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

• 2.3 Inverse transform: • This gives us

• 2.4 Use as the start point of the next iteration • Set

16

Page 15: Karmarkar  Algorithm

Orthogonal Projection

• Projecting onto • projection on • normalization

17

MinimizeS.t.

Page 16: Karmarkar  Algorithm

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

𝑐 ′ 𝑐𝑃

𝑠 𝐴’

ℵ (𝐴′)

Page 17: Karmarkar  Algorithm

Orthogonal Projection• Let and be the basis of the plane ()

• The plane is spanned by the column space of ]

• , so

• is perpendicular to and

• 19

𝑐 ′ 𝑐𝑃

𝑠 𝐴’

ℵ (𝐴′)

Page 18: Karmarkar  Algorithm

Orthogonal Projection

• = projection matrix with respect to ’

• We need to consider the vector • Remember

• is the projection matrix with respect to 20

𝑐 ′ 𝑐𝑃

𝑠 𝐴’

ℵ (𝐴′)

Page 19: Karmarkar  Algorithm

Orthogonal Projection• What is the direction of?

• Steepest descent =

• We got the direction of the movement or projected ’ onto

• Projection on

21

𝑐 ′ 𝑐𝑃

𝑠 𝐴’

Page 20: Karmarkar  Algorithm

Calculate step size

• r = radius of the incircle

22

MinimizeS.t.

Page 21: Karmarkar  Algorithm

Movement and inverse transformation

23

Transform

𝑥(𝑘) 𝑥 ′(𝑘)=𝑒𝑛

𝑥 ′(𝑘+ 1)

𝑥(𝑘+1 ) Inverse Transform

Page 22: Karmarkar  Algorithm

Big Picture

24

𝑥(𝑘)𝑥 ′(𝑘)

𝑥 ′(𝑘+1)

𝑥(𝑘+1 )

𝑥(𝑘+2 )

Page 23: Karmarkar  Algorithm

Matlab Demo

25

Page 24: Karmarkar  Algorithm

Contents• Overview

• Projective transformation

• Orthogonal projection

• Complexity analysis

• Transformation to Karmarkar’s canonical form

26

Page 25: Karmarkar  Algorithm

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)

Page 26: Karmarkar  Algorithm

# 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

• The potential function is invariant on transformations (upto some additive constants)

Page 27: Karmarkar  Algorithm

# of iterations• Improvement in potential function is

• Rearranging,

Page 28: Karmarkar  Algorithm

# of iterations• Since potential function is invariant on transformations, we

can use

whereandare points in the transformed space.

• At each step in the transformed space,

Page 29: Karmarkar  Algorithm

# of iterations• Simplifying, we get•

Where

• For small

• So suppose both and are small -

Page 30: Karmarkar  Algorithm

# of iterations• It can be shown that • The worst case for

would be if

• In this case

Page 31: Karmarkar  Algorithm

# of iterations• Thus we have proved that

• Thus

where k is the number of iterations to converge

• Plugging in the definition of potential function,

Page 32: Karmarkar  Algorithm

# of iterations• Rearranging, we get

Page 33: Karmarkar  Algorithm

# of iterations• Therefore there exists some constant such that after

iterations,

where , being the number of bits

is sufficiently small to cause the algorithm to converge.

• Thus the number of iterations is in

Page 34: Karmarkar  Algorithm

Rank-one modification• The computational effort is dominated by:

• Substituting A’ in, we have

• The only quantity changes from step to step is D • Intuition:• Let and be diagonal matrices• If and are close the calculation given should be cheap!

Page 35: Karmarkar  Algorithm

Method• Define a diagonal matrix , a “working approximation” to in

step k such that• for • We update D’ by the following strategy• (We will explain this scaling factor in later slides)• For to do

if Then let and update

Page 36: Karmarkar  Algorithm

Rank-one modification (cont)• We have

• Given , computation of can be done in or steps.• If and differ only in entry then

• => rank one modification.• If and differ in entries then complexity is .

Page 37: Karmarkar  Algorithm

Performance Analysis• In each step: • Substituting , and , • Let call • Then Let • Then

Page 38: Karmarkar  Algorithm

Performance analysis - 2• First we scale by a factor

• Then for any entry I such that

• We reset • Define discrepancy between and as• Then just after an updating operation for index

Page 39: Karmarkar  Algorithm

Performance Analysis - 3• Just before an updating operation for index i

Between two successive updates, say at steps k1 and k2

Let call Then

Assume that no updating operation was performed for index I-

Page 40: Karmarkar  Algorithm

Performance Analysis - 4

• Let be the number of updating operations corresponding to index in steps and be the total number of updating operations in steps.

• We have

Because of then

Page 41: Karmarkar  Algorithm

Performance Analysis - 5• Hence

• So

• Finally

Page 42: Karmarkar  Algorithm

Contents• Overview

• Transformation to Karmarkar’s canonical form

• Projective transformation

• Orthogonal projection

• Complexity analysis

44

Page 43: Karmarkar  Algorithm

Transform to canonical form

45

MSubject to

• x

MSubject to

• x

Karmarkar’s Canonical FormGeneral LP

Page 44: Karmarkar  Algorithm

Step 1:Convert LP to a feasibility problem• Combine primal and dual problems

• LP becomes a feasibility problem46

MSubject to

• x

MSubject to

Primal Dual

Combined

Page 45: Karmarkar  Algorithm

Step 2: Convert inequality to equality• Introduce slack and surplus variable

47

Page 46: Karmarkar  Algorithm

Step 3: Convert feasibility problem to LP• Introduce an artificial variable to create an interior starting

point.• Let be strictly interior points in the positive orthant.

48

• Minimize • Subject to• • + •

Page 47: Karmarkar  Algorithm

Step 3: Convert feasibility problem to LP

• Change of notation

49

MSubject to

• x

• Minimize • Subject to• • + •

Page 48: Karmarkar  Algorithm

Step4: Introduce constraint • Let ,…, ] be a feasible point in the original LP

• Define a transformation• for

• Define the inverse transformation• for

50

Page 49: Karmarkar  Algorithm

Step4: Introduce constraint • Let denote the column of • If • Then

• We define the columns of a matrix ’ by these equations• for • =

• Then

51

Page 50: Karmarkar  Algorithm

Step 5: Get the minimum value of Canonical form • Substituting

• We get

• Define by

• Then implies

52

Page 51: Karmarkar  Algorithm

Step 5: Get the minimum value of Canonical form • The transformed problem is

53

M

Subject to

Page 52: Karmarkar  Algorithm

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

Page 53: Karmarkar  Algorithm

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

Page 54: Karmarkar  Algorithm

Q&A

56