Dead-End Elimination for Protein Design with Flexible Rotamers
END 503 Doğrusal Programlama
description
Transcript of END 503 Doğrusal Programlama
İ.Kara,2007
END 503 Doğrusal Programlama
Yeniden Düzenlenmiş Simpleks (Revised Simplex)
İ.Kara,2007
Yeniden Düzenlenmiş Simpleks (Revised Simplex)
MODELx0 – Σcjxj = 0
Σaijxj = bi
xj≥0
K.A.
ENK x0
İ.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
İ.Kara,2007
x0 xB STS
1 CBB-1 CBB-1b
0 B-1 B-1b
İ.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
İ.Kara,2007
A2: Temel dışı her j için, zj=cBB-1aj
hesaplanıp, zj-cj’lerle eniyilik
sınaması yapılır.
İ.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
İ.Kara,2007
A4:
bulunur.rsksk
s
sxy
y
xENK
0:
İ.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.
İ.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.
İ.Kara,2007
Örnek
2 x1 + 2x2 – x3 ≤ 15
x1 – x2 + 2x3 = 20
xj≥0
k.a. Enb x0 = 2x1 + x2 + x3
İ.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]
İ.Kara,2007
İlk Tablo
1 0 -M -20M0 1 0 150 0 1 20
İ.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.
İ.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
İ.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
İ.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
İ.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.
İ.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.
İ.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
İ.Kara,2007
Her j için zj-cj ≥ 0, eniyi çözüm,
x2=50/3
x3=50/3
Enbx0=35