T.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: