Download - END 503 Doğrusal Programlama

Transcript
Page 1: END 503  Doğrusal Programlama

İ.Kara,2007

END 503 Doğrusal Programlama

Yeniden Düzenlenmiş Simpleks (Revised Simplex)

Page 2: END 503  Doğrusal Programlama

İ.Kara,2007

Yeniden Düzenlenmiş Simpleks (Revised Simplex)

MODELx0 – Σcjxj = 0

Σaijxj = bi

xj≥0

K.A.

ENK x0

Page 3: END 503  Doğrusal Programlama

İ.Kara,2007

bB

bBC

bB

BC

x

x

y

cz

y

cz

bbb

B

BC

B

C

A

C

BB

B

Tm

BB

1

1

1

1^1^

0

2

22

1

11^^1^

21

^

1

11^^

^

0

0

1bB

...

...

0

1BAB

),...,,,0(b

0

1B

0

1B

0

1A

Page 4: END 503  Doğrusal Programlama

İ.Kara,2007

x0 xB STS

1 CBB-1 CBB-1b

0 B-1 B-1b

Page 5: END 503  Doğrusal Programlama

İ.Kara,2007

Algoritma

A1: Bir temel uygun çözümden hareketle ilk tablo düzenlenir.

Temel Dışı

STS

CBB-1 CBB-1b

B-1 B-1b

Page 6: END 503  Doğrusal Programlama

İ.Kara,2007

A2: Temel dışı her j için, zj=cBB-1aj

hesaplanıp, zj-cj’lerle eniyilik

sınaması yapılır.

Page 7: END 503  Doğrusal Programlama

İ.Kara,2007

A3: xk temele girecek değişken iken,

yk=B-1ak hesaplanarak, zk-ck ile

birlikte tabloya yeni sütun eklenir.

TD STS xk

CBB-1 CBB-1b zk-ck

B-1 B-1b yk

Page 8: END 503  Doğrusal Programlama

İ.Kara,2007

A4:

bulunur.rsksk

s

sxy

y

xENK

0:

Page 9: END 503  Doğrusal Programlama

İ.Kara,2007

A5: B matrisinde ar çıkartılıp, ak eklenir.

Yeni B-1’e karşı gelen tablo düzenlenip, A2’ye dönülür. (yrk

elemanı 1 diğer 0 olacak şekilde, satır işlemler). Yeni B-1 basit matrislerle kolaylıkla bulunabilir.

Page 10: END 503  Doğrusal Programlama

İ.Kara,2007

Faydaları

1. Bellekte mxn yerine, mxm büyüklükte matris tutulur.

2. Öncelikle zj-cj’ler, eniyi ise B-1 R’ye gerek yok.

3. Her ardıştırmada yapılan toplama ve çıkartma sayısı da daha az.

Page 11: END 503  Doğrusal Programlama

İ.Kara,2007

Örnek

2 x1 + 2x2 – x3 ≤ 15

x1 – x2 + 2x3 = 20

xj≥0

k.a. Enb x0 = 2x1 + x2 + x3

Page 12: END 503  Doğrusal Programlama

İ.Kara,2007

1. Kısıta x4 aylak değişkeni,2. Kısıta x5 yapay değişkeni eklenir.

XB=[x4 x5]T

1 0B=

0 1

CB=[0 -M]

Page 13: END 503  Doğrusal Programlama

İ.Kara,2007

İlk Tablo

1 0 -M -20M0 1 0 150 0 1 20

Page 14: END 503  Doğrusal Programlama

İ.Kara,2007

z1= [0 -M][2 1]T = -M, z1-c1 = -M-2

z2= [0 -M][2 -1]T = M, z2-c2 = M-1

z3= -2M, z3-c3 = -2M-1

x3 temele alınır.

Page 15: END 503  Doğrusal Programlama

İ.Kara,2007

y3 = B-1a3 = [-1 2]T ve z3-c3 = -2M-1

tabloya son sütun olarak eklenir.

x0 x4 x5 STS x3

1 0 -M -20M -2m-10 1 0 15 -10 0 1 20 2

Page 16: END 503  Doğrusal Programlama

İ.Kara,2007

Temelden x5 çıkartılıp, satır işlemleri

yapılırsa;

x0 x4 x3 STS

1 0 1/2 100 1 1/2 250 0 1/2 10

Page 17: END 503  Doğrusal Programlama

İ.Kara,2007

Temel dışı x1, x2 ve x5 için zj-cj’ler:

z1-c1 = [0 1/2][2 1]T – 2 = -3/2

z2-c2 = -3/2

z5-c5 = M + 1/2

Page 18: END 503  Doğrusal Programlama

İ.Kara,2007

x1 veya x2 temele alınır.

x2 temele alınırsa.

1 1/2 2 5/2y2 = B-1a2 = =

0 1/2 -1 -1/2ve z2-c2 = -3/2 tabloya eklenir.

Page 19: END 503  Doğrusal Programlama

İ.Kara,2007

x0 x4 x3 STS x2

1 0 1/2 10 -3/2 0 1 1/2 25 3/2 0 0 1/2 10 -1/2

x4 temelden çıkar.

Page 20: END 503  Doğrusal Programlama

İ.Kara,2007

x0 x4 x3 STS1 ?0 1 350 2/3 1/3 50/30 1/3 2/3 50/3

z1-c1 = [1 1][2 1]T – 2 = 1

z4-c4 = 1

z5-c5 = M + 1

Page 21: END 503  Doğrusal Programlama

İ.Kara,2007

Her j için zj-cj ≥ 0, eniyi çözüm,

x2=50/3

x3=50/3

Enbx0=35