Ar. Gör. Pelin Alcan İŞ SIRALAMA DERS 3
Algoritma, np ve np-hard Algoritma mekanik davranan kişiye veya bir makineye, bir takım verilerden yola çıkarak ve sonlu sayıda aşamalardan geçerek, belli bir problemi çözme imkanı veren, çok kesin komutlar bütününden oluşur. Bir algoritmanın çalışmasındaki temel zorunluluk her türlü belirsizlikten arınmış olmasıdır.
Np problemler Problemin çözümüne yönelik bir algoritma araştırılmadan önce bu problemin sonlu sayıda aşamada çözülüp çözülemeyeceğini bilmek gerekir. Hesaplanabilirlik ve karar verilebilirlik terimleri işte bunu açıklar.
Polinomial zaman içerisinde deterministik olmayan makinelerde çözülebilen her algoritma deterministik olmayan polinomial algoritma olarak ele alınacaktır ve bu problemler NP sınıfını oluşturacaktır. NP-hard, her hangi bir algoritma ile optimal sonucuna ulaşılamayan problemlerdir.
Example: Machine shop has 5 unprocessed jobs (J1, J2, J3, J4, J5) numbers by order they entered Bottleneck machines queue: Job # Process Time Due Date 1 11 61 2 29 45 3 31 4 33 5 32 http://www.d.umn.edu/~rlindek1/POM/Lecture_Slides/Scheduling%20of%20Jobs_Sset11.ppt > Kaynak
Using FCFS: Mean Flow Time: (268)/5 = 53.4 Sequence Comp. Time D. Date Tardiness J1 11 61 J2 40 45 J3 71 31 J4 72 33 39 J5 74 32 42 Totals 268 121 Mean Flow Time: (268)/5 = 53.4 Avg Tardiness: (121)/5 = 24.2 # Tardy Jobs: 3
SPT: Mean Flow Time: (135)/5 = 27. Avg Tardiness: (52)/5 = 10.4 Sequence Comp. Time D. Date Tardiness J4 1 61 J5 3 45 J1 14 31 J2 43 33 10 J3 74 32 42 Totals 135 52 Mean Flow Time: (135)/5 = 27. Avg Tardiness: (52)/5 = 10.4 # Tardy: 2
EDD: Mean Flow Time: (235)/5 = 47. Avg Tardiness: (33)/5 = 6.6 Sequence Comp. Time D. Date Tardiness J3 31 J5 33 32 1 J4 34 J2 63 45 18 J1 74 61 13 Totals 235 Mean Flow Time: (235)/5 = 47. Avg Tardiness: (33)/5 = 6.6 # Tardy: 4
Moore Algoritması 6/1//n probleminde, Moore Algoritmasına göre çözümü yapınız. İŞ 1 2 3 4 5 6 Teslim Tarihi 15 9 23 20 30 İşlem zamanı 10 8
Moore Algoritması EDD ‘ ye göre sıralama yapılır. İŞ 2 3 1 5 4 6 Teslim Tarihi 9 15 20 23 30 İşlem Zamanı Bitiş Zamanı 7 10 17 … 8
Daha sonra 1 işi çıkartılır. 17, 15’ ten büyüktür Daha sonra 1 işi çıkartılır. 17, 15’ ten büyüktür. Yani teslim tarihini geçmiştir. İŞ 2 3 1 5 4 6 Teslim Tarihi 9 15 20 23 30 İşlem Zamanı Bitiş Zamanı 7 10 17 8 25
1 işi çıktı. İlerledik. 4 işine geldik 1 işi çıktı. İlerledik. 4 işine geldik. Bitim zamanı 25, teslim tarihi ise 23. 4 işi de sıradan çıkartılacaktır. İŞ 2 3 1 5 4 6 Teslim Tarihi 9 15 20 23 30 İşlem Zamanı Bitiş Zamanı 7 10 17 8 25
Optimal sıra şöyle olacaktır sonuçta; {2, 3, 5, 6, 1, 4} ya da {2, 3, 5, 6, 4, 1}
Örnek 2. (Moore için) 10/1//nt problemini çözelim. iş 1 2 3 4 5 6 7 8 9 10 D(i) 19 16 25 14 31 23 15 P(İ) EDD’ ye göre sıralama > (9, 4,5,6,10,2,1,8,3,7)
Örnek 2. (Moore için) iş 9 4 5 6 10 2 1 8 3 7 D(i) 14 15 16 19 23 25 31 P(İ) Bitiş 11 18 *** 20 Bitiş 1 3 7 11 15 *** 16 17 19 Sonuçta, 2 ve 1 işi çıkartılır. Sıralamalar şöyledir:
Örnek 2. (Moore için) Sıralamalar şöyledir; {9-4-5-6-10-8-3-7-2-1} Ya da {9-4-5-6-10-8-3-7-1-2}
Tek Tezgahta İşleme : Öncelik Baskıları ve Etkinlik 2 önemli nokta vardır burada; İlk olarak,makinelerin yerleşiminin ayarlanmasında, etkili sonuç için esaslı bir zamana ihtiyaç vardır. İkinci olarak ise bir işin bitmesi gerekir ki, ardından gelen iş başlasın.
Lawler’ in Algoritması Burada, öncelik baskılarının genelleştirilmesi önemlidir. Bu algoritma, bir işin maksimum maliyetini minimize eder. Burada ki değeri zamanın parasal değerini veren bir katsayıdır.
Örnek 3. 6/1/Lmax probleminin bilgileri şöyledir; J1 , J2’ nin önüne geçmelidir. J2; J3 ‘ ün önünde olmalıdır ve J4; J5 ve J6 ‘ nın önüne geçmelidir. Öncelik baskıları aşağıdaki gibidir: j5 j1 j2 j3 j4 j6
İŞ j1 j2 j3 j4 j5 j6 İşlem zamanı 2 3 4 1 Teslim Tarihi 6 9 7 11
V = J3, J5, J6 (Bunlar son işlerdir) Bir küme şeklinde toplarız. Son iş 6. iş. İşlem zamanı (p6) = 2+3+4+3+2+1 = 15 olur. Böylece V şu formda yazılır; V = min { (15-9), (15-11), (15-7) } Buna göre minimum gecikme J5’ te olur. Böylece J5 işi 6. sıraya yerleştirilir. ( - - - - - J5 ) V5 =4
Listeden J5’ i sileriz. Böylece ilk 5 işin tamamlanma zamanı > 15 – 2 = 13 olur. Şimdi J3 veya J6 işleri son işler olabilir. Yani, V = {J3 , J6} dır. Böylece V=min {(13-9),(13-7)}. İçinde minimum gecikme J3’ de olmaktadır. Bu nedenle J3 işi 5. sıraya yerleştirilir. Listeden silinir J3. ( - - - - J3 J5 )
T = 13 – 4 = 9 ve V={J2 , J6} dır. V=min {(9-6),(9-7)}. Minimum gecikme J6’ da olmaktadır. J6 , 4. sıraya yerleştirilir. Listeden silinir. ( - - - J6 J3 J5 ) Böylece V ={J2 , J4} olur. T = 9 -1 = 8 ve V=min {(8-6),(8-7)}. Minimum gecikme J4’ de olmaktadır. J4, 3. sıraya yerleştirilir. Listeden silinir.
( - - J4 J6 J3 J5 ) yeni sıramız olur. T = 8-3 = 5 ve V = {J2} olur. V=min {(5-3)}. J2, 2. sıraya yerleştirilir. Listeden silinir. ( - J2 J4 J6 J3 J5 ) . Böylece optimal sıra; ( J1 J2 J4 J6 J3 J5 ) olmaktadır. Ardından TABLO DEĞERİ bulunacaktır.
J5 J3 J6 J4 J2 J1 j1 j2 j3 j4 j5 j6 T Programlanan iş 15 * 6 4 8 13 S 9 3 2 J6 1 J4 5 -1 J2 J1
TEŞEKKÜRLER………