Table Of ContentT.C.
ÇUKUROVA ÜNİVERSİTSİ
SOSYAL BİLİMLER ENSTİTÜSÜ
İŞLETME ANABİLİM DALI
GENETİK ALGORİTMA İLE PROJE ÇİZELGELEME
Semin PAKSOY
Danışman : Yrd. Doç. Dr. Arzu UZUN
DOKTORA TEZİ
ADANA 2007
i
ÖZET
GENETİK ALGORİTMA İLE PROJE ÇİZELGELEME
Semin PAKSOY
Doktora Tezi, İşletme Anabilim Dalı
Danışman : Yard. Doç. Dr. Arzu UZUN
Aralık 2007, 202 sayfa
Bu çal ışmada Delphi 6 kullan ılarak, kaynak k ısıtlı proje çizelgelemeye
yönelik olarak genetik algoritma haz ırlanmıştır. Kaynak k ısıtlı proje çizelgeleme
problemleri, karmaşık yapısı gereği çözümü zor ( NP-hard ) problemler arasında yer
almaktadır. Çözümü zor olan bu tür problemlerde, kesin çözüm veren bir
algoritmanın hazırlanması oldukça zordur.
Geliştirilen sezgisel algoritma ile parametrik olarak verilebilen toplum
sayıları ve iterasyonlar sonucunda, minimum proje süresine sahip çizelge tespit
edilebilmektedir. Algoritmada rastgele ve öncelik kural ına dayanan kromozom
temsillerinden ikisi de kullan ılmıştır. Proje çizelgeleme a şamasında, faaliyetler
rastgele seçilen öncelik kuralına göre çizelgelenmektedir.
Çizelgeleme problemlerinde, öncül/ard ıl olarak farkl ı iki şekilde verilen
faaliyet öncelikleri göz önünde bulundurularak, algoritman ın her iki problem tipi
için çal ışması sa ğlanmaktadır. Böylece, problem ne şekilde verilirse verilsin,
kullanıcı taraf ından hangi bir dönü şüm işlemi yap ılmaksızın, algoritmada test
edilebilecektir.
Algoritma; literatürde bulunan dört veri kümesi üzerinde, toplam 2040
çizelgeleme problemleri ile test edilmi ştir. 2040 problemin her biri, farkl ı
iterasyonlarda olmak üzere iki şer kez test edilerek, iterasyon say ısının etkisi
araştırılmaya çalışılmıştır.
ii
Algortimanın performansını ölçmek ve değerlendirmek amacıyla; her bir veri
kümesinin ortalama standart sapmas ı hesaplanarak, literatürde yay ınlanmış olan
diğer çalışmalarla karşılaştırılmaktadır.
Test edilen problemler neticesinde; elde edilen proje bitirme sürelerinin
tatmin edilebilir düzeyde oldu ğu gözlenmi ştir. Geli ştirilen algoritma, basit
problemlerde evrensel(global) sonuçlar verirken, karma şık problemlerde genellikle
yerel sonuçlar üretebilmektedir.
Anahtar Kelimeler: Genetik Algoritma, Proje Çizelgeleme, Kaynak Kısıtlı Proje
Çizelgeleme, Kromozom Temsili, Öncelik Kuralları
iii
ABSTRACT
A GENETIC ALGORITHM FOR PROJECT SCHEDULING
Semin PAKSOY
Ph.D. Dissertation, Department of Business Administration
Supervisor : Ass. Prof. Dr. Arzu UZUN
Decmber 2007, 202 pages
This study presents a genetic algorithm for the resource constrained project
scheduling problem using Delphi 6. Resource constrained project scheduling is one
of the NP-hard classes because of the complexity of their combinatorial nature. Any
exact algorithm are difficult to handle such a problem.
The heuristic algorithm generates parameterized active schedules and selects
the best one which has minimum project completion time among the generated
schedules. The chromosome representation of the problem is based on the both
random key and priority rule represantation. The schedule is constructed using
randomly selected heuristic priority rule.
Priorities of activities of scheduling problems are given by two types such as
proccessors/successors of any activities. The algorithm works for two types of
scheduling problems. So there is no need any conversion process for successors to
proccessors ( or vice versa ) by human being.
The algorithm was tested on the four sets of standard problems from the
literature. Each set has many project scheduling problems. Total number of
scheduling problems is 2040. Each of these scheduling problems are tested twice to
observe the effects of different iteration number.
To measure and evaluate the performance of the algorthm; the average
deviation of each problem set is calculated to compare the algorithm with other
approaches in the literature. The computational results are reported.
iv
Computational results relatively validate the effectiveness of the generated
algortihm. Generally, the algorithm gives global results for simple problems and
gives local results for complex problems.
Keywords: Genetic Algorithm, Project Scheduling, Resource Constrained Project
Scheduling, Chromozom Representation, Priority Rules
v
ÖNSÖZ
Proje çizelgeleme faaliyeti, örgütlerde genellikle yönetsel faaliyetler olarak
değerlendirilip, yöneticilerin belirtti ği takvimler çerçevesinde proje tamamlanmaya
çalışılmıştır. Ancak günümüzde faaliyetlerin belli bir s ırada sıralanması yani
çizelgelenmesi oldukça güç bir hale gelmi ştir. Özellikle faaliyet say ısının fazla
olduğu projelerde, birde kullan ılan kaynaklar ın dikkate al ınmasının gereklili ği;
yöneticilerin bu görevlerini yaparken yardımcı araçlara ihtiyacı doğurmuştur.
Etkin ve uygulanabilir kaynak kısıtlı proje çizelgelemenin gittikçe güç bir hal
alması nedeniyle; gerek akademisyenler gerekse ticari yaz ılım firmalar ı bir çok
çalışma yapmışlardır. Yapılan çalışmalar, ne yaz ık ki, hala yöneticilerin ihtiyac ını
tam karşılar boyutlara ula şamamıştır. Bunun ba şlıca nedenleri de; artan faaliyet ve
kısıt say ılarının, optimum bir şekilde çizelgelenmesinde tek bir yöntemin veya
kuralın uygulanabilir olmamasıdır. Bu nedenle, mümkün çözümler üzerinde genetik
işlemlerle değişim yapılarak daha farklı çözümlerin hızlı bir şekilde üretilmesi ve bu
çözümlerin etkinliğinin araştırılması gündeme gelmiştir.
Her ne kadar, genetik algoritma ile elde edilen çözümler her zaman optimum
sonuç vermese de, yöneticilere global bir fikir sa ğlayacağından kullanımının yararlı
olduğu söylenebilir. Genetik algoritmada amaçlanan da budur. Zira do ğası gereği,
yapılan işlemlerle rastgelelik ön plana çıkarılmıştır.
Yapılan bu çalışma ile kaynak kısıtlı proje çizelgeleme konusunda alternatif
bir araç geliştirilmeye çalışılmıştır.
Bu çalışmanın tamamlanmasında yakın ilgi ve desteğini esirgemeyen, değerli
hocam Yard. Doç Dr. Arzu UZUN’a teşekkürlerimi sunmayı bir borç bilirim. Ayrıca
çalışmamın çe şitli aşamalarında göstermi ş olduklar ı katk ılar nedeniyle de ğerli
hocalarım Prof. Dr. Hüseyin ÖZGEN’e ve Yard. Doç Dr. Ersin KIRAL’a
teşekkürlerimi sunarım.
Ayrıca tıkandığım yerde desteklerini hep hissetti ğim değerli arkada şlarım
Yard. Doç. Dr. Ebru Özgür GÜLER’e ve Yard. Doç. Dr. Neslihan Co şkun
vi
KARADAĞ’a ve çal ışmam boyunca; ya şından ve sa ğlığından kaynaklanan
zorluklara rağmen performansını zorlayarak, dördüzlerimin yükünü üstüne almaya
çalışan can ım annem Hatice TOPALO ĞLU’ na, her zaman deste ğini benden
esirgemeyen sevgili eşim Ersin PAKSOY’a, sevgili o ğlum Engin PAKSOY’a ve
uygulama aşamasında deste ğini esirgemeyen Fatih KILIÇ’a ve Sosyal Bilimler
Enstitüsü’nün tüm personeline teşekkür ederim.
Bu çalışma, Çukurova Üniversitesi Ara ştırma Fonu taraf ından İİBF2006D2
numaralı proje kapsamında finansal olarak desteklenmiştir.
Aralık 2007, Adana
Semin PAKSOY
vii
İÇİNDEKİLER
ÖZET……………………………………………………………………............... i
ABSTRACT……………………………………………………………................ iii
ÖNSÖZ…………………………………………………………………................ v
KISALTMALAR LİSTESİ………………………………………….…................ xi
TABLOLAR LİSTESİ…………………………………………………................. xii
ŞEKİLLER LİSTESİ….………………………………………………...................xiii
EKLER LİSTESİ………………………………………………………..................xiv
BİRİNCİ BÖLÜM
GİRİŞ
1.1. Çalışmanın Amacı…………………………………………………................. 1
1.2. Çalışmanın Önemi…………………………………………………................ 4
1.3. Çalışmanın Yöntemi………………………………………………................. 5
1.4. Çalışmanın Planı………………………………………………….................. 6
İKİNCİ BÖLÜM
KONUYLA İLGİLİ ÇALIŞMALAR 8
ÜÇÜNCÜ BÖLÜM
GENETİK ALGORİTMA VE KAVRAMSAL BİLGİLER
3.1. Genetik Algoritma ve Önemi ……………………………………................. 20
3.2. Genetik Algoritmanın Temel Kavramları ………………………................. 20
3.2.1. Kromozom (DNA Dizileri) ………………………………................. 21
3.2.2. Gen…………………………………………………………............... 21
3.2.3. Toplum Büyüklüğü………………………………………….............. 22
3.2.4. Uygunluk Değeri (f) ve Uygunluk Fonksiyonu…....……................... 22
i
3.2.5. Uygun Olanların Seçilmesi…………..……………………................. 23
3.3. Genetik İşlemler ve Genetik Parametreler……………………….................. 28
3.3.1. Üreme (Reproduction)……………..….……………………............... 29
viii
3.3.2. Çaprazlama (Crossover)……………………………………............... 29
3.3.3. Mutasyon (Mutation)………………………………………................ 32
3.4. Genetik Algoritma ve Sonlandırma Koşulu……...………………................. 35
3.5. Genetik Algoritma Aşamaları ve Akış Şeması………...…………................ 37
3.5.1. Genetik Algoritma ve Aşamaları…..………………………................ 37
3.5.2. Genetik Algoritmanın Akış Şeması………..………………............... 39
3.6. Genetik Algoritmanın Yararları ve Sakıncaları……………..……............... 41
3.7. Genetik Algoritmanın Diğer Metotlarla Kıyaslanması …….……................ 43
3.8. Genetik Algoritmanın Uygulama Alanları …………….………….............. 43
3.9. Genetik Algoritmayı Kullanma Nedenleri …………….…………............... 45
DÖRDÜNCÜ BÖLÜM
İKİ VE ON TABANLI GENETİK ALGORİTMALAR
4.1. İki Tabanlı Genetik Algoritmalar ……………..…………………............... 47
4.1.1. Değişkenler ve Amaç Fonksiyonu Seçimi………….………............. 48
4.1.2. Amaç Fonksiyonu ve Uygunluk Kriteri..……….……….................. 51
4.1.3. İki Tabanlı Sistemden On Tabanlı Sisteme Dönüşüm……................ 52
4.1.4. Değişken Temsili …………………………………………............... 53
4.1.5. Gri Kodlama………………………………………………................ 55
4.1.5.1. İki Tabanlı Sayı ile Gri Kod Arasında Dönüşüm................. 56
4.2. On Tabanlı Genetik Algoritmalar ………..……………………….............. 58
4.2.1. Değişken Temsili ve Amaç Fonksiyonu…………………................ 59
4.2.2. Başlangıç Toplumu ………………………………………............... 59
4.2.3. Seçme İşlemi……………………………………………….............. 61
4.2.4. Genetik İşlemler…………………………………………….............. 65
4.3. Yakınsama…………………………………………………………............ 68
4.4. Problemin Genetik Algoritmaya Uyarlanması……..…………….............. 69
4.5. On Tabanlı Genetik Algoritmalarda Özel Durumlar.……….……............. 70
4.5.1. Kodlama sistemi……………………………………………............ 70
4.5.2. Genetik İşlemler ………………………………………….............. 71
4.6. Genetik Algoritmanın Optimizasyon Problemine Uygulanması…............. 73
ix
BEŞİNCİ BÖLÜM
PROJE ÇİZELGELEME PROBLEMLERİ VE SEZGİSEL YÖNTEMLERİN
KULLANIMI
5.1. Proje Çizelgeleme………………………………………………….............. 78
5.1.1. Proje Ağının (Network) Oluşturulması…….....……………............... 79
5.1.2. Faaliyetlerin Öncüllük İlişkileri (Precedence Relations)…................. 81
5.2. Kaynak Kısıtlı Proje Çizelgeleme ve Özellikleri ..………………................. 84
5.3. Kaynak Kısıtlı Proje Çizelgeleme Problemlerinde Kullanılan Yöntemlerin
Sınıflandırılması............................................................................................... 87
5.3.1. Deterministik Yöntemler…………………………………................... 87
5.3.2. Stokastik Yöntemler……………………………………...................... 88
5.3.3. Sezgisel Yöntemler…………………………………………................ 88
5.4. Sezgisel Yöntemler ve Özellikleri.................…………………….................. 90
5.4.1. Faaliyetleri Etiketleme...............…………………………................... 90
5.4.2. Öncülleri Tamamlanan Faaliyetler ve Öncelik Kuralları….................. 91
5.4.3. Çizelge Oluşturma Şemaları(SGS)....................................................... 96
5.4.3.1. Seri Çizelgeleme (Seri SGS)….…………………................ 97
5.4.3.2. Paralel Çizelgeleme(Paralel SGS)..…………….................... 97
5.4.4. X-Geçişli Yöntem (X-Pass Method)..…………………….................. 99
5.4.4.1. Tek Geçişli Yöntem (Single Pass Method).……................... 99
5.4.4.2. Çok Geçişli Yöntem(Multi Pass Method)….......................... 100
5.5. Kaynak Kısıtlı Proje Çizelgeleme Problemlerinde Kromozom Temsili….... 102
5.5.1. Faaliyet Listesi……………………………………………................. 103
5.5.2. Rastgele Anahtar Temsili…………………………………................. 104
5.5.3. Öncelik Kuralı Temsili……………………………………................. 105
ALTINCI BÖLÜM
KAYNAK KISITLI PROJE ÇİZELGELEMEDE GENETİK ALGORİTMA
YÖNTEMİNİN UYGULANMASI VE ANALİZİ
6.1. Genetik Algoritmalarda Kullanılan Yapay Kaynak Kısıtlı Proje Çizelgeleme
Problemleri ve Özellikleri……….………..…….…...................................... 106
6.1.1. Proje Ağının Büyüklüğü…………………........................................... 108
Description:Anahtar Kelimeler: Genetik Algoritma, Proje Çizelgeleme, Kaynak Kısıtlı Proje Uygunluk fonksiyonları, türev ya da başka analitik .. Sosyal Sistemler: GA'lar böcek kolonilerindeki sosyal davranışın evrimi ve daha (2) Çözüm uzayındaki arama sonuçlarını doğrudan almak yerine, krom