Você está na página 1de 7

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems Module 3 Lecture Notes 6 Other

er Algorithms for Solving Linear Programming Problems Introduction

So far, Simplex algorithm, Revised Simplex algorithm, Dual Simplex method are discussed. There are few other methods for solving LP problems which have an entirely different algorithmic philosophy. Among these, Khatchians ellipsoid method and Karmarkars projective scaling method are well known. In this lecture, a brief discussion about these new methods in contrast to Simplex method will be presented. However, Karmarkars projective scaling method will be discussed in detail. Comparative discussion between new methods and Simplex method Khatchians ellipsoid method and Karmarkars projective scaling method seek the optimum solution to an LP problem by moving through the interior of the feasible region. A schematic diagram illustrating the algorithmic differences between the Simplex and the Karmarkars algorithm is shown in figure 1. Khatchians ellipsoid method approximates the optimum solution of an LP problem by creating a sequence of ellipsoids (an ellipsoid is the multidimensional analog of an ellipse) that approach the optimal solution.

Simplex Algorithm Karmarkars Algorithm Optimal solution point

Feasible Region

Figure 1 Difference in optimum search path between Simplex and Karmarkars Algorithm

D Nagesh Kumar, IISc, Bangalore

M3L6

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems

Both Khatchians ellipsoid method and Karmarkars projective scaling method have been shown to be polynomial time algorithms. This means that the time required to solve an LP problem of size n by the two new methods would take at most an b where a and b are two positive numbers. On the other hand, the Simplex algorithm is an exponential time algorithm in solving LP problems. This implies that, in solving an LP problem of size n by Simplex algorithm, there exists a positive number c such that for any n the Simplex algorithm would find its solution in a time of at most c 2 n . For a large enough n (with positive a , b and c ), c 2 n > an b . This means that, in theory, the polynomial time algorithms are computationally superior to exponential algorithms for large LP problems. Karmarkars projective scaling method Karmarkars projective scaling method, also known as Karmarkars interior point LP algorithm, starts with a trial solution and shoots it towards the optimum solution. To apply Karmarkars projective scaling method, LP problem should be expressed in the following form
Minimize subject to : Z = CT X AX = 0 1X = 1 with : X 0

x1 c1 c11 x c c 21 2 2 where X = , C = , 1 = [1 1 L 1] (1n ) , A = M M M xn c n c m1

c12 c 22 M cm 2

L c1n L c2n and n 2 . It is O M L c mn

1 n 1 n also assumed that X 0 = is a feasible solution and Z min = 0 . The two other variables are M 1 n defined as r =

n(n 1)

,=

(n 1) .
3n

D Nagesh Kumar, IISc, Bangalore

M3L6

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems

Iterative steps are involved in Karmarkars projective scaling method to find the optimal solution. In general, k th iteration involves following computations: a) Compute C p = I P T PP T

P CT

0 0 0 X k (1) 0 X k (2) 0 0 AD k , C = C T D and D = where P = k k 1 0 0 O 0 0 0 X k (n ) 0 If C p = 0 , any feasible solution becomes an optimal solution. Further iteration is not required. Otherwise, compute the following b) Ynew = X 0 r c) X k +1 = Cp Cp ,

D k Ynew DY . However, it can be shown that for k = 0 , k new = Ynew . 1D k Ynew 1Dk Ynew

Thus, X1 = Ynew . d) Z = C T X k +1 e) Repeat the steps (a) through (d) by changing k as k + 1 .

Consider the following problem: Z = 2 x 2 x3 x1 2 x 2 + x3 = 0 x1 + x 2 + x3 = 1 x1 , x 2 , x3 0

Minimize subject to :

1 3 0 1 3 Thus, n = 3 , C = 2 , A = [1 2 1], X 0 = , r = M 1 1 3

n(n 1)

3(3 1)

1 6

(n 1) = (3 1) = 2 .
3n 3 3 9

D Nagesh Kumar, IISc, Bangalore

M3L6

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems

Iteration 0 (k=0): 0 1 / 3 0 D0 = 0 1/ 3 0 0 0 1 / 3

0 1 / 3 0 C = C T D 0 = [0 2 1] 0 1 / 3 0 = [0 2 / 3 1 / 3] 0 0 1 / 3 0 1 / 3 0 AD 0 = [1 2 1] 0 1 / 3 0 = [1 / 3 2 / 3 1 / 3] 0 0 1 / 3 AD 0 1 / 3 2 / 3 1 / 3 = P= 1 1 1 1 1 / 3 1 1 / 3 2 / 3 1 / 3 2 / 3 0 PP T = 2 / 3 1 = 1 1 1 0 3 1 / 3 1

(PP )

T 1

1.5 0 = 0 1 / 3

0.5 0 0.5 1 P T PP T P = 0 1 0 0 . 5 0 0 . 5

1/ 6 1 C p = I P T PP T P C T = 0 1 / 6

C p = (1 / 6) 2 + 0 + (1 / 6) 2 =

2 6

D Nagesh Kumar, IISc, Bangalore

M3L6

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems 1 3 2 1 1 / 6 0.2692 1 3 9 6 = 0 = 0.3333 2 M 1 / 6 0 . 3974 6 1 3

Ynew = X 0 r

Cp Cp

X1 = Ynew

0.2692 = 0.3333 0 . 3974

0.2692 Z = C T X1 = [0 2 1] 0.3333 = 0.2692 0 . 3974

Iteration 1 (k=1): 0 0 0.2692 D1 = 0 0.3333 0 0 0 0 . 3974 0 0 0.2692 C = CT D1 = [ 0 2 1] 0 0.3333 0 = [ 0 0.6667 0.3974] 0 0 0.3974
0 0 0.2692 0.3333 0 AD1 = [1 2 1] 0 = [0.2692 0 0 0.3974 AD1 0.2692 0.6667 0.3974 P= = 1 1 1 1 0.2692 1 0.2692 0.6667 0.3974 0.675 0 PP T = 0.6667 1 = 1 3 1 1 0 0.3974 1 0 1.482 T 1 PP = ( ) 0 0.333 0.6666 0.3974]

D Nagesh Kumar, IISc, Bangalore

M3L6

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems

PT

0.441 0.067 0.492 1 PP T P = 0.067 0.992 0.059 0.492 0.059 0.567

C p = I P T PP T

0.151 P CT = 0.018 0.132


2

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


1 3 2 1 0.151 0.2653 1 3 9 6 0.018 = 0.3414 = M 0.2014 0.132 0.3928 1 3

Ynew = X0 r

Cp Cp

D1Ynew

0 0 0.2653 0.0714 0.2692 0.3333 0 0.3414 = 0.1138 = 0 0 0.3974 0.3928 0.1561 0 0.0714 = [1 1 1] 0.1138 = 0.3413 0.1561 0.0714 0.2092 1 = 0.1138 = 0.3334 0.3413 0.1561 0.4574

1D1Ynew

X2 =

D1Ynew 1D1Ynew

0.2092 Z = CT X 2 = [ 0 2 1] 0.3334 = 0.2094 0.4574

So far, two successive iterations are shown for the above problem. Similar iterations can be followed to get the final solution upto some predefined tolerance level.

D Nagesh Kumar, IISc, Bangalore

M3L6

Optimization Methods: Linear Programming - Other Algorithms for Solving Linear Programming Problems

It may be noted that, the efficacy of Karmarkars projective scaling method is more convincing for large LP problems. Rigorous computational effort is not economical for not-so-large problems.

References / Further Reading:

1. Rao S.S., Engineering Optimization Theory and Practice, Third Edition, New Age International Limited, New Delhi, 2000. 2. Ravindran A., D.T. Phillips and J.J. Solberg, Operations Research Principles and
Practice, John Wiley & Sons, New York, 2001.

3. Taha H.A., Operations Research An Introduction, Prentice-Hall of India Pvt. Ltd., New Delhi, 2005.

D Nagesh Kumar, IISc, Bangalore

M3L6