linear programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/module_3/m3l6slides.pdf · 1 d...

21
D Nagesh Kumar, IISc Optimization Methods: M3L6 1 Linear Programming Other Algorithms

Upload: phamnhu

Post on 18-Aug-2018

297 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L61

Linear Programming

Other Algorithms

Page 2: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L62

Introduction & Objectives

Few other methods, for solving LP problems, use an entirely different algorithmic philosophy.– Khatchian’s ellipsoid method– Karmarkar’s projective scaling method

ObjectivesTo present a comparative discussion between new methods and Simplex methodTo discuss in detail about Karmarkar’s projective scaling method

Page 3: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L63

Comparative discussion between new methods and Simplex method

Simplex AlgorithmKarmarkar’s Algorithm

Optimal solution point

Feasible Region

Khatchian’s ellipsoid methodand Karmarkar’s projective scaling method seek the optimum solution to an LP problem by moving through the interior of the feasible region.

Page 4: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L64

Comparative discussion between new methods and Simplex method

1. Both Khatchian’s ellipsoid method and Karmarkar’s projective scaling method have been shown to be polynomial time algorithms. Time required for an LP problem of size n is at most anb , where a and b are two positive numbers.

2. Simplex algorithm is an exponential time algorithm in solving LP problems.Time required for an LP problem of size n is at most c2n, where c is a positive number

Page 5: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L65

Comparative discussion between new methods and Simplex method

3. For a large enough n (with positive a, b and c), c2n > anb. The polynomial time algorithms are computationally superior to exponential algorithms for large LP problems.

4. However, the rigorous computational effort of Karmarkar’s projective scaling method, is not economical for ‘not-so-large’ problems.

Page 6: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L66

Karmarkar’s projective scaling method

Also known as Karmarkar’s interior point LP algorithm

Starts with a trial solution and shoots it towards the optimum solution

LP problems should be expressed in a particular form

Page 7: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L67

Karmarkar’s projective scaling method

LP problems should be expressed in the following form:

:with1

:subject to Minimize T

0X1X

0AXXC

≥==

=Z

where

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

nx

x

x

M

2

1

X

⎥⎥⎥⎥

⎢⎢⎢⎢

=

nc

cc

M2

1

C [ ] ( )n×= 1111 L1⎥⎥⎥⎥

⎢⎢⎢⎢

=

mnmm

n

n

ccc

cccccc

L

MOMM

L

L

21

22221

11211

A 2≥nand

Page 8: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L68

Karmarkar’s projective scaling method

It is also assumed that is a feasible solution and

Two other variables are defined as: and .

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

n

n

n

1

1

1

0M

X 0min =Z

( )11−

=nn

r ( )n

n3

1−=α

Karmarkar’s projective scaling method follows iterative steps to find the optimal solution

Page 9: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L69

Karmarkar’s projective scaling method

In general, kth iteration involves following computations

a) Compute ( )[ ] T1TT CPPPPIC −−=p

where

⎟⎟⎠

⎞⎜⎜⎝

⎛=

1

ADP

k

kDCC T=

( )( )

( )⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

nk

k

k

k

X

X

X

D

000

000

0020

0001

O

If , ,any feasible solution becomes an optimal solution. Further iteration is not required. Otherwise, go to next step.

0C =p

Page 10: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L610

Karmarkar’s projective scaling method

b)p

pnew r

C

CXY α−= 0

c)newk

newkk Y1D

YDX =+1

However, it can be shown that for k =0, k newnew

k new

=D Y Y

1D YThus, 1 new=X Y

1T

+= kZ XCd)

Repeat the steps (a) through (d) by changing k as k+1e)

Page 11: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L611

Karmarkar’s projective scaling method: Example

Consider the LP problem:

0,,1

02 :subject to2 Minimize

321

321

321

32

≥=++=+−

−=

xxxxxxxxxxxZ

3=nThus,⎥⎥⎥⎥

⎢⎢⎢⎢

=

1

2

0

C [ ]121 −=A

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

31

31

31

0M

X

( ) ( ) 61

1331

11

=−

=−

=nn

r ( ) ( )92

3313

31

=×−

=−

=n

nαand also,

Page 12: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L612

Karmarkar’s projective scaling method: Example

Iteration 0 (k=0):

⎥⎥⎥⎥

⎢⎢⎢⎢

=

3/100

03/10

003/1

0D

[ ] [ ]3/13/20

3/100

03/10

003/1

1200T −=

⎥⎥⎥⎥

⎢⎢⎢⎢

×−== DCC

[ ] [ ]3/13/23/1

3/100

03/10

003/1

1210 −=

⎥⎥⎥⎥

⎢⎢⎢⎢

×−=AD

Page 13: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L613

Karmarkar’s projective scaling method: Example

Iteration 0 (k=0)…contd.:

⎥⎥⎦

⎢⎢⎣

⎡ −=

⎟⎟⎠

⎞⎜⎜⎝

⎛=

111

3/13/23/10

1

ADP

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

−×⎥⎥⎦

⎢⎢⎣

⎡ −=

30

03/2

13/1

13/2

13/1

111

3/13/23/1TPP

( )⎥⎥⎦

⎢⎢⎣

⎡=

3/10

05.11TPP

Page 14: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L614

Karmarkar’s projective scaling method: Example

( )⎥⎥⎥⎥

⎢⎢⎢⎢

=−

5.005.0

010

5.005.01TT PPPP

Iteration 0 (k=0)…contd.:

( )[ ]⎥⎥⎥⎥

⎢⎢⎢⎢

=−=−

6/1

0

6/1T1TT CPPPPIC p

62)6/1(0)6/1( 22 =++=pC

Page 15: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L615

Karmarkar’s projective scaling method: Example

Iteration 0 (k=0)…contd.:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

××

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=−=

3974.0

3333.0

2692.0

6/1

0

6/1

62

61

92

31

31

31

0Mp

pnew r

C

CXY α

⎥⎥⎥⎥

⎢⎢⎢⎢

==

3974.0

3333.0

2692.0

1 newYX [ ] 2692.0

3974.0

3333.0

2692.0

1201T =

⎥⎥⎥⎥

⎢⎢⎢⎢

×−== XCZ

Page 16: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L616

Karmarkar’s projective scaling method: Example

Iteration 1 (k=1):

⎥⎥⎥⎥

⎢⎢⎢⎢

=

3974.000

03333.00

002692.0

1D

[ ] [ ]T1

0.2692 0 0

0 2 1 0 0.3333 0 0 0.6667 0.3974

0 0 0.3974

⎡ ⎤⎢ ⎥⎢ ⎥= = − × = −⎢ ⎥⎢ ⎥⎣ ⎦

C C D

[ ] [ ]3974.06666.02692.03974.00003333.00002692.0

1211 −=⎥⎥⎥

⎢⎢⎢

⎡×−=AD

Page 17: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L617

Karmarkar’s projective scaling method: Example

Iteration 1 (k=1)…contd.:

1 0.2692 0.6667 0.3974

1 1 1

−⎛ ⎞ ⎡ ⎤= =⎜ ⎟ ⎢ ⎥⎜ ⎟ ⎢ ⎥⎝ ⎠ ⎣ ⎦

ADP

1

T

0.2692 10.2692 0.6667 0.3974 0.675 0

0.6667 11 1 1 0 3

0.3974 1

⎡ ⎤− ⎢ ⎥⎡ ⎤ ⎡ ⎤

⎢ ⎥= × − =⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎢ ⎥⎣ ⎦

PP

( ) 1T T

0.441 0.067 0.492

0.067 0.992 0.059

0.492 0.059 0.567

⎡ ⎤⎢ ⎥⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦

P PP P

Page 18: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L618

Karmarkar’s projective scaling method: Example

Iteration 1 (k=1)…contd.:

( ) 1T T T

0.151

0.018

0.132

p

⎡ ⎤⎢ ⎥

⎡ ⎤ ⎢ ⎥= − = −⎢ ⎥⎣ ⎦ ⎢ ⎥⎢ ⎥−⎣ ⎦

C I P PP P C

( )22 2(0.151) 0.018 ( 0.132) 0.2014p = + − + − =C

0

1 30.151 0.26532 1

1 3 9 6 0.018 0.34140.2014

0.132 0.39281 3

pnew

p

⎡ ⎤⎢ ⎥ ⎡ ⎤ ⎡ ⎤×⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − = − × − =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦⎢ ⎥⎣ ⎦

CY X

C M

Page 19: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L619

Karmarkar’s projective scaling method: Example

Iteration 1 (k=1)…contd.:

1

0.2692 0 0 0.2653 0.0714

0 0.3333 0 0.3414 0.1138

0 0 0.3974 0.3928 0.1561

new

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= × =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

D Y

[ ]1

0.0714

1 1 1 0.1138 0.3413

0.1561

new

⎡ ⎤⎢ ⎥⎢ ⎥= × =⎢ ⎥⎢ ⎥⎣ ⎦

1D Y

Page 20: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L620

Karmarkar’s projective scaling method: Example

Iteration 1 (k=1)…contd.:

12

1

0.0714 0.20921 0.1138 0.3334

0.34130.1561 0.4574

new

new

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= = × =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

D YX1D Y

[ ]T2

0.2092

0 2 1 0.3334 0.2094

0.4574

Z

⎡ ⎤⎢ ⎥⎢ ⎥= = − × =⎢ ⎥⎢ ⎥⎣ ⎦

C X

Two successive iterations are shown. Similar iterations can be followed to get the final solution upto some predefined tolerance level

Page 21: Linear Programming - nptel.ac.innptel.ac.in/courses/105108127/pdf/Module_3/M3L6slides.pdf · 1 D Nagesh Kumar, IISc Optimization Methods: M3L6 Linear Programming Other Algorithms

D Nagesh Kumar, IISc Optimization Methods: M3L621

Thank You