makale yayımlama koşulları | abonelik | reklam | iletişim | arşiv
ÇOK İŞLEMCİLİ
İŞLERİN ÇOK KATMANLI PARALEL
İŞLEMCİLİ AKIŞ
ATÖLYELERİNDE ÇİZELGELENMESİ
Funda SİVRİKAYA ŞERİFOĞLU1
Gündüz ULUSOY2
Abant İzzet Baysal Üniversitesi, İktisadi ve
İdari Bilimler Fakültesi1
Sabancı Üniversitesi, Mühendislik ve Doğa
Bilimleri Fakültesi2
ÖZET
Bu
çalışmada, her biri birden çok işlemcide işlenmesi gereken n adet işin m
katmanlı bir paralel işlemcili akış atölyesinde çizelgelenmesi problemi ele alınmıştır. Bu problemi çözmek
üzere bir genetik algoritma geliştirilmiştir. Eniyilemenin amacı enbüyük bitiş
zamanını enküçüklemektir; diğer bir deyişle, en son aşamada tüm işlemlerin
tamamlandığı zamanın enküçüklenmesi amaçlanmaktadır. Genetik algoritma
sonuçları, teknik yazında rapor edilen bir
alt sınır ile karşılaştırılmıştır. Test problemi kümesi 100 iş, 10 katman ve
her katmanda 5 işlemciye kadar işlemci içeren 400 problemi içermektedir. Deneysel
çalışma sonucu, önerilen genetik algoritmanın iyi çözümleri kısa sürede veren etkin bir algoritma olduğu
gösterilmiştir.
Anahtar
kelimeler: Paralel işlemcili akış atölyesi, çok işlemcili işler, bitiş
zamanının enküçüklenmesi, genetik algoritma.
ABSTRACT
A genetic
algorithm is developed to schedule multi-processor tasks in a multistage hybrid flow shop
environment. The objective is to minimize the make-span, i.e. the completion time of all
jobs. The genetic algorithm is tested
against a lower bound from literature on a test bed comprising of 400 problems with up to
100 jobs, 10 stages, and up to 5 processors on each stage.
It has proven itself an effective and efficient algorithm for the stated problem by
finding optimal and near optimal solutions in reasonable times.
Keywords:
Hybrid flowshops, multiprocessor jobs, makespan minimization, genetic algorithms
GİRİŞ
Paralel işlemcili akış atölyesi (hybrid
flow shop) çizelgeleme problemleri, akış atölyesi çizelgeleme problemleri ile
paralel makina (işlemci) çizelgeleme problemlerinin özelliklerini birleştirmektedir.
Akış atölyelerinde bütün işler atölyenin aşamalarını aynı sırayla ziyaret
ederler. Paralel işlemcili akış atölyelerinde, her aşamada, işleri işleyecek bir
veya daha fazla birbirinin aynı (identical) işlemci vardır. Bu durum üretim
sistemine ek bir esneklik kazandırır. Eniyileme kriteri genellikle enbüyük bitiş
zamanının (makespan) enküçüklenmesidir.
İki aşamalı paralel işlemcili akış
atölyesi probleminin NP-zor (NP-hard) olduğu Gupta [7] tarafından
gösterilmiştir. Hoogeven vd. [11] işlerin tezgahtan sökülerek işleme ara
verilebildiği (preemptive) durumun da NP-zor olduğunu göstermiştir. Bütün bu
olumsuz teorik sonuçlara rağmen paralel işlemcili akış atölyesi problemi pek çok
araştırmacının ilgisini çekmektedir. Bu tip üretim sistemlerine tekstil ve proses
endüstrileri gibi endüstrilerde rastlanmaktadır.
Paralel işlemcili akış atölyesi ile ilgili
araştırmalar genel olarak iki-aşamalı problemler üzerine yoğunlaşmıştır ([9] ve
[15] gibi). Az sayıda araştırmacı üç aşamalı problemleri ele almıştır ([19] ve
[3] gibi). Grangeon vd. [6] çok aşamalı akış atölyeleri için stokastik algoritmalar
geliştirmişlerdir. Vignier ve Venturini [22] çok aşamalı paralel işlemcili akış
atölyesi problemini çözmek üzere bir paralel genetik algoritma (GA) geliştirmiştir.
Portman vd. [16] dal sınır algoritmasını genetik algoritma ile çaprazlayarak melez
bir algoritma geliştirmiştir. Çok aşamalı akış atölyeleri ve paralel işlemcili
akış atölyeleri ile ilgili bir tarama Riane ve Artiba [17] tarafından
hazırlanmıştır. Paralel işlemcili akış atölyeleri ile ilgili kaynakça ve problem
kütüphanesi için şu web sitesine bakılabilir : http://192.54.142.54/grangeon/francais/literature_fr.html.
Son zamanlarda enbüyük gecikme [21] ve geç biten iş sayısı [8] gibi termin tarihi
ile ilgili performans kriterleri de kullanılmaya başlanmıştır.
Yukarıda sözü edilen tüm araştırmalarda,
işler her aşamada sadece tek bir işlemcide işlenmektedir. Bu kısıt gevşetilebilir.
Böylece birden çok işlemci gerektiren işlerle ilgili problemler incelenebilir. Birden
çok işlemci gerektiren işlerle ilgili problemler üzerine [1], [4] ve [12] gibi tarama
araştırmaları vardır.
Paralel işlemcili akış atölyelerinde
birden çok işlemci gerektiren işlerin çizelgelenmesi problemi henüz oldukça yeni bir
araştırma alanıdır. Oğuz vd. [15] çok aşamalı paralel işlemcili akış
atölyesinde birden çok işlemci gerektiren işlerin çizelgelenmesi problemi için tabu
arama esaslı sezgisel bir yaklaşım geliştirmişlerdir. Oğuz vd. de [14] iki aşamalı
paralel işlemcili atölye için benzer bir problemi çözmek üzere bir genetik algoritma
geliştirmişlerdir.
PROBLEMİN TANIMI
Bu çalışmada ele alınan problemde m
aşamalı bir paralel işlemcili akış atölyesi söz konusudur. Bu atölyede her biri m
işlem gerektiren n tane iş çizelgelenecektir. Her aşamada, mi adet
birbirinin aynı paralel işlemci vardır, i=1,..,m. j işinin herhangi bir i
aşamasında işlenebilmesi için size[i,j] ile belirtilen adette işlemci aynı
anda j işine atanmalıdır. Diğer bir deyişle, i aşamasında j
işine atanan size[i,j] adet işlemci aynı anda j işini işlemeye
başlayarak p[i,j] uzunluğunda bir süre boyunca j işini işlemeye devam
ederler. Burada p[i,j] i=1,..,m j=1,..,n, j işinin i aşamasındaki işlem
süresini ifade eder.
Her işlemci herhangi bir anda sadece bir
işlemi yürütebilmektedir. İşlemciler arıza yapmazlar. Bütün işler çizelgeleme
dönemi başında hazırdırlar. İşler işlenmeye başlandıktan sonra kesintisiz
işlenir. Amaç, enbüyük bitirme
zamanının enküçüklenmesidir; yani en son aşamada tüm işlemlerin tamamlandığı
zamanın enküçüklenmesi amaçlanmaktadır.
GENETİK ALGORİTMA
Genetik algoritmalar, John Holland tarafından
yapay adaptif sistemler olarak geliştirildiler [10]. Bu algoritmalar, eniyileme
problemlerini çözmede giderek daha yaygın olarak kullanılıyorlar. Bu araştırma
için geliştirdiğimiz GA, n adet işin sıralamasına dayalı bir kromozom
yapısı kullanmaktadır. Bu sıralama, işlerin ilk aşamada çizelgelenme sırasında ele alınış
sırasını vermektedir. Sonraki aşamaların her birinde (i=2,..,m),
işler bir önceki (i-1) aşamadaki bitiş zamanlarına göre sıralanmaktadırlar.
Herhangi bir i aşamasında, i=1,..,m
, çizelgeleme yapmak için basit bir
gecikmesiz (nondelay) algoritma kullanılmaktadır: i aşaması ile ilgili
iş sıralamasında yer alan bir sonraki iş j, ilk boş kalan size[i,j]
işlemciye birden atanır. Bu tip çizelgeleme benzer problemler üzerinde
araştırmacılar tarafından kullanılmıştır ( [18] ve [15]).
Bu araştırmada amaç, enbüyük bitirme
zamanını enküçüklemektir. Amaç fonksiyonu enbüyük bitirme zamanının alt
sınırdan yüzdelik sapması olarak tanımlanmıştır. Matematiksel olarak ifade
edilirse, z=100*(Cmax-LB)/LB. Burada z
enküçüklenecek amaç fonksiyonunu, Cmax enbüyük bitirme zamanını ve LB
altsınırı ifade etmektedir. GA’nın enbüyüklemeye çalışacağı uygunluk (fitness)
fonksiyonu ise amaç fonksiyonu değerinin nesil içindeki enbüyük (yani en kötü)
amaç fonksiyonu değerinden sapması olarak tanımlanmıştır. Matematiksel olarak ifade
edilirse f=zmax-z; burada f uygunluk
fonksiyonunu ve zmax nesil içindeki enbüyük amaç fonksiyonu
değerini ifade etmektedir.
Alt sınır Oğuz vd. [15] tarafından
geliştirilmiştir ve formülü şöyledir:
(1)
Seçme operatörü olarak rulet-çemberi (roulette
wheel) seçimi kullanılmıştır. Koşturmalar sırasında yaratılan iyi
çözümleri kaybetmemek üzere seçkinci (elitist) strateji kullanılmaktadır.
Seçkinci strateji, her neslin en iyi belli sayıda kromozomunun hiç bozulmadan bir
sonraki nesle aktarılmasıdır.
Mutasyon operatörü seçmek üzere iş
değişimi (job exchange) ve yer değişimi (job replacement) operatörleri
ile bir dizi ön deneme yapılmıştır. İş değişimi operatörü, kromozom üzerinde
iki işi rassal olarak seçmekte ve yerlerini değiştirmektedir. Yer değişimi
operatörü ise rassal olarak seçilen bir işi yerinden alarak rassal olarak seçilen bir
başka yere nakletmektedir. Denemeler sonucu iş değişimi operatörü tercih
edilmiştir.
Çaprazlama operatörünü seçmek için iki
farklı operatör ile deneyler yapılmıştır: Murata ve diğerlerinin [13] önerdiği
iki-nokta çaprazlama operatörü ve Davis’in geliştirdiği [2] düzgün sıralama
temelli çaprazlama operatörü UOBX. Diğer GA parametrelerinin çeşitli değerleri
için yapılan koşularda UOBX ile daha iyi sonuçlara ulaşılmıştır. Bu nedenle UOBX
tercih edilmiştir.
İlk
nesil rassal olarak yaratılmış fakat üç kromozom ile tohumlanmıştır: Birinci
aşamanın işlem sürelerine göre en kısa süre (SPT) sıralaması, birinci aşamanın
işlem sürelerine göre en uzun işlem süresi (LPT) sıralaması, ve son olarak, en
kısa toplam işlem süreleri (STPT) sıralaması. SPT ve LPT sıralamaları yapılırken,
herhangi bir iterasyonda, iki veya daha fazla iş eşit değere sahipse, eşitliği bozma
kuralı (tie-break rule) olarak STPT’si daha kısa olan işe öncelik
verilmiştir. STPT sıralaması yaparken, eşitlik durumunda, birinci aşama işlem
süresi daha kısa olan işe öncelik verilmiştir.
GA’nın koşturulması sonunda elde edilen
en iyi çözüm 2-opt yerel arama algoritmasına tabi tutulmuş ve böylelikle GA’nın
bulduğu tepeye tırmanmak amaçlanmıştır.
GA’nın parametreleri bir dizi ayarlama
deneyi sonucu şu şekilde belirlenmiştir: Nesil büyüklüğü 50, nesil sayısı 400,
çaprazlama ve mutasyon olasılıkları 0.75 ve 0.75. Seçkinci stratejide her neslin en
iyi iki kromozomu bir sonraki nesile aynen aktarılmıştır. GA her problem için 5 kez
koşturulmuştur. Herhangi bir koşturma sırasında elde edilen çözümlerden biri alt
sınır değerine eşit bir Cmax değeri veriyorsa, eniyi (optimal)
çözüm elde edildiği için, GA’nın koşturulması 400 neslin tamamlanması
beklenmeden sona erdirilmiştir.
ÖRNEK PROBLEM
Örnek olmak üzere beş iş içeren iki
aşamalı (n=5, m=2) bir problemi ele alalım. Aşağıda verilen Şekil
1’de, iki aşamalı paralel işlemcili akış atölyesinin şeması görülmektedir.
İlk aşamada 2 işlemci (P11 ve P12) ve ikinci aşamada da 3 işlemci (P21, P22 ve P23) bulunmaktadır. Tablo 1’de ise bu paralel
işlemcili akış atölyesinde çizelgelenmesi istenen beş adet işe ait bilgiler
verilmiştir. İş 1, örneğin, birinci aşamada bir işlemcide 75 birim zaman ve ikinci
aşamadaki üç işlemcide birden 22 birim zaman işlem görmelidir. Bu problemin alt
sınır değeri 232’dir.
Şekil 2, örnek bir kromozomu ve bu
kromozomda önerilen çözümün Gantt şemasını göstermektedir. [4 2 1 5 3]
kromozomunun ifade ettiği çözümde enbüyük bitirme zamanının (Cmax) değeri 317’dir.
Örnek kromozom, en kısa süre
(SPT) kuralının ilk aşama işlem sürelerine (p[1,j]) uygulanması ile bulunmuş olan
bir sıralamayı içermektedir. Gantt şemasında da görüldüğü gibi, bu problem
için, SPT sıralaması ikinci aşamada da aynen geçerli kalmıştır çünkü ilk
aşamada işlerin bitişleri de bu sırayla gerçekleşmiştir. Ama farklı problemlerde
ilk aşamayı takip eden aşamalara ait sıralamalar farklı olabilmektedir.

Şekil 1. Örnek Probleme Ait İki Aşamalı Paralel İşlemcili Akış Atölyesi Şeması
Tablo
1. Örnek Probleme Ait Veriler
iş |
aşama |
işlem süresi |
işlemci ihtiyacı |
1 |
1 |
75 |
1 |
|
2 |
22 |
3 |
2 |
1 |
68 |
1 |
|
2 |
82 |
1 |
3 |
1 |
79 |
1 |
|
2 |
46 |
3 |
4 |
1 |
38 |
2 |
|
2 |
21 |
1 |
5 |
1 |
79 |
2 |
|
2 |
4 |
3 |

Şekil 2. [4 2 1 5 3] Örnek Kromozomunun Çizelgesinin Gantt Şeması
Örnek problem için GA koşturmalarından
elde edilen en iyi çözümlerden birisi [3 2 1 4 5] kromozomu ile ifade edilmiştir. Bu
çözümde enbüyük bitirme zamanı 264’tür. GA, yapılan tüm deneylerde her
koşturmada bu çözümü bulmuştur. Bu çözümün, deneysel çalışma bölümünde
anlatılacak olan listeleme sonucu, eniyi
çözüm olduğu bulunmuştur.
DENEYSEL ÇALIŞMA
Oğuz ve diğerlerinin [15] yaptığına
benzer bir deneysel çalışma gerçekleştirilmiştir. Test problemi kümesi
hazırlanırken iş sayısı için n=5,10,20,50,100 değerleri ve paralel
işlemcili akış atölyesi aşamaları sayısı için m=2,5,8,10 değerleri
alınmıştır. Her n ve m ikilisi için 10’ar adet A ve B tipi problem
yaratılmıştır. A tipi problemlerde, akış atölyesinin aşamalarındaki işlemci
sayısı, mi, değişken olabilmektedir. Bu sayı [1,..,5]
aralığından rassal olarak seçilmektedir. B tipi problemlerde ise işlemci sayısı her
aşamada sabit ve 5’e eşittir, yani mi =5 i=1,..,m. Her iki tip
problemde de, işlerin işlemci ihtiyaçları, yani size[i,j], [1,..,mi] aralığından rassal olarak seçilmiştir.
İşlem süreleri p[i,j] ise
[1,..,100] aralığından tam sayı ve rassal olarak seçilmiştir. Test problemi kümesi
400 problemden oluşmaktadır.
GA, her n ve m ikilisi için
yaratılmış olan 10 adet A tipi ve 10 adet B tipi problemin her biri üzerinde beşer
kez koşturulmuştur. Beş koşumun sonunda elde edilen en iyi çözüm (alt sınırdan en
düşük yüzdelik sapmaya sahip olan çözüm), GA’nın eldeki problem için ürettiği
çözüm olarak alınmıştır. Aynı n ve m ikilisine ait olan 10 problem
için GA’nın bulduğu en iyi çözümlerin yüzdelik sapma değerlerinin ortalaması
alınmıştır. Tablo 2’de bu ortalamalar (alt sınırdan yüzdelik sapmaların
ortalaması) A ve B tipi problemler için gösterilmiştir. Tablo 2’de ayrıca GA’nın
her koşturulmasının CPU saniyesi cinsinden ortalama süresi de verilmiştir. GA, TURBO
Pascal 7.0’da derlenmiş ve 1000 MHz’lik PIII işlemciye ve 512 MB RAM’e sahip bir
bilgisayarda koşturulmuştur.
Tablo
2. A Tipi ve B Tipi Problemler İçin Alt Sınırdan Yüzdelik Sapmaların ve
CPU Saniye Olarak
Koşturulma Zamanlarının Ortalaması
|
|
A tipi
problemler |
B tipi
problemler |
||
n |
m |
ort%sapma |
CPU sn. |
ort%sapma |
CPU sn. |
5 |
2 |
9,26 |
0,50 |
24,89 |
0,60 |
|
5 |
25,71 |
0,80 |
40,21 |
0,92 |
|
8 |
26,30 |
1,00 |
32,42 |
1,18 |
|
10 |
24,15 |
1,14 |
34,56 |
1,40 |
10 |
2 |
2,88 |
0,48 |
12,83 |
0,88 |
|
5 |
10,45 |
1,06 |
19,59 |
1,56 |
|
8 |
18,88 |
1,74 |
34,59 |
2,18 |
|
10 |
13,63 |
2,08 |
30,91 |
2,60 |
20 |
2 |
5,53 |
1,18 |
6,74 |
1,50 |
|
5 |
6,28 |
1,96 |
14,75 |
3,04 |
|
8 |
6,98 |
3,60 |
26,65 |
4,54 |
|
10 |
10,23 |
4,34 |
32,21 |
5,56 |
50 |
2 |
2,72 |
3,00 |
6,66 |
4,56 |
|
5 |
2,06 |
7,00 |
14,10 |
12,60 |
|
8 |
4,53 |
15,32 |
21,87 |
19,44 |
|
10 |
4,47 |
18,54 |
26,36 |
24,28 |
100 |
2 |
2,37 |
20,50 |
6,43 |
36,06 |
|
5 |
2,09 |
65,94 |
13,01 |
127,86 |
|
8 |
3,58 |
102,64 |
20,50 |
182,28 |
|
10 |
1,72 |
121,90 |
24,78 |
205,66 |
Elde edilen sonuçlar, Oğuz vd. [15]
tarafından tabu arama algoritması ile bulunan sonuçlara hem büyüklük açısından
hem de artan n ve m karşısında gösterdikleri değişim açısından
benzemektedir. Ayrıca her iki araştırmada da B tipi problemler için alt sınırdan
sapmalar daha büyük olarak bulunmuştur. Genel olarak, bu araştırmada GA ile bulunan
sapma değerleri tabu arama ile bulunan değerlerden daha küçüktür, fakat test
problemleri farklı olduğu için iki yaklaşımın performansı ile ilgili kararlar
vermek zordur.
Tablo 2 incelendiğinde, n sabit
tutulduğunda, artan m değeri ile genel olarak yüzdelik sapmaların arttığı
görülmektedir. m sabit tutulduğunda, artan n değeri ile sapmalar
düşmektedir. Oğuz vd’nin de [15] bulgularına göre genel olarak artan m ve mi değeri ile alt sınırın etkinliği
azalmaktadır. Yani, artan m değeri ile sapmalardaki artışın ve B tipi
problemlerde gözlenen büyük sapmaların nedeni alt sınırın zayıflayışıdır. Yine
aynı kaynakta söz edildiği gibi alt sınırdan sapmaların artan n değeri ile
düşmesi beklenen bir gelişmedir ve enbüyük bitirme zamanının değerinin büyümesi
ile ilgilidir.
GA’nın performansı ile ilgili daha fazla
bilgi edinmek üzere GA’nın bulduğu en iyi çözüm, ilk nesilde tohumlama için
kullanılan SPT, LPT ve STPT sezgisel kurallarıyla elde edilen çözümlerin en iyisi ile
karşılaştırılmıştır. Böylelikle GA’nın bu kurallara kıyasla getirdiği
iyileştirme ölçülmek istenmiştir. Tablo 3’te, her n ve m çiftine ait
10 problem için, GA çözümünün sezgisel kuralların en iyi çözümünden
sapmalarının ortalaması verilmiştir.
Tablo 3 incelendiğinde GA’nın sezgisel
kurallara göre önemli iyileştirmeler getirdiği anlaşılmaktadır. Problem zorluğu
arttıkça (artan n, m ve mi değerleri ile) GA’nın göreli
performansı da iyileşmektedir. Bu, sezgisel bir algoritma için önemli bir özelliktir.
Tablo
3. A Tipi ve B Tipi Problemler İçin GA Çözümlerinin SPT, LPT ve STPT
Çözümlerinin
En İyisinden Ortalama Yüzdelik Sapmaları ve T-Testi
Değerleri
|
|
A tipi problemler |
B tipi problemler |
||
n |
m |
||||