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

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "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"

Transkript

1 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

2 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 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.

3 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ı

4 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 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.

5 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

6 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

7 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

8 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ı Çalışmanın Önemi Çalışmanın Yöntemi Ç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 Genetik Algoritmanın Temel Kavramları Kromozom (DNA Dizileri) Gen Toplum Büyüklüğü Uygunluk Değeri (f i ) ve Uygunluk Fonksiyonu Uygun Olanların Seçilmesi Genetik İşlemler ve Genetik Parametreler Üreme (Reproduction)

9 viii Çaprazlama (Crossover) Mutasyon (Mutation) Genetik Algoritma ve Sonlandırma Koşulu Genetik Algoritma Aşamaları ve Akış Şeması Genetik Algoritma ve Aşamaları Genetik Algoritmanın Akış Şeması Genetik Algoritmanın Yararları ve Sakıncaları Genetik Algoritmanın Diğer Metotlarla Kıyaslanması Genetik Algoritmanın Uygulama Alanları Genetik Algoritmayı Kullanma Nedenleri DÖRDÜNCÜ BÖLÜM İKİ VE ON TABANLI GENETİK ALGORİTMALAR 4.1. İki Tabanlı Genetik Algoritmalar Değişkenler ve Amaç Fonksiyonu Seçimi Amaç Fonksiyonu ve Uygunluk Kriteri İki Tabanlı Sistemden On Tabanlı Sisteme Dönüşüm Değişken Temsili Gri Kodlama İki Tabanlı Sayı ile Gri Kod Arasında Dönüşüm On Tabanlı Genetik Algoritmalar Değişken Temsili ve Amaç Fonksiyonu Başlangıç Toplumu Seçme İşlemi Genetik İşlemler Yakınsama Problemin Genetik Algoritmaya Uyarlanması On Tabanlı Genetik Algoritmalarda Özel Durumlar Kodlama sistemi Genetik İşlemler Genetik Algoritmanın Optimizasyon Problemine Uygulanması... 73

10 ix BEŞİNCİ BÖLÜM PROJE ÇİZELGELEME PROBLEMLERİ VE SEZGİSEL YÖNTEMLERİN KULLANIMI 5.1. Proje Çizelgeleme Proje Ağının (Network) Oluşturulması Faaliyetlerin Öncüllük İlişkileri (Precedence Relations) Kaynak Kısıtlı Proje Çizelgeleme ve Özellikleri Kaynak Kısıtlı Proje Çizelgeleme Problemlerinde Kullanılan Yöntemlerin Sınıflandırılması Deterministik Yöntemler Stokastik Yöntemler Sezgisel Yöntemler Sezgisel Yöntemler ve Özellikleri Faaliyetleri Etiketleme Öncülleri Tamamlanan Faaliyetler ve Öncelik Kuralları Çizelge Oluşturma Şemaları(SGS) Seri Çizelgeleme (Seri SGS) Paralel Çizelgeleme(Paralel SGS) X-Geçişli Yöntem (X-Pass Method) Tek Geçişli Yöntem (Single Pass Method) Çok Geçişli Yöntem(Multi Pass Method) Kaynak Kısıtlı Proje Çizelgeleme Problemlerinde Kromozom Temsili Faaliyet Listesi Rastgele Anahtar Temsili Öncelik Kuralı Temsili 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 Proje Ağının Büyüklüğü

11 x Proje Kaynak Kullanım Durumu Kaynak Faktörü (Resource Factor) Kaynak Gücü (Resource Strength) Uygulamanın Veri Tabanı Yapısı Uygulamanın Temel Varsayımları Proje Varsayımları Genetik Algoritma Varsayımları Uygulamaya Veri Giriş Yaklaşımları Uygulama Sonuç Bilgileri Performans Ölçümüne İlişkin Yaklaşımlar En İyi Çözümü Bilinen Problem ile Test Edilmesi Değişik Genetik Parametreler ile Test Edilmesi İstatistiksel Analizlerin Kullanılması Algoritma Performansının Değerlendirilmesi J30 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J60 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J90 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J120 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi YEDİNCİ BÖLÜM SONUÇ 144 KAYNAKÇA EKLER ÖZGEÇMİŞ

12 xi KISALTMALAR LİSTESİ GA : Genetik Algoritma KKPÇ : Kaynak Kısıtlı Proje Çizelgeleme KKPÇP : Kaynak Kısıtlı Proje Çizelgeleme Problemi KYM : Kritik Yol Metodu Paralel SGS : Paralel Proje Çizelgeleme PSPLIB : KKPÇ de kullanılan yapay problemlerin elde edildiği İnternet ortamı (Project Scheduling Problems Library) Seri SGS : Seri Proje Çizelgeleme SGS :Çizelge Oluşturma Şeması (Schedule Generation Scheme)

13 xii TABLOLAR LİSTESİ Tablo 3.1 Turnuva Seçim Yöntemine Göre Uyumlu Kromozomların Seçilmesi.. 25 Tablo 4.1 l= 3 Uzunluğundaki Sayıların Gri Kodlar Tablo 4.2 Başlangıç Toplumu ve Uygunluk Değerleri Tablo 4.3 Çaprazlama Bilgileri Tablo 4.4 Yeni Toplum ve Uygunluk Değerleri Tablo 5.1 Proje Faaliyet Bilgileri Tablo 5.2 Sezgisel Modellerde Kullanılan Etiketlendirme Kuralları Tablo 6.1 Sezgisel Yöntemlerin Performansları (j30 veri kümesi) Tablo 6.2 Sezgisel Yöntemlerin Performansları (j60 veri kümesi) Tablo 6.3 Sezgisel Yöntemlerin Performansları (j90 veri kümesi) Tablo 6.4 Sezgisel Yöntemlerin Performansları (j120 veri kümesi)

14 xiii ŞEKİLLER LİSTESİ Şekil 3.1 Tek Noktalı Çaprazlama İşlemi Şekil 3.2 Çaprazlama Çeşitleri ve Örnekleri...32 Şekil 3.3 Mutasyon Çeşitleri ve Örnekleri...34 Şekil 3.4 Genetik Algoritma Akış Şeması Şekil 4.1 İki Tabanlı Sayının Gri Koda Dönüşümü Şekil 4.2 Gri Kodun İki Tabanlı Sayıya Dönüşümü...58 Şekil 4.3 Ardışık Toplumların Geçiş İşlemi ile Oluşturulması...65 Şekil 5.1 Faaliyetlerin Düğümlerde Gösterilmesi...80 Şekil 5.2 Faaliyetlerin Ok Üzerinde Gösterilmesi Şekil 5.3 Örnek Düğüm Bilgileri Şekil 5.4 Tamamlanmış Proje Ağı Şekil 5.5 Çizelgeleme Aşamasında Faaliyetlerin Sınıflandırılması Şekil 6.1 Projede Kullanılan Tablolar ve İlişkileri Şekil 6.2 Projenin Tanıtılması Şekil 6.3 Kaynakların Tanıtılması Şekil 6.4 Parametrelerin Tanıtılması Şekil 6.5 Faaliyetlerin Tanıtılması Şekil 6.6 Geliştirilen Algoritmanın Sonuç Bilgileri Şekil 6.7 Kritik Yol Metodu Sonuç Bilgileri Şekil 6.8 Toplumlar ve Çözüm Alternatifleri Şekil 6.9 Optimum Çözüm Bilgileri

15 xiv EKLER LİSTESİ Ek.1 30 Faaliyetli Proje Çizelgeleme Sonuçları(500 iterasyon) Ek.2 30 Faaliyetli Proje Çizelgeleme Sonuçları(1000 iterasyon) Ek-3 60 Faaliyetli Proje Çizelgeleme Sonuçları(500 iterasyon) Ek-4 60 Faaliyetli Proje Çizelgeleme Sonuçları(1000 iterasyon) Ek-5 90 Faaliyetli Proje Çizelgeleme Sonuçları(500 iterasyon) Ek-6 90 Faaliyetli Proje Çizelgeleme Sonuçları(1000 iterasyon) Ek Faaliyetli Proje Çizelgeleme Sonuçları(500 iterasyon) Ek Faaliyetli Proje Çizelgeleme Sonuçları(1000 iterasyon)

16 1 BİRİNCİ BÖLÜM GİRİŞ 1.1. Çalışmanın Amacı Günümüzde karmaşık problemlerin çözümünde geleneksel yöntemlerin yetersiz kalması, yeni çözüm teknikleri arayışlarını gündeme getirmiştir. Evrimsel hesaplama teknikleri, bu arayışların sonucu olarak ortaya çıkan tekniklerdir ve 19. yüzyılda Charles Darwin tarafından ileri sürülen evrim teorisinden esinlenerek geliştirilmiştir. Evrimsel hesaplama teknikleri, doğadaki evrimsel süreçleri model olarak kullanan bilgisayara dayalı problem çözme teknikleridir. Geleneksel programlama teknikleriyle çözülmesi güç olan, özellikle sınıflandırma, çizelgeleme ve çok boyutlu optimizasyon problemleri, evrimsel hesaplama teknikleri ile daha kolay ve hızlı olarak çözülebilmektedir. Evrim, kavramsal olarak kontrollü bir süreç değildir. Çevre koşullarının farklı/aynı olduğu bir ortamda, farklı genetik bilgilere sahip canlılar, yaşamak için yarışırlar ve güçlü/uyumlu olanlar hayatta kalıp çoğalarak/üreyerek genetik bilgilerini bir sonraki kuşağa (jenerasyona) geçirme şansını yakalarlar. Evrimin devamını sağlayan unsur ise, üreme sonucu oluşan farklılıktır. Üreme, doğada eşeyli ve eşeysiz üreme olmak üzere iki şekilde olmaktadır (Atalağ,2001,s.1): 1. Eşeysiz üreme, basit canlılarda rastlanan üremedir. Yeni oluşan canlı bir öncekinin aynısıdır. Eşeysiz canlılar arasındaki farklılık, üreme sırasında genlerde oluşan istemsiz hatalar ya da değişim sonucu oluşmaktadır. 2. Eşeyli üreme, yüksek canlılarda görülen üreme şeklidir ve seksüeldir. Yani değişik genetik malzemeye sahip iki canlı birleşerek tamamen farklı yeni bir canlı oluşturmaktadır. Farklılık, çoğalma sırasında hem mutasyonlar hem de yeniden birleşimler (recombination) sonucu oluşmaktadır. Her iki canlının genetik olarak farklı ama işlevsel olarak eş kromozomları üst üste gelerek bilgi değiş tokuşu (crossover) olmaktadır.

17 2 Üreme sonucunda oluşan farklı canlılardan bir kısmı, bir önceki kuşağa göre değişen çevreye daha iyi uyum gösterip (adapte olup) daha güçlü olabilmektedir. Bunların yaşaması ve üreyerek soyunu devam ettirmesine doğal seleksiyon denilmektedir. Evrimsel hesaplama tekniği kullanılan problemler, çözüm için oldukça fazla olasılık ya da kurallar dizisi içeren problemlerdir. Bu nedenle, probleme ait çözümlerin, biyolojik evrim sürecinde olduğu gibi, değişen çevre koşullarına uyumlu olup olmadıklarını anlamak için bir sisteme ihtiyaç duyulmaktadır (Mitchell ve Taylor, 1999,s.593). Evrimsel süreç için gerekli olan bu sistem, evrimsel hesaplama tekniğini kullanan algoritmaların temelini oluşturmaktadır. Evrimsel algoritmalar, bulunduğu çevrede en fazla güçlü olanları seçme, yeniden birleşme, üreme ve mutasyon gibi temel evrimsel süreçlerden yararlanarak bir sistem oluşturmaktadır. Üremelerden sonra yapılan mutasyon işlemleri, evrimin gereksinimi olan farklılığı sağlamaktadır. En yaygın kullanılan evrimsel algoritma ise genetik algoritma (GA) dır (Mitchell ve Taylor,1999,s.594). GA, evrim sürecini kullanarak bir bilgisayara, anlayamadığı çözüm yöntemlerinin öğretilebileceği fikri ile ortaya çıkmıştır. Evrimsel hesaplama psikolojisinden etkilenen John Holland, GA yı bilgisayar ortamında uygulayan, ilk araştırmacı olmuştur ve yapay problemlerin çözümünde evrimsel süreçlerin uygulanabileceğini, 1975 yılında Doğal ve Yapay Sistemlerde Uyumlaştırma (Adaption in Naturel and Artifical Systems) kitabında açıklamıştır (Koza,1995,s.287). Darwin in evrim teorisinden etkilenen GA ile bir problemi çözmek, problemi sanal evrimden geçirmek anlamına gelmektedir (Kurt ve Semetay,2001,s.1). GA, karmaşık problemlerin çözüm alternatifleri arasından optimum (global) çözümü bulmak için kullanılan bir arama yöntemidir (Mori ve Tseng,1997,s.135). Ancak GA lar her zaman global çözümü bulamamaktadır. GA ile üretilen çözüm, global olmayan alternatif çözüm ise bu çözümün optimuma yakın (lokal) çözüm olduğu söylenebilmektedir (Yeo ve Agyei,1998,s.268).

18 3 Evrimsel teknikler, dolayısıyla GA lar, stokastik yöntemlerden ya da programlardan oluştuğu için, genellikle optimum çözüme yakın çözümler üretmektedirler (Brochmann,2005,s.1). GA lar, geleneksel yöntemlerle çözümü zor ya da hemen hemen imkansız olan problemlerin çözümünde kullanılan sayısal optimizasyon yöntemlerinden biridir (Bolat vd.,2004,s.264). Çözümü zor problemlerde GA yı uygulayarak, problemin çözümüne yönelik, kapsamlı ve karmaşık hesaplama işlemlerine olan ihtiyaç ortadan kalkacaktır. GA, geleneksel hesaplama işlemleri kullanmadan, problemi evrimsel aşamalardan geçirerek, ürettiği çözümler arasından en iyi çözümü bulma çabası gösteren yöntemdir. GA lar, biyolojik ortamlarda olduğu gibi, en iyi çözümü arayacağı toplumları oluşturmak zorundadır. Sadece başlangıçta ve bir kez olmak üzere, gerçek çözüm alternatiflerine ihtiyaç duymaktadır. Bu çözüm alternatifleri, problemin başlangıç toplumunu oluşturmaktadır. Toplumun bireylerini temsil eden çözüm alternatifleri ise, uzun ve karmaşık hesaplama işlemleri kullanılmadan, rastgele yöntemlerle de oluşturulabilmektedir. Algoritmanın başında, kaç adet çözüm alternatifi olması gerektiği, başka bir deyişle toplumdaki birey sayısı, problemin yapısına ve araştırmacıya bağlıdır. Bir sonraki toplum ise, evrimsel süreçten geçen başlangıç toplumundan oluşturulmaktadır. Bu şekilde, kendinden bir önceki toplumun, evrim geçirerek yeni toplum oluşumu algoritmada hep devam edecektir (Huang vd.,2005,s ). GA, bu toplumlar içerisinde en iyi olan çözümü aramaktadır. Çözüm yöntemleri ya da algoritmaları belli olmayan problemlerin çözümünde de, GA kullanılabilmektedir. Çünkü GA, problemin uygun çözümünü elde etmek için, evrim ve doğal seleksiyon mantığında hazırlanan bir bilgisayar programıdır (Brochmann,2005,s.1). Geleneksel optimizasyon yöntemlerinde, bir amaç fonksiyonuna ihtiyaç duyulmaktadır. Oysa, GA lar amaç fonksiyonu hazırlanamayan optimizasyon problemlerinde de uygulanabilmektedir. GA nın bu tür problemlere uygulanabilmesi ve en iyi çözümün seçilelebilmesi için, sadece bir uygunluk kriteri ya da uygunluk fonksiyonun tanımlanması yeterli olacaktır. Ancak, bu tarz

19 4 problemlerde dikkat edilmesi gereken en önemli unsur, uygunluk kriterinin problemin amacı ile tamamen örtüşmesidir. 25 yıldan fazla bir süredir üzerinde çalışılan GA lar, çözümü zor problemlerde hala karşılaşılan sorunlar nedeniyle, özellikle son 5 yıldır, araştırmacıların ilgisini üzerine çekmektedir (Wall,1996,s.10). Bilgisayar bilimi, işletme, mühendislik, eğitim, matematik, tıp ve ziraat gibi alanlarda uygulama örnekleri ile karşılaşılmaktadır. Ülkemizde de birçok alanda uygulama örneklerine rastlanmaktadır. Bu çalışmanın amacı, geleneksel yöntemlerle çözülmesi zor problemlerde etkin sonuçlar elde edilen GA ları tüm yönleriyle incelemek ve GA ile proje çizelgeleme konusunda bir uygulama yapmaktır. GA ların, karmaşık problemlerde optimuma yakın çözüm üretmeleri, geliştirilen algoritmanın etkinliğini artıracak faktörleri belirlemeye yönelik çalışmaları da, amaç kapsamına dâhil etmeyi gerektirmiştir Çalışmanın Önemi GA lar, algoritmanın başlangıcında oluşturulan çözüm kümesinden başlayarak, sonraki aşamalarda bu çözümlere rastgele değişim uygulanması ile oluşturulan yeni çözüm kümeleri içerisinden amaç fonksiyonunu en iyileyen çözümlere erişmeye çalışmaktadır. Başlangıçta kullanılan çözümler hariç hiçbir çözümü, uzun hesaplama işlemlerine ihtiyaç duymadan evrimsel işlemlerle hızlı bir şekilde hesaplamaktadır. Algoritmanın doğası gereği, en iyi çözümleri rastgele bir şekilde araması nedeniyle çok büyük ve karmaşık optimizasyon problemlerinde etkili bir şekilde kullanılmaktadır. Karar değişkeni sayısının fazla olduğu karmaşık problemlerde, değişkenlerin her bir olası değerleri için yeni çözümlerin hesaplanması oldukça güç ve zaman alıcı olmaktadır. Bu nedenle çözümü zor olan problemlerde GA kullanma ihtiyacı artmaktadır.

20 5 En iyi çözümleri, çözüm kümesinde aradığından, diğer optimizasyon yazılımlarından yararlanamayacak büyüklük ve karmaşıklık içeren problemlerde rahatlıkla kullanılabilmektedir. Evrimsel bir algoritma olarak doğasında barındırdığı bu özellikler ise, GA ya ilginin artmasına ve her alanda uyarlanmaya çalışılmasına neden olmaktadır. Gerçekleştirilen literatür araştırmasıda, teoride çok karşılaşılan bu söylemin doğruluğunu güçlendirmektedir. Kaynak kısıtlı proje çizelgeleme problemi (KKPÇP), kaynakları kısıtlı olan proje çizelgeleme problemidir. KKPÇP lerin başlıca özelliği olan, kaynak kısıtı ve faaliyetlerin öncüllük ilişkileri, özellikle çok faaliyetli olmaları halinde, çizelgelenmesini dahada güçleştiren unsurların başında gelmektedir. Geleneksel programlama teknikleriyle çözülmesi güç problemlerden olan KKPÇP ler, ortaya çıkışından bu yana uygulamacıların ve araştırmacıların ilgisini çekmektedir. Son yıllarda, KKPÇP lerin çözümüne yönelik, hem sezgisel hem de optimal yöntemler geliştirilmeye çalışılmaktadır (Hartmann ve Kolisch,2000,s.395). Günümüzde, KKPÇP ler için faaliyet sayıları açısından herhangi bir kısıt ile karşılaşılması arzu edilmemektedir. Çözümü zor problemlerde, GA gibi sezgisel yöntemleri kullanma ihtiyacı, KKPÇP leri GA ile çizelgeleme çalışması yapmamıza ve literatüre katkıda bulunma isteğimizin oluşmasına neden olmuştur Çalışmanın Yöntemi GA ile kaynak kısıtlı proje çizelgeleme (KKPÇ) amacıyla yapılan bu çalışma, teorik ve uygulama olmak üzere iki temel bölümden oluşmaktadır. Çalışmanın teorik bölümü, yurtdışında ve yurtiçinde yayınlanmış olan kitap, tez, makale ve diğer çalışmalardan faydalanarak hazırlanmıştır. Teorik bölüm için yapılan literatür araştırmasında, yurtiçindeki üniversite kütüphanelerinden, YÖK (Yüksek Öğrenim Kurumu) kütüphanesinden, İnternet bilgi ağı üzerindeki veri tabanlarından, yabancı üniversiteler ile kar amacı gütmeyen kurumların İnternet bilgi ağı üzerinde oluşturdukları web sitelerinden yararlanılmıştır.

21 6 Çalışmanın ikinci kısmında ise, KKPÇP lerin GA yöntemi ile çözümü için bir algoritma geliştirilmiştir. Geliştirilen algoritmanın test edilebilmesi ve etkinliğinin tartışılması amacıyla literatürde j30, j60, j90 ve j120 olarak sınıflandırılan KKPÇP ler kullanılmaktadır. Çalışmamızda bu problemlerin seçilmesinin başlıca nedenleri: 1- Faaliyet sayılarının fazla olması. 2- Çözümü zor problemler olması. 3- Örnek problem sayısının fazla olması. 4- Literatürde bu konuda daha önce yapılan çalışmalarda bu problemlerin kullanılmasıdır. Yukarıda bahsedilen KKPÇP ler PROGEN (Project Generator) adı verilen bir program tarafından üretilen problemlerdir. Bu problemler Kiel Üniversitesinin, ftp://ftp.bwl.uni-kiel.de/pub/operations-research/psplib İnternet adresinden temin edilmiştir Çalışmanın Planı GA ile proje çizelgeleme başlıklı tez çalışması yedi bölümden oluşmaktadır. Çalışmanın giriş kısmı olan birinci bölümde, çalışmanın amacının ne olduğu, ne gibi faydalar sağlayacağı ve nasıl yapılacağı konuları ele alınmıştır. İkinci bölümde, ilk olarak, GA ile yöneylem araştırması alanında yapılan yurtiçi/yurtdışı çalışmalarına yer verilmektedir. Daha sonra da KKPÇP lerde GA yaklaşımının kullanıldığı çalışmalar ve yapılan araştırmalar hakkında bilgi verilmektedir. Çalışmanın üçüncü bölümünde, GA nın tanımı, temel kavramları, genetik işlemlerin ne olduğu, GA nın aşamaları ve algoritması, GA nın faydaları ve olumsuz yönleri, nerelerde kullanılabileceği ve algoritmayı sonlandırma koşulları gibi temel konular kavramsal olarak ele alınmıştır.

22 7 Çalışmanın dördüncü bölümünde, GA nın başlangıcında karar verilmesi gereken algoritma türlerine, GA uygulamalarında kromozomların nasıl oluşturulacağına, kromozom içerisinde bulunan karar değişkenlerinin kendi sınırları içerisinde nasıl tanımlanacağına, genetik işlemlerin nasıl yapılabileceğine ve yorumlanabilmesi için gerçel (reel) sayılara nasıl dönüştürülebileceği gibi temel konulara yer verilmiştir. Çalışmanın uygulama kısmı on tabanlı algoritmaya göre yapılması düşünüldüğünden, gerek genetik işlemler gerekse karşılaşılabilecek olası problemlere yönelik araştırma sonuçları bu bölümde daha detaylı olarak incelenmiştir. Çalışmanın beşinci bölümünde, çalışmada baz alınan çözümü zor problemin kavramsal tanımına, KKPÇ problemlerinde kullanılan yöntemlerin sınıflandırılmasına, çizelgeleme işlemlerinde kullanılması mümkün olabilecek sezgisel yöntemlere; öncelik kuralları ve çizelge oluşturma şemalarına, bu yöntemlerle yakından ilişkili olan ve GA ların yapısı gereği oluşturulması gereken kromozomların kromozom temsili ya da kodlanmasına yönelik bilgilere yer verilmektedir. Çalışmanın altıncı bölümünde, önce KKPÇP lerinin çözümüne yönelik olarak; Delphi 6.0 programı ile geliştirilen GA nın varsayımlarına yer verilerek, bilgisayar programının, veri giriş yapısı, menü çubuğu komutları ve ekran görüntüleri tanıtılmaktadır. Daha sonra, GA ların performansının ölçümünde kullanılan yaklaşımlardan bahsedilerek, algoritmanın çözüm üretme performansı, literatürde daha önce yayınlanan algoritmalarla karşılaştırılarak değerlendirilmiştir. Çalışmanın yedinci ve son bölümünde, altıncı bölümünde elde edilen bulgular neticesinde, geliştirilen GA nın performansının ve işlevselliğinin artırılmasına yönelik yapılan değerlendirmeler ve önermeler yer almaktadır.

23 8 İKİNCİ BÖLÜM KONUYLA İLGİLİ ÇALIŞMALAR Çalışmanın bu bölümünde, KKPÇP lerde GA yaklaşımının kullanıldığı uygulamalara yer verilmektedir. KKPÇP ler, değişken sayısı arttığında çözümü zorlaşan ve zaman alan problemlerdir. Şimdiye kadar geliştirilen paket programların, her zaman mevcut problem tipi ile örtüşmemesi ve varsaydığı kısıtların uyarlanmasının zorluğu nedeniyle GA denemeleri ilgi çekici olmaktadır. Bunun yanı sıra paket programların tek bir yöntem kullanması, GA nın sezgisel yöntemlerine ilgiyi daha fazla artırmıştır. Özellikle büyük ve karmaşık KKPÇP lerin çözümünde halen deterministik bir yöntemin bulunmaması, farklı amaç fonksiyonları ve sezgisel modeller içeren GA ları geliştirme çalışmalarının devam etmesine neden olmaktadır. Yapılan çalışmalar incelendiğinde, KKPÇP lerde deterministik yöntemlerle çözülebilen problemler için, deneme amaçlı olarak da GA nın uygulandığı görülmüştür. Birçok problem, daha önce başka yöntemlerle kesin çözümleri elde edilmiş olsun ya da olmasın GA ile çözülmüş ve diğer yöntemlerle kıyaslama yapılarak değerlendirilmiştir. Değerlendirme sonuçlarının, genellikle GA ile çözümünden yana olduğu saptanmıştır. Başka bir deyişle, problem başka yöntemlerle daha önce çözülmüş olsa bile, GA ile daha hızlı global/yerel çözüme ulaşılmaktadır. Literatürde KKPÇP lerde GA kullanımı ile ilgili birçok teorik ve pratik çalışma vardır. Bu çalışmalarda bir çok farklı kromozom temsili (representation), yöntemler ve algoritmalar kullanılarak yerel (local) ya da global (optimum) sonuç elde edilmeye çalışılmaktadır. Talbot (1982), çalışmasında zaman ve maliyet kısıtlı KKPÇP lerin zamanmaliyet denge durumunu göz önüne alarak formülize etmeye ve çözmeye yönelik bir çalışma hazırlamıştır. Bu tür problemlerin amaç fonksiyonları; proje tamamlanma süresini, proje maliyeti, ceza maliyeti ya da kritik kaynak tüketim maliyetlerini en küçükleme şeklindedir.

24 9 Çalışmada iki türlü soruna odaklanılmıştır. Biri, kısıtlı kaynaklar altında proje tamamlanma süresini ve maliyetini en küçüklemek iken, diğeri de kaynak kısıtlı problemlerde zaman-maliyet dengesini (tradeoffs) kurmaktır. Deneysel sonuçlar, hazırlanan bilgisayar programının küçük problemler için optimum proje maliyetini bulduğunu, büyük problemlerde de optimuma yakın sezgisel çözümler bulduğunu göstermektedir. Hazırlanan çözüm algoritması göreceli olarak basit düzeydedir ve orta düzey hesaplama işlemleri yapabilen küçük bilgisayar sistemi gerektirmektedir. Cheng ve Gen (1994), çalışmalarında diğer çizelgeleme problemlerinden daha zor olan KKPÇP ye yönelik bir uygulama geliştirmişlerdir. Modifiye edilmiş çaprazlama ve mutasyon işlemleri ile genetik işlemler sonucunun da uygun çizelge vermesi sağlanmıştır. Yani uygulanan genetik işlemler, projenin kaynak ve öncüllük ilişkilerini ihlal etmeyecek şekilde düzenlenerek, proje uygunluğu temin edilmiştir. Geliştirilen algoritma; literatürde bilinen iki probleme uygulanarak, bilinen optimum değere etkin ve hızlı bir şekilde erişmiştir. Araştırmacılar geliştirdikleri evrimsel programın, diğer hesaplanması güç optimizasyon problemlerine uygulanabileceğini öne sürmektedirler. Pet-Edwards ve Mollaghasemi (1995), stokastik faaliyet süreli KKPÇP yi GA ile çözmeye çalışmışlardır. Algoritmalarında, ele aldıkları tek bir problemi altı farklı sezgisel yöntem kullanarak, her bir yöntem için proje tamamlanma süresini hesaplamışlar ve yöntemler arasında fark bir z değerinden büyük olduğu sürece algoritmayı tekrar çalıştırmışlardır. Yöntemlerin sonuçları arasındaki fark, z değerine eşitlendiğinde ya da daha küçüldüğünde algoritmayı durdurmuşlardır. Çalışma sonuçlarına göre, optimal sonucu elde etmek için altı elemanlı başlangıç toplumundaki eleman sayısını ve iterasyon sayısını artırmak gerektiğini öne sürmektedirler. Düğenci (1996), çalışmasında GA nın iş sıralama problemlerine uygulanmasını göstermiştir. Oluşturulan örnek problemler, hem GA hem de geleneksel sezgisel yöntemlerle çözülmüş ve sonuçların bir karşılaştırması yapılmıştır. Özellikle iş ve makine sayısısın arttığı durumlarda GA ların diğer yöntemlerden daha başarılı sonuçlar verdiği gözlenmiştir.

25 10 Kolisch (1996a), çalışmasında, klasik KKPÇ problemlerinde seri ve paralel SGS yöntemlerini uygulayarak, her iki yönteme yönelik teorik sonuçlar çıkarmışlardır. Her iki yöntem için, tek geçiş (pass) yöntemi ve örnekleme arasında ilişki araştırılmıştır. Örneklemin, tek geçiş çizelgeleme yönteminin performansını anlamlı bir şekilde artırdığı gözlenirken, paralel yöntemin daha iyi olduğu sonucuna varılmamıştır. Hoşşerbetçi (1997), çalışmasında GA ların, yöneylem araştırması alanında gelişimini ve kullanımını anlatarak Omluksa Firması için sıralama-çizelgeleme uygulamasını ele almıştır. Icmeli-Tukel ve Rom (1997); 1995 yılında Amerika da yaptıkları alan araştırmasında proje yöneticilerinin, o dönemdeki proje çizelgeleme literatüründeki sorunlardan daha fazlasını yaşadığını ortaya çıkarmışlardır. Bu çalışma %90 proje yöneticisinin, müşteri memnuniyetini sağlayabilecek ve proje bütçesine uyabilecek kaliteli proje çizelgeleme ihtiyacını göstermiştir. Bu nedenle araştırmacılar bu çalışmalarında, KKPÇ problemlerinde kaliteyi en büyüklerken, literatürdeki geleneksel amaç fonksiyonlarına ilaveten proje faaliyetlerinin net bugünkü nakit akışlarını (NPV-Net Present Value) da en büyüklemeyi amaçlamışlardır. Çalışmada, PROGEN ile üretilmiş KKPÇ problemleri kullanılmıştır. Problemler, faaliyet süreleri ve proje tamamlanma süresini bütünleştirilmesi baz alınarak iki farklı şekilde ve tamsayılı (mixed integer) olacak şekilde modellenmiştir. Her iki şekilde de kurulan modellerde, kalite ölçümleri amaç fonksiyonuna dâhil edilerek, amaç fonksiyonu kaliteyi en büyüklemek şekline getirilmiştir. Konu edilen problem kümesi üzerinde yapılan testler sonucunda, çalışmada önerilen ikinci modelin daha etkin olduğu saptanmıştır. Böylece, bu çalışma ile üç amacı da en büyükleyecek şekilde etkin sonuçlar elde edilebileceği gösterilmiştir. Mori ve Tseng (1997), yenilenebilir kaynak kullanan faaliyetleri içeren çok aşamalı (mod) kaynak kısıtlı proje çizelgeleme problemleri için bir stokastik algoritma geliştirmişlerdir. Araştırmacılar geliştirdikleri GA da; doğrudan kromozom temsilini tercih etmişlerdir. Başlangıç toplumunu ise, Min LFT (bakınız alt başlık Öncelik Kuralları) öncelik kuralını kullanarak, her bir kromozomu rastgele bir

26 11 şekilde seçilen ileri ya da geri çizelgeleme yöntemleri ile oluşturmaktadırlar. Araştırmacılar stokastik çizelgeleme sonuçlarını, Drexl ve Gruenewald (1993) ın stokastik çalışma sonuçları ile kıyaslayarak geliştirdikleri algoritmanın daha iyi olduğu sonucuna varmışlardır. Naphade vd. (1997) nın, KKPÇ problemlerine yönelik geliştirdikleri GA, daha önce KKPÇ problemlerine yönelik geliştirilen sezgisel ve kesin (exact) yöntemlerin performans değerlendirmesinden oldukça farklı ve daha iyi test sonuçları oluşturmaktadır. Bu algoritma ile elde edilen çözümler Demuelemeester ve Herreolen (1992) in dal sınır algoritması ile elde edilen sonuçlarla kıyaslanmış ve tatmin edici sonuçların elde edildiği görülmüştür. Çalışmada başlangıç çözüm kümesi, başka bir sezgisel yöntem ile elde edilen çözümlerin, her bir karar noktasındaki serbestlik (slack) değerlerinin miktarı kadar başkalaştırılması ile elde edilmiş ve çözüm uzayı modifiye edilmiş MINSLACK (bakınız alt başlık Öncelik Kuralları) öncelik kuralı ile araştırılmaya çalışılmıştır. Nutdasomboon ve Randhawa (1997), çalışmalarında KKPÇP yi 0 1 tamsayılı program modeli olarak kurmuşlardır. Model, proje çizelgelemenin birçok özelliğini ve amaçlarını kapsayacak şekilde hazırlanmıştır. Bunlar; kesintisiz faaliyetler, yenilenebilir ve yenilemeyen kaynaklar, zaman-kaynak ödünleşmesi (trade off), çoklu amaç fonksiyonu (proje tamamlama süresinin en küçüklenmesi, proje maliyetinin en küçüklenmesi ve kaynakları ayarlama) şeklindedir. Geleneksel yöntemlerle proje çizelgelemede bahsedilen bu amaçlar genellikle birbirinden bağımsız olarak değerlendirilmektedir. Araştırmacılar çalışmalarında proje çizelgelemede konu olan amaçları, amaç programlama modeli (goal programming model) kullanarak tek bir amaç olarak modellemişler ve projeyi çizelgelemişlerdir. Kaynak kullanımının optimum bir şekilde ayarlanması (resource leveling) için, kritik olmayan faaliyetlerin yeniden çizelgelenmesi, sezgisel yöntemler kullanılarak yapılmaktadır. Aytaç (1998), bu çalışmada tek makinede toplam iş akış zamanı ile maksimum erken bitirmeyi en azlayan çözümü zor bir probleme ve tek makinede toplam iş akış zamanı ile geciken iş sayısını en azlayan çözümü zor bir probleme GA

27 12 yaklaşımı uygulanmıştır. Toplam iş akış zamanı ve maksimum erken bitirmeyi en azlayan problemde elde edilen sonuçlar bir alt sınırla kıyaslanmıştır. Toplam iş akış zamanı ve geciken iş sayısını en azlayan problemde elde edilen sonuçlar ise rastgele yaratılan çizelgelerle kıyaslanmıştır. Ikeuchi vd. (1998), çalışmalarında planlama problemlerinde yoğun kullanılan GA larda genetik parametrelerin optimal değerlerini konu almışlardır. Bir problem için optimum olan genetik parametre değerleri, başka bir problem için uygun olamamaktadır. Bu nedenle çalışmalarında; problem değiştikçe probleme uygun olabilen yani kendi kendini ayarlayabilen ve değişebilen genetik parametreler kullanarak bir GA geliştirmişlerdir. Geliştirilen yöntemde, bir çözüm araştırılmakta ve genetik parametre değeri artırılarak yeni toplum üretilmektedir. Böylece etkin parametre değeri araştırılmaktadır. Araştırmacılar geliştirdikleri algoritma sonucunu, elle ayarlanan yöntemlerle kıyaslamışlardır. Çalışma sonucunda, kendi kendini probleme göre ayarlayabilen ve uygun genetik parametreler üretebilen ilave yordamların GA larda kullanılmasını önermektedirler. Reyck ve Herroelen (1998), bu çalışmada KKPÇ problemini genelleştirilmiş faaliyet öncüllük kısıtları ve iskontolu nakit akışlar ile birlikte değerlendirmeye almışlardır. İskontolu nakit akışları ile birlikte değerlendirilen bu tür problemler, KKPÇP kısıtlarına; 1)faaliyetlerin başlama ve tamamlanma süreleri arasında keyfi (arbitrary) olarak asgari ve azami zaman farkını, 2)faaliyetlerinde negatif/pozitif nakit akışlar içeren projenin net bugünkü değerini en büyükleyen düzensiz amaç fonksiyonunu ilave etmektedir. Araştırmacılar çalışmalarını, bu tarz KKPÇ problemlerine yönelik yapılan GA ların olmaması nedeniyle gerçekleştirmişlerdir. Çalışmada kapsamlı bir dal-sınır algoritması hazırlanmıştır. Geliştirilen dal-sınır algoritmasında, kaynak çatışmasını ortadan kaldırmak amacıyla, projeyi temsil eden arama ağacındaki her bir düğüme ek öncelik ilişkileri ilave edilmiştir.

28 13 Keha (1999), çalışmada tek makinede toplam iş akış zamanı ile geciken iş zamanını en azlayan ve tek makinede toplam iş akış zamanını ve maksimum erken bitirmeyi en azlayan iki kriterli çizelgeleme problemine GA uygulanmıştır. Toplam iş akış zamanı ile toplam geciken iş zamanını en azlayan problem için yaklaşık etkin sonuçlar bulan bir sezgisel yöntem önerilmiştir. Buna ilaveten GA nın bu sezgisel yöntemden elde edilen sonuçları geliştirme miktarı incelenmiştir. Toplam iş akış zamanı ile maksimum erken bitirmeyi en azlayan problemde elde edilen sonuçlar bir alt sınırla ve bazı çalışmalarla karşılaştırılmıştır. Aytaç (1998) in sonuçlarına oldukça yakın sonuçlar elde edildiği görülmüştür. Özdamar (1999), GA yı çok işlemcili faaliyetlerin çizelgelenmesinde kullanmıştır. Algoritmada kromozomlar dolaylı bir şekilde kodlanmıştır. Kromozomlar, her bir faaliyetin işlemci numarasını ve çizelgeleme kuralı bilgilerini içermektedir. Algoritma aşamalı bir şekilde projeyi çizelgelerken, kromozomda bulunan çizelgeleme kurallarına bağlı kalarak projeyi çizelgelemektedir. Çalışmada, çizelgeleme kuralı olarak öncelik kuralları kullanılmıştır. Araştırmacı, geliştirdiği algoritmanın rasyonel kabul edilebilir bir süre sonunda optimuma yakın çözüm ürettiğini saptamıştır. Şerifoğlu ve Ulusoy (1999), çalışmalarında erken ve gecikme ceza puanlı çok işlemcili işlemcili işleri (paralel makine) çizelgeleme problemlerinde GA yı uygulamışlardır. İşlerin zamanında tamamlanmasının yanı sıra, ceza maliyetlerinin de en küçüklenmesi problemin karmaşıklığını daha da artırmaktadır. Probleme yönelik iki GA geliştirilmiştir. Algoritmanın biri çaprazlama operatörü kullanılarak, diğeri de çaprazlama operatörü kullanılmadan hazırlanmıştır. 960 adet rastgele üretilen problemler üzerinde yapılan testler sonunda, her iki GA nın da küçük problemlerde etkin sonuçlar verdiği görülmüştür. Ancak problemin büyüklüğü ve karmaşıklığı arttığı durumda çaprazlama operatörlu GA nın daha cazip olduğu gözlenmiştir. Güvenç (2000), bu çalışmada çok modlu, kesintisiz, kaynak kısıtlı proje planlaması problemleri için bir GA yaklaşımı anlatılmaktadır. Önerilen yöntemi uygulayabilmek için GARCS adında bir bilgisayar programı yazılmıştır. GARCS programının ana amacı inşaat problemlerindeki kaynak tahsisi problemlerini

29 14 çözmektir. Problemin hedefi toplam proje süresinin ve mevcut kaynak profilindeki sapmaların minimize edilmesidir. GARCS bir örnek problem üzerinde denenmiş ve sonuçlar GA nın geleneksel yöntemlere göre; çok modlu kaynak kısıtlı planlama problemlerine daha hızlı ve iyi sonuçlar verdiğini göstermiştir. Hartmann ve Kolisch (2000), çalışmalarında sezgisel yaklaşımların temel özelliklerine değinmişler ve öncelik kurallarına dayanan X-Geçiş (pass) yöntemini detaylı anlatmışlardır. Çalışmalarında; literatürde standart test örneklerini kullanarak ustaca geliştirilen sezgisel (state of art heuristics) algoritmalarının performansını; iterasyon sayısı, optimal değerden ortalama sapma ve hesaplama süresi gibi bir çok açıdan değerlendirerek daha sonraki araştırmacılara yol göstermeye çalışmaktadırlar Hartmann (2001), çalışmasında her faaliyeti çok aşamalı olan proje çizelgeleme problemini ele almış ve proje bitirme zamanını en küçüklemek amacıyla bir algoritma geliştirmiştir. Genetik kodlama, faaliyet listesi ve faaliyetlere atanan aşamalar temel alınarak hazırlanmıştır. Standart örnek problemler üzerinde uygulama yapan araştırmacılar, geliştirdikleri algoritmanın diğer sezgisel yordamlarla elde edilen sonuçları aşarak optimum proje bitirme zamanından çok az bir sapma gösteren sonuçlar elde etmişlerdir. Vanhoucke vd. (2001); çalışmalarında, erken- geç ceza (penalty) maliyetleri ile ağırlıklandırılmış KKPÇP leri konu almışlardır. Çalışmada tüm faaliyetlerin süresi, bir birim erken ve geç ceza maliyetleri ve yenilenebilir kaynak gereksinimleri gibi değişkenlerin sabit (deterministik) olduğu varsayılmaktadır. Çalışmanın amacı, ağırlıklandırılmış erken-geç ceza maliyetlerini minimize edecek şekilde projeyi çizelgelemektir. Problemin bu özellikler ile çizelgelenmesi, özellikle tam zamanlı uygulamalar açısından çalışmanın önemini daha da artırmaktadır. Araştırmacılar geliştirdikleri algoritmayı rastgele üretilen problem seti üzerinde test ederek etkin sonuçlar elde etmişlerdir. Zamani (2001), çalışmasında geliştirdiği ve yüksek performans gösteren algoritma, projenin bölümlere ayrılarak çizelgelenmesi ve daha sonra çizelgelenen bu bölümlerin bir ağaç şeklinde birleştirilmesi mantığına dayanmaktadır (Dal sınır algoritması). Probleme ait her bir kısmi çizelge, kendi bünyesindeki faaliyetlerin

30 15 öncüllük ilişkileri ve kaynak kısıtlarını karşılayarak hazırlanmaktadır ve tamamlanmayan faaliyetlerin alt sınırları her bir kısmi çizelgeyle birleştirilerek ve bir ağaç halinde birbirine bağlanmaktadır. Dallanma işlemi (branching process), en küçük alt sınırlı kısmi çizelgelerin yer alması ile yapılmaktadır ve dallanma işlemi, optimal çizelge elde edilinceye kadar devam etmektedir. En küçük alt sınırlı kısmi çizelgelerde dallanma yapılmasına rağmen, algoritmadaki kısmi çizelgeler birbirinden bağımsız veri grubu gibi ele alındığından, dallanmak için kısmi çizelge seçiminde büyük bellek ve işlem süresi ihtiyacı duyulmamaktadır. Bu özelliği ile algoritma, 100 faaliyetli ve 6 farklı kaynak tipi içeren kapsamlı KKPÇ problemlerinin çözümüne imkân verebilmektedir. Çetin (2002), çalışmasında GA yı ele alarak, uygulama alanlarından ve bir araştırma algoritması olarak kullanma nedenlerinde bahsetmiştir. Çalışmada, GA ve işleyişi ana hatları ile ele alınmıştır ve GA özellikleri özetlenmiştir. Fığlalı ve Engin (2002), optimum çözümü zor olan, çok makinalı akış tipi çizelgeleme problemlerinde GA ile çözüm performansının artırılmasında, etkili çözüm parametre setini belirlemeye çalışmıştır. Hindi vd. (2002), KKPÇP ni evrimsel algoritma ile çözmüşlerdir. Çizelgeleme algoritmasında, karşılaştırmalı değerlendirme yapmak amacıyla iki farklı problem kümesi kullanmışlardır. Birinci problem kümesinde 330 problem, diğerinde 2040 problem hazırlamışlardır. Çalışmalarında önerdikleri algoritmanın, en iyi çözümler ve bu çözümlerin ortalama hatalarının etkin olduğunu ileri sürmektedirler. Ayrıca geliştirilen algoritmanın hesaplama süresinin orta düzeyde olduğunu söylemektedirler. Şerifoğlu ve Ulusoy (2002), her birinin birden fazla işlemcide işlenmesi gereken n adet işin m katmanlı paralel işlemcili akış atölyesinin çizelgeleme problemini optimize eden çalışmalarında, tüm işlerin tamamlanma sürelerini en küçüklemeyi amaç edinmişlerdir. Önerdikleri algoritmada, 100 iş, 10 katman ve her katmanda 5 işlemciye kadar işlemci içeren 400 problemi test ederek algoritmanın etkin sonuçlar verdiğini göstermişlerdir.

31 16 Uçaner ve Özdemir (2002), içme suyu şebekelerinde ek klorlama optimizasyon çalışması ile ek klorlamanın yapılacağı yerler, klor miktarı ve düzeninin belirlenmesinde GA kullanılarak mevcut klorlama stratejisinin geliştirilebileceğine yönelik bir çalışma yapmışlardır. Böylece su kalitesini artırırken maliyetlerin azaltılacağına işaret edilmektedirler. Wang ve Lu (2002), KKPÇP lere yönelik geliştirdikleri algoritmayı, literatürde karşılaşılan kıyaslamalı bir örnek üzerinde uygulayarak değerlendirmişlerdir. 20 faaliyetten oluşan örnek problemin proje bitirme süresi; kritik yol metoduyla yani kaynak kısıtı göz önüne alınmadan, 32 gün olarak belirlenmiştir. Problemin sonucu, MS Project 2000 programı ile 49 gün olarak belirlenirken, araştırmacılar kendi algoritmaları ile çözümü 46 gün olarak bulmuşlardır. Algoritmanın çalışma süresi 2 3 saniyeden 6 7 saniyeye çıkarıldığında ise proje tamamlama süresi 43 gün olarak belirlenmiştir. Artigues vd. (2003), KKPÇP leri statik ve dinamik ortamlarda yorumlamaktadırlar. Dinamik ortamdaki bir KKPÇP nin, başlangıç konumunda söz konusu edilen parametrelerdeki değişime uyum sağlayabilmesi amacıyla yeni bir algoritma geliştirmişlerdir. Bu uyumlaştırma iki şekilde olmaktadır. Birincisi, değişim olduğunda projenin yeniden çizelgelenmesi, ikincisi ise cari çizelgede değişimi yansıtarak kısmi değişim uygulanmasıdır. Çalışmada değişim; beklenmeyen bir faaliyetin ortaya çıkması olarak ele alınmaktadır. Beklenmeyen bu faaliyetin, statik ve dinamik KKPÇP lere, proje bitirme zamanını optimum edecek şekilde eklemek için, ekleme tekniği (insertion techniques) geliştirmişlerdir. Debels vd. (2003), bu sezgisel çalışmalarında modifiye edilmiş rastgele anahtar temsilini kullanmışlardır. Faaliyetlerin öncüllük ilişkileri göz ardı edilen bu temsilde, öncelik kuralları uygunluğunu sağlamak için, seri SGS kullanarak faaliyetlerin RK (random key-rastgele anahtar) değerini dizi sıra (rank order) değerleri ile değiştirerek öncelik kısıtına uygunluğu sağlanmıştır. Literatürde j30, j60 ve j90 olarak adlandırılan, 30, 60 ve 90 faaliyetli projeler ele alınmıştır. Algoritmanın, j30 problem kümesi için yerel çözümü kısa sürede verdiği

32 17 gözlenmiştir. Diğer büyük problemler kümesi olan j60 ve j90 problemleri için, başka algoritmalarla yarışabilir nitelikte sonuçlar elde edilmiştir. Taşkın (2003), rotalama problemlerini çözmede kullanılan yaklaşımları incelemiş ve GA ile bir uygulama yapmıştır. Yapılan bir dizi deneysel çalışmanın sonunda, literatürü doğrulayan sonuçlar bulunmuştur. Elitist strateji kullanılmadığında, her toplumda bulunan en iyi çözüm değerlerinin bazen kaybedilerek, toplumdaki çözümlerin inişli çıkışlı bir seyir izlediği belirlenmiştir. Çözüme ulaşma zamanının azaltılması ve çözüm kalitesinin daha erken toplumlarda yakalanabilmesi için özellikle büyük ölçekli GSP (Gezgin Satıcı Problemi ) problemlerinde elitist strateji (bakımız alt başlık Uygun Olanların Seçilmesi) oldukça büyük önem taşımaktadır. Genetik parametreler üzerinde çalışma yapılarak, daha iyi çözümlere daha az sayıda toplumlarda ulaşmayı gerçekleştiren parametreler belirlenmiştir. Ke ve Liu (2004); çalışmalarında proje çizelgeleme problemini, faaliyetlerin stokastik faaliyet süreli olduğu ve her bir faaliyetin tamamlanma sınırını aşmayacak varsayımı ile ele almışlardır. Farklı yönetim ihtiyaçlarını karşılayabilecek şekilde çizelgeleme problemini çözmek için, üç farklı stokastik model (beklenen maliyet modeli, α-maliyet modeli ve olasılığı en büyükleme modeli) geliştirilmiştir. Benzetim ve GA modelleri bütünleştirilerek (integrated) melez ve akıllı bir algoritma (hybrid intellgent algorithm) geliştirmeye çalışmışlardır. Algoritmanın etkinliğini göstermek içinde bazı sayısal örnekler tanımlanarak kullanılmıştır. Çalışma sonucu elde edilen bulgular, melez ve akıllı algoritmanın proje çizelgeleme problemlerinde etkin bir şekilde kullanılabileceğini göstermektedir. Kılıç vd. (2004), çalışmalarında risk altında proje çizelgeleme problemi için GA üzerine kurulu sezgisel çözüm yaklaşımları sunmaktadır. Problemde her faaliyetle ilgili olarak tanımlanmış ve gerçekleştiğinde, sadece ilgili faaliyetlerin süresini etkileyen riskler bulunmaktadır. Kaynak kısıtlarının olmadığı varsayılmış ve algoritma iki amacı en iyilemek amacıyla hazırlanmıştır. Bu amaçlar, beklenen proje süresini ve dört bileşenden oluşan beklenen toplam maliyeti en küçüklemektir. Maliyet bileşenleri ise; genel giderler, işçilik maliyeti, risk azaltıcı önlemlerin maliyeti ve gecikme maliyeti olarak ele alınmıştır.

33 18 Kromozomlar üzerinde toplam risk sayısı kadar gen bulunmakta, her bir gen, ilgili risk için seçilmiş olan durumu temsil etmektedir. Rulet tekerleği seçimi, teknokta çaprazlama ve bit mutasyonu operatörleri kullanılmıştır. GA sonuçlarında etkinliği artırmak üzere, iyileştirme algoritmaları geliştirilmiştir. Amaç, kritik olmayan faaliyetlerin risk seviyelerini düşürmek için gereğinden fazla harcama yapmayı engellemektir. Kritik yol üzerindeki faaliyetlerin risk seviyelerini ve dolayısıyla proje süresini değiştirmeden, kritik olmayan faaliyetler için daha az maliyetli risk seviyelerinin seçilmesi sağlanmaktadır. Karşılaştırma yapmak amacıyla GAMS kullanılarak her problem için bir yaklaşık baskın çözümler kümesi oluşturulmuştur. GA koşumlarının sonuçları, 15 faaliyetlik problemler için çok iyidir. Uygulama sonucunda; problem büyüklüğü arttıkça GA nın performansında düşme olduğu, iyileştirme algoritmalarının performansında da gelişme olduğu sonucu çıkarılmıştır. Debels ve Vanhoucke (2005), çalışmalarında GA nın geleneksel başlangıç toplumu yerine iki farklı başlangıç toplumu oluşturarak genetik işlemleri uygulamışlardır. Her iki toplum da seri SGS ile oluşturulmaktadır. Toplumun biri ileriye doğru çizelgeleme, diğeri de geriye doğru çizelgeleme tekniği kullanılarak oluşturulmuştur. Toplumlar, faaliyet listesi şeklinde temsil edilmektedir. Seri SGS ile çizelgeleme esnasında toplumun biri, diğer toplumun bilgisinden yararlanarak değiştirilmektedir. Çalışma sonuçları, şimdiye kadar yapılan sezgisel algoritmalarla kıyaslandığında en iyisi olarak görülebilmektedir. Kim vd. (2005), çözümü zor problem olarak bilinen KKPÇP lerin çözümü için bulanık mantık denetleyicisi (fuzzy logic controller) ile birlikte melez bir GA sunulmuştur. Problemin amaç fonksiyonu, proje tamamlama süresini ve toplam gecikme cezasını en küçüklemek olarak tanımlanmıştır. Bu nedenle, probleme geleneksel en iyileme (optimizasyon) teknikleri ile yaklaşmak oldukça güç olacaktır. Çalışmada problem çözümüne yönelik sunulan yeni yaklaşım, bulanık mantık denetleyicisi ile genetik operatörlerin tasarlanması temeline dayanmaktadır.

34 19 Çalışma sonunda elde edilen bulgular, bu yaklaşımın geleneksel GA ve uyarlanmış GA lardan elde edilen sonuçlardan daha iyisinin elde edildiğini göstermektedir. Kolisch ve Hartmann (2005), çalışmalarını 2000 yılında yine birlikte yaptıkları ve yayınladıkları araştırmalarını (Hartmann ve Kolish,2000) güncellemek amacıyla yapmışlardır. Bu çalışmalarında, literatürde çok sayıda yer alan KKPÇP lere yönelik sezgisel yöntemleri özetlemek ve sınıflandırmak istemişlerdir. Araştırmacılar, böylece özetlenen ve sınıflandırılan sezgisel çalışma sonuçlarının, bundan sonra yapılacak çalışmaların karşılaştırılması ve değerlendirilmesinde kullanılarak nitelikli tartışmaların ve çalışmaların yapılmasını sağlamaya çalışmaktadırlar. Mendes vd. (2005), çalışmalarında kromozomları rastgele anahtar ile temsil etmişlerdir. Çizelgelenecek faaliyetler, sezgisel öncelik kuralları kullanılarak belirlenmektedir. Önerdiği algoritmanın etkinliğini, algoritmanın hesaplama sonuçlarını literatürdeki çalışmalarla kıyaslama yaparak geçerli kılmaktadır.

35 20 ÜÇÜNCÜ BÖLÜM GENETİK ALGORİTMA VE KAVRAMSAL BİLGİLER Çalışmanın bu bölümünde GA nın tanım ve temel kavramlarına, evrimsel genetik işlemlere, bir problemin GA ile çözüm aşamalarına, GA nın yarar ve sakıncalarına yönelik bilgiler verilmektedir Genetik Algoritma ve Önemi GA, deterministik yöntemlerle çözümü zor veya imkânsız olan problemlerin, evrimsel aşamalardan geçirilerek çözülmesini sağlayan bilgisayar programıdır. Karmaşık, kısıt sayısı fazla, amaç fonksiyonu kurulamayan ve kesin çözüm yöntemi olmayan optimizasyon problemleri GA nın ilgi alanına girmektedir. GA lar, çözümü zor optimizasyon problemlerinde, kesin çözüm olmasa bile yaklaşık bir çözümü kısa sürede bulma özelliğine sahiptir.. GA en iyi çözümü, doğal seleksiyon ve doğal genetik aşamalara benzetim yapılmış stokastik bir arama yöntemi ile bulmaktadır. Algoritma, kromozom adı verilen ve rastgele çözüm kümelerinden oluşan bir toplum ile başlar. Başlangıç toplumu daha sonraki üremelerde elde edilen başarılı kromozomlar ile sürekli değişime uğramaktadır (Huang vd.,2005,s ). GA larda değişim, problemin çözüm alternatiflerini artırmak açısından önemlidir. Böylece çözüm uzayı genişletilerek, amaçlanan en iyi çözümü bulma olasılığı artırılmaktadır. GA lar rastgele örneklenen çözüm uzayı ile çalışmaya başlamaktadır. Doğal evrimsel süreç de olduğu gibi; başlangıçta rastgele seçilebilen veriler üzerinde üreme, çaprazlama ve mutasyon şeklinde üç temel işlem yapılmaktadır. Temel işlemler, belirsiz (deterministik olmayan) işlemlerdir, sezgisel ya da rastgele olma özelliği taşımaktadırlar. Dolayısıyla GA lar sezgisel ve stokastik yöntemler olarak kabul edilmektedir Genetik Algoritmanın Temel Kavramları çalışılmıştır. Bu alt başlık altında, GA nın temel kavramlarına yer verilerek açıklanmaya

36 Kromozom (DNA Dizileri) GA, problemin çözüm (kromozom) alternatiflerini içeren çözüm kümesi ile başlatılmaktadır. Her kromozom, temsil ettiği çözüme ait bilgileri içermektedir ve bilgiler bir dizi halinde kodlanmaktadır. Kromozom üzerinde yer alacak bilgiler; GA nın, çözüm uzayında en iyi çözümü araması için gerekli olan bilgilerin tümünü içerecek şekilde tasarlanmalıdır (Mori ve Tseng,1997,s.135). Böylece genetik işlemler ile daha etkili sonuçları üretmek mümkün olmaktadır. Bilgilerin anlam bütünlüğü açısından, kodlamanın önceden belirlenen bir sisteme göre yapılması gerekmektedir. Kromozom kodlamasının, GA nın ilk uygulamalarında, ikili sayı (binary) sistemine göre yapıldığı gözlemlenmektedir. İkili sayı sisteminde hazırlanan bir kromozomda, her bir bit, çözümün bir karakteristiğini temsil etmekte (Chan vd.,2005,s.345) ve bilgisayar tarafından daha rahat ve hızlı bir şekilde işleme tabii tutulmaktadır (Kurt ve Semetay,2001,s.3). Karar değişkenlerinin tamsayı ya da reel olduğu problemlerde, ikili sistemde kodlanan kromozomlarda bitlerden oluşan bir alt dizi, çözümün bir karakteristiği temsil etmektedir. Kromozomların kodlanması, genellikle ikili sayı sistemi temel alınarak kodlansada, tamsayı ve reel sayılar da kullanılmaktadır (Mitchell,1999,s.67). Özellikle, karar değişkeni sayısı fazla ve değişkenin ikili sistemdeki karşılığı uzun olan problemlerde onlu sistemde yapılan kodlama tercih edilmektedir Gen Gen, bir canlının (bireyin) kalıtsal özelliklerinden herhangi birini taşıyan parçadır. Bu nedenle kalıtımın fiziksel ve işlevsel birimi olmaktadır. Her gen, özel bir işlev taşıyan kromozomların belli konumunda bulunan dizilerden/değerlerden oluşmaktadır. Kromozom üzerinde, belli bir konumda bulunan genler, temsil edilen değişkenin değerini ifade etmektedir (Koza,1995,s.287). Her bir karar değişkeninin

37 22 sayısal değeri, bir geni temsil eder. Bir problemde kaç adet karar değişkeni varsa o kadar da gen vardır. Genlerin bir dizi halinde sıralanması ile ortaya çıkan genler dizisine kromozom adı verilmektedir Böylece bir kromozomda, problemdeki karar değişkenlerinin her birinin bir arada bir dizi halinde bulunduğu anlaşılmaktadır (Şen,2004,s.25). Algoritmanın başlangıcında, kromozomlara yerleştirilmesi karar verilen genlerin sırasının GA işlemleri esnasında asla değiştirilmemesi gerekmektedir Toplum Büyüklüğü Toplum büyüklüğünün ne olacağını belirlemek, tüm GA kullanıcıları açısından oldukça önemli bir aşamadır. Toplum büyüklüğü, başka bir deyişle kromozom ya da birey sayısı, GA nın başarısını ya da optimum sonuca erişim süresini etkileyen önemli unsurlardan biridir. Toplum büyüklüğünün gereğinden küçük alınması, GA arama tekniğinin dar bir çözüm uzayında uygulanması anlamını taşımaktadır. Dar çözüm uzayı ise, problemin optimum çözümünün çözüm uzayı dışında kalma ihtimalini artıracaktır. Gereğinden büyük alınması ise, GA nın anlamlı sonuçlara geç ulaşmasına ve yavaş çalışmasına neden olacaktır (Goldberg,1992,s.20; Kurt ve Semetay,2001,s.5). Büyük toplumda çözüm uzayı daha iyi örneklenebileceğinden arama daha etkin yapılırken, arama süresi artacaktır Uygunluk Değeri (f i ) ve Uygunluk Fonksiyonu Mevcut toplumda bulunan iyi özelliklere sahip kromozomların bir sonraki aşama için kullanılacak yeni topluma aktarılması, belirlenen kriterler dâhilinde değerlendirilerek yapılmaktadır. GA da uygunluk değerlendirmesi, bir uygunluk fonksiyonu sonucu elde edilen uygunluk değeri, f i, ile yapılmaktadır. Toplumu oluşturan bireylere ait uygunluk değerlerinin belirlenmesi için genellikle bir fonksiyona ihtiyaç duyulmaktadır. Uygunluk fonksiyonları, türev ya da başka analitik işlemler gerektirmezler ve istenilen şekilde oluşturulabilirler (Chen

38 23 ve Zalzala,1997,s.531). Bazı araştırmacılar, her bir kromozoma doğrudan bir uygunluk değeri atarken, bazılarıda uygunluk değerini bir fonksiyon kullanarak hesaplamaktadırlar (Chan vd.,2005,s.348). Algortimanın hazırlık aşamasında belirlenen uygunluk fonksiyonu ile toplumdaki tüm bireylerin uygunluk değerleri hesaplanır. Böylece n elemanlı toplumda, f i.. f n olmak üzere n adet uygunluk değeri hesaplanmaktadır. Bireylerin uygunluk değerlerine göre üreme, çaprazlama ya da mutasyon işlemleri uygulanmaktadır (Koza,1995.s.287). Çünkü kromozomların kalitesi, uygunluk değerlerine göre ölçülmektedir. Uygunluk değeri en iyi olan kromozom, problemin optimum çözümünü veren kromozomdur (Mori ve Tseng,1997,s.137). Uygunluk değeri yüksek bireylerin seçilerek, yeni oluşturulacak topluma aktarılması, GA nın gücünü oluşturan başlıca faktörlerden biridir (Buckles ve Petry,1992,s.2) Uygun Olanların Seçilmesi Seçim işlemi, yetenekli olanın yaşaması ilkesine uygun olarak çalışmaktadır. Başlangıç toplumundaki kromozomlar arasından, en iyi uygunluk değerine sahip olanlardan bazıları yeni topluma aktarılmakta, bazıları da ebeveyn olarak seçilmektedir. Yeni toplumun diğer kromozomları, ebeveyn olarak seçilen bireylere uygulanan genetik işlemler ile oluşturulmaktadır. Uygunluk değeri en iyi olanların seçilme ve yeni topluma aktarılma şansı daha yüksektir. Seçim yöntemi olarak geliştirilmiş birçok yöntem bulunmaktadır. Ancak elitist strateji, rulet çarkı ve turnuva seçim yöntemleri en yaygın kullanılanlardandır (Yeo ve Agyei,1998,s.271). Elitist strateji kullanılarak uygunluk değeri en iyi olan birey, en kötü birey ile yer değiştirerek yeni toplumun daha iyi bireylerden oluşması sağlanır. Böylece bir yandan en yüksek uygunluk değerine sahip bireyin bir sonraki kuşağa aktarılamama olasılığı ortadan kaldırılırken (Mendes vd.,2005,s.10; Kurt ve Semetay,2001,s.4),

39 24 diğer yandan maksimum ya da ortalama uygunluk değerinde beklenen artışın optimum değere yansıması söz konusu olacaktır (Chen ve Chen,1997,s.1324). Rulet çarkı, ilk defa Holland tarafından ortaya çıkarılmış bir yöntemdir. Bu yöntemde, toplumdaki tüm bireylerin uygunluk değerleri, f i, hesaplanır. Bireylerin uygunluk değerleri toplanarak toplumun uygunluk değeri elde edilir. Her bireyin uygunluk değerleri, toplumun uygunluk değerine bölünerek, bireyin seçilme olasılıkları elde edilir. i F i = n (3.1) j f f j Bireyler, seçilme olasılıkları (F i ) ölçüsünde rulet çarkında yer alırlar. Böylece rulet çarkı üzerinde yüksek olasılık değeri ile temsil edilen bireylerin seçilme olasılıkları artmaktadır. Bu durumda, bireylerin seçilme olasılıkları (F i ), uygunluk değeri olarak kullanılmaktadır. Ebeveynler, rulet çarkı üzerinden farklı yöntemlerle seçilebilmektedir. Seçim, rastgele (Buckles ve Petry,1992,s.2), en yüksek olasılık değerine göre ya da eklemeli oranlardan yararlanılarak yapılabilmektedir. Eklemeli oranlar, seçilme olasılıklarının toplanması ile elde edilmektedir. Uygulamada, rastgele bir sayıya erişinceye kadar eklemeli oranlar elde edilir ve son eklenen sayının ait olduğu çözüm seçilmek suretiyle de işlem tamamlanabilir. Turnuva seçim yöntemi, kolaylığı ve uygunluğu açısından en yaygın olanıdır. Turnuva seçim yönteminde, önce toplumu oluşturan kromozomlardan bazıları, belli kriterlere göre seçilmektedir. Daha sonra, bu kromozomlar kıyaslanarak aralarında uygunluk değeri yüksek olan bir kromozom yeni topluma aktarılmak üzere seçilmektedir. Böylece oluşturulan yeni toplum, bir önceki toplumun kötü bireylerinden arındırılmaya çalışılmaktadır. Optimum çözüme hızlı erişim sağlaması açısından önemli bir yöntemdir.

40 25 Turnuva seçim yönteminde, yerine koyarak ya da koymayarak rastgele seçilen t adet bireyden oluşturulan gruba turnuva genişliği denir (Bolat vd.,2004,s.267). Bu grupta bulunan en iyi birey yeni topluma aktarılır. Bu işlem kullanıcının önceden belirlediği işlem sayısı kadar tekrarlanır. Turnuva seçim yönteminde uyumluların seçilmesi (yeteneklilerin yaşaması) ve uyumsuzların yaşamaması ilkesi temel alınmıştır ve değişik şekillerde seçimler söz konusudur. Örneğin, Tablo 3.1 de gösterilen örnekte olduğu gibi, maliyet en küçükleme (minimizasyon) problemi ele alındığında, bireylerin maliyetleri uygunluk değeri olarak kullanılabilmektedir (Yeo ve Agyei,1998,s.271). Uygunluk değeri belirlenen ve rastgele seçilen t adet bireye, 1 den başlayarak sıra numarası atanır. Daha sonra, sıra numaralarının alt ve üst sınırları içerisinde olmak üzere, rastgele sayılar üretilir. Tablo 3.1 de 1 ve 2. sütunlarda gösterilen sıra numarası ve rastgele sayılardan yararlanarak belirlenen iki bireyin uygunluk değerleri kıyaslanmakta ve en uyumlu olan seçilmektedir. Böylece bireyler arasında en az uyumlu olanlar elenerek optimuma yaklaşım hızlandırılmaktadır. Tablo 3.1. Turnuva Seçim Yöntemine Göre Uyumlu Kromozomların Seçilmesi Sıra No Rastgele Sayılar Uygunluk Değeri (f i - Maliyet) Seçilenler $ $ $ $ $ $ $ $ 5 Kaynak: Yeo ve Agyei,1998,s.271 Örnekte de görüldüğü gibi, sıra no su 6 olan bireyin maliyeti en fazla olduğundan en uyumsuz bireydir. Sıra no su 3 olan birey ise en uyumlu olanıdır. 6 numaralı kromozom sadece kendisi ile kıyaslandığı durumda yaşama şansına sahip olacaktır. Benzer şekilde, 3 numaralı birey sadece kendisi ile kıyaslansaydı, sağ

41 26 kalanlar arasında tekrarlı bir şekilde seçilemeyecekti. Buna rağmen 3 numaralı birey, turnuva seçim yöntemine göre yaşamını garantilemektedir. İkinci en uyumlu birey 1 numaralı kromozomdur. 1 numaralı birey, 3 numaralı ile kıyaslandığında daha az uyumlu olduğundan seçilemeyecektir. 2 no lu birey oldukça uyumsuz olmasına rağmen, kendisinden daha uyumsuz olan 6 no lu bireyle kıyaslandığından yaşama şansına sahip olmaktadır. Yukarıda bahsedilen ve GA uygulamalarında yaygın olarak kullanılan seçim yöntemlerinden hiçbiri, henüz literatürde en iyi seçim stratejisi olarak belirlenememiştir. Bu nedenle, son yıllarda yapılan çalışmalarda bazı araştırmacıların bu seçim stratejilerinden bir karma oluşturdukları gözlenmektedir. Örneğin, çözümü zor (global optimum çözümü olmayan) optimizasyon problemlerinde, rulet çarkı ve elitist stratejinin birlikte uygulandığı bir GA çalışması gerçekleştirilmiştir (Nakamura vd.,2005,s.924). Bazı GA çalışmalarında ise, uyumlu ve uyumsuz ebeveynlerin seçilmesi yolu ile oluşturulan yeni toplumlarda en iyi çözüm aranmaktadır. Bunların dışında, yeni yöntemler geliştirilerek seçme işlemi ve seçilen ebeveynlerden oluşturulacak yeni birey sayısı belirlenmektedir. GA nın doğası gereği, yeni topluma aktarılan en iyi bireyler, toplumlar arasındaki değişimi yansıtmak amacıyla belli sayıda tutulmaktadır. Toplum büyüklüğü sabit tutulan GA larda, genetik işlemlerden yaralanılarak oluşturulacak birey sayısı, k; k = Toplum büyüklüğü (n) - aktarılan uyumlu birey sayısı kadardır. k adet yeni birey, rastgele veya yukarıda belirtilen seçim stratejileri ile seçilen ve eşlenen bireylerden (ebeveynlerden) oluşturulmaktadır. Bu durumda, bir bireyin, tekrarlı bir şekilde ebeveyn oluşumuna olan katkısı denetim altına alınabilmektedir. Bu amaca yönelik olarak kullanılan yöntemlerden biri belirgin (deterministik)

42 27 örnekleme tekniğidir. Bir diğeride, uyumlu (iyi) ve uyumsuz (kötü) kromozomları eşlemektir. Belirgin örnekleme (deterministic sampling) tekniğinde her birey için rastgele C i değeri hesaplanmaktadır. Bireyler, RANDOM fonksiyonundan elde edilen C i sayısı kadar farklı ebeveyn oluşumuna katkıda bulunabilmek amacıyla seçilebilmektedir. F i, i. bireyin bulunduğu toplumdan seçilme olasılığı, l kromozom uzunluğu olmak üzere, C i = RANDOM(F i. l) + 1 şeklindedir (Buckles ve Petry,1992,s.2). F i olasılık değeri, formül (3.1) den hesaplanmaktadır. Burada C i sayısının tamsayı olması önem kazanmaktadır. Bu nedenle tamsayı dönüşümünün yapılması gerekmektedir. Pratikte bazı çalışmalarda, N kromozomlu bir toplumda, uyumlu (iyi) ve uyumsuz (kötü) kromozomlar yarı yarıya ayrılmaktadır. İyi ve kötü kromozom sayıları, N iyi ve N kötü olmak üzere, N iyi = N kötü =N/2 olarak belirlenmektedir. GA çalışmalarında N iyi sayısını, bir sonraki alt başlık (3.3.2) de anlatılan çaprazlama oranına bağlı olarak belirlemek daha uygun olacaktır. Çaprazlama oranı, P c ye bağlı olarak N iyi sayısı, N iyi = P c N ile hesaplanmaktadır. Yukarıdaki örnekte, çaprazlama oranının P c =0,50 olarak seçilerek iyi ve kötü kromozomların yarı yarıya ayrıldığı görülmektedir (Haupt ve Haupt,2004,s.38). Toplumun daha da iyileştirilmesi için, topluma ait bireylerin kendi aralarında eşlenerek GA işlemlerinin rastgele uygulanması gerekmektedir. Bu aşamada

43 28 uygulanabilecek değişik yöntemler kullanılabilmektedir. Bu yöntemlerden başlıcaları aşağıdadır: N iyi adet uygunluk değeri yüksek kromozomlar içerisinden sırası ile en iyisini seçmek ve diğer eşi de N kötü adet uygunluk değeri düşük kromozomlar arasından ratgele seçimle eşleşme yapmak (Mori ve Tseng,1997,s.138). N iyi adet iyi kromozomları olduğu gibi bırakmak ve N kötü adet kötü kromozomlar arasından ratgele seçimle eşleşme yapmak. Böyle bir ayırıma gitmeden kromozomlar arasında sıralı eşleşme yapmak (Şen, 2004,s.80). Kromozomların eşlenmesinde, yukarıda sıralanmayan ve uygulamaya yönelik geliştirilmiş olan daha farklı sezgisel yöntemlerde kullanılabilmektedir Genetik İşlemler ve Genetik Parametreler Birçok problemin çözümünde iyi sonuçlar veren GA, üç temel genetik işlemin uygulanması ile sonuçlandırılmaktadır. Bunlar üreme, çaprazlama ve mutasyon işlemleridir. GA ların vazgeçilemez unsurları olan genetik işlemler; yeni toplumun oluşturulması, uyumlu kromozomların iyi özelliklerinin oluşturulan topluma aktarılması, toplumların bir öncekilerden farklılaştırılması ve çözüm uzayında farklı noktalara erişilmesi amacıyla gerçekleştirilen işlemlerdir. Bu amaçları gerçekleştirebilmek için, seçilen ebeveyn kromozomlara ve bunlardan elde edilen yeni kromozomlara uygulanmaktadır. Algoritmanın, üzerinde genetik işlemler gerçekleştireceği kromozomlar, her bir yeni toplum oluşturma aşamasının başlangıcında seçilmektedir. Bu nedenle seçme işlemi, GA çalışmalarında önemli bir yer tutmaktadır. Genetik işlemler, genetik parametre olarak adlandırılan ve toplum büyüklüğü, çaprazlama oranı ve mutasyon oranı şeklinde sıralanabilen parametrelerden fazlası ile etkilenmektedir. Genetik parametreler, genetik işlemler için bir sınır oluşturma özelliğine sahiptirler. Bu nedenle genetik parametreler genetik işlemlerin etkinliği üzerinde büyük etkiye sahiptirler.

44 29 Bir problem için uygun olarak belirlenen genetik parametre değerleri başka bir problem için etkin sonuç vermeyebilir (Ikeuchi vd.,1998,s.36). Uygun parametreler seçilerek yapılan genetik işlemler sonucunda, global sonuca ulaşma olasılığı artmakta, buna rağmen algoritma global sonucu garanti edememektedir Üreme (Reproduction) Üreme, uygunluk kriterlerine uyan bir kromozomun özelliklerinin, yeni jenerasyona aktarılmasını sağlayan işlemdir. Uygun olarak seçilen kromozom çifti, yeni toplumun bir ya da daha fazla kromozomunun oluşumuna katkıda bulunabilmektedir. Ebeveyn olarak adlandırılan bu kromozom çiftinin özellikleri, üreme sonucunda yeni topluma aktarılmaya çalışılmaktadır. Üreme işlemi sonrasında yeni kromozomlar üzerinde tekrarlı bir şekilde işlem yapılmaması ve yeni toplumda yeni bireylerin ebeveynlerinin birer kopyası olmasını engellemek amacıyla çaprazlama ve gerekirse mutasyon işlemleri uygulanır Çaprazlama (Crossover) Çaprazlama, biyolojik evrimsel süreçte olduğu gibi, ebeveynlerde bulunan genlerin yeni oluşturulan bireylere aktarılmasıdır (Kurt ve Semetay,2005,s.3; Bolat vd.,2004,s.267). İşlem, ebeveyn olarak seçilen kromozomlar üzerinde rastgele belirlenen konum/konumlarda, bilgilerin çapraz bir şekilde yer değiştirilmesi yolu ile gerçekleştirilmektedir. Böylece ebeveynlerin genleri yeni bireylere (çocuklara) kalıtsallaştırılmakta, kromozomlar arasındaki genetik bilgi sürekli olarak değişmektedir. Toplumda bulunan uyumlu kromozomlardan daha uyumlu bireyler elde etmek için çaprazlama ve mutasyon işlemlerinin uygulanması gerekmektedir (Mori ve Tseng,1997,s.138). Çaprazlama işlemi, toplumda bulunan kromozomların belirli bir oranına uygulanmaktadır. Çaprazlama oranı olarak adlandırılan bu oran, algoritmanın başında ya da her yeni toplumu oluşturmadan önce belirlenmektedir. Böylece seçilen ebeveyn kromozomlar, çaprazlama oranı ölçüsünde yeni bireyler oluşturmak üzere çaprazlanırlar. Çaprazlama oranının yüksek olması, toplumda değişime uğrayan kromozom sayısının fazla olacağını diğer bir deyişle, yeni kromozom sayısının artacağını

45 30 göstermektedir (Kahvecioğlu,2004,s.48). Gereğinden yüksek olarak belirlendiği durumda, mevcut toplumda bulunan iyi kromozomların bir sonraki topluma taşınamama riskini doğurması beklenmektedir. Yüksek çaprazlama oranı, çözüm uzayını hızlı bir şekilde aramayı sağlarken diğer yandan da iyi sonuçlar verecek kromozomların atlanmasını ya da GA nın performansının düşmesine neden olabilecektir (Nearchou,1998,s.579). Çaprazlama oranın düşük olarak belirlenmesi halinde ise, değişime uğrayacak kromozom sayısı azalacak ve dolayısıyla algoritma yavaşlayarak sonuca geç ulaşılacaktır. Toplumda N üye varsa, P c çaprazlama oranı olmak üzere, P c N kadar üye çaprazlama için seçilmelidir (Şen,2004,s.92). Bu üyelerin seçimleri, tüm üyeler arasından rastgele bir şekilde yapılabildiği gibi, uyumluların seçilmesi yöntemleri (elitist strateji, rulet çarkı gibi) kullanılarak da yapılabilmektedir. Çaprazlama işleminde ebeveyn olarak seçilen iki kromozomun, çaprazlama konumundan itibaren kromozomdaki karakter/karakterler yer değiştirilebilmektedir. Böylece ebeveynin genlerinden oluşan iki yeni birey oluşturulmaktadır. Aşağıda Şekil 3.1 de verilen çaprazlama örneği, j konumunda tek noktalı çaprazlamadır. Çaprazlama öncesi 1. kromozom [X 1 X 2...X j X j+1 X j+2.. X n ] ve 2. kromozom [Y 1 Y 2...Y j Y j+1 Y j+2..y n ] ebeveyn olmak üzere seçilir. Çaprazlama sonrası 1. yeni kromozom [X 1 X 2...X j Y j+1 Y j+2...y n ] ve. 2. yeni kromozom [Y 1 Y 2...Y j X j+1 X j+2...x n ] şeklinde oluşmaktadır. Şekil 3.1 : Tek Noktalı Çaprazlama İşlemi Problemin tipine göre kullanılması gereken dört farklı çaprazlama operatörü bulunmaktadır (Bolat vd.,2004,s.267): Tek noktalı çaprazlama İki noktalı çaprazlama Çok noktalı çaprazlama

46 31 Tekdüze (Uniform) çaprazlama Tek noktalı çaprazlamada, rastgele seçilen kromozom çiftinde, çaprazlama yapılacak bölge rastgele seçilerek çaprazlama yapılmaktadır. İki noktalı çaprazlamada, kromozom eşleri iki farklı yerden kesilerek üç parçaya ayrılmaktadır. Parçalar karşılıklı olarak yer değiştirilerek çaprazlama yapılmaktadır. Çaprazlama tek bir parçaya uygulanırsa iki yeni kromozom elde edilmektedir. Rastgele seçilen iki parçaya uygulanırsa, dört yeni kromozom elde edilmektedir. Çaprazlama üç parçaya da uygulanırsa altı yeni kromozom elde edilmektedir. Çok noktalı çaprazlama yöntemi ise, iki nokta çaprazlama mantığına dayanmaktadır ve daha fazla noktalardan dolayı kromozomlar daha fazla parçalara ayrılmaktadır. Parçalar, çiftler arasında karşılıklı değiştirilerek yeni kromozomlar elde edilmektedir. Bu çaprazlama yönteminde de çok sayıda yeni kromozom elde edilebilmektedir. Eğer parça sayısı n ise, n 2 kadar yeni kromozom elde edilebilmektedir (Şen,2004,s87). Çok noktalı çaprazlama yöntemleri ile elde edilebilecek kromozomların tamamını oluşturmak ya da kullanmak bir zorunluluk değildir. Bunlardan bir kısmı, rastgele seçimle yeni topluma aktarılabilmektedir. Ya da sadece, kromozomlar arasında belirlenen sayıda parçalara çaprazlama uygulanarak, yeni oluşturulan birey sayısı denetlenebilmektedir. Tekdüze (Uniform) çaprazlama yöntemi, kromozomda rastgele seçilen bitlerin karşılıklı olarak yer değiştirmesi mantığına dayanmaktadır. Rastgele değişimi sağlamak amacıyla, kromozomların bit sayısına eşit uzunlukta çaprazlama maskesi kullanılmaktadır. Maske, ikili sayı sisteminde rastgele oluşturulan bir dizidir. Tekdüze çaprazlama, çaprazlama maskesinin ilgili geni yerine, birinci ve ikinci kromozoma karşılık gelen genlerin kopyalanması mantığına dayanmaktadır. Tekdüze çaprazlamada birinci kromozom, maskede 1 kodu görüldüğü yere, 1. kromozomda karşılık gelen gen kopyalanırken; 0 (sıfır) kodu görüldüğü yere ikinci kromozomdaki karşılığı kopyalanarak oluşturulmaktadır. İkinci kromozom da benzer şekilde

47 32 oluşturulmaktadır. Bu kromozom için, maskedeki 1 lerin karşılığı ikinci kromozomdan, sıfırların karşılığına da birinci kromozomdaki karşılıkları taşınarak oluşum sağlanmaktadır (Bolat vd.,2004,s.268). Tekdüze çaprazlama yöntemi, yeni oluşturulan kromozomlar üzerindeki bütün genlerin, ebeveyn kromozomlardan taşınma olasılıklarının eşitliği ilkesine dayanmaktadır. İkili sayı sisteminde ve tekdüze çaprazlama yönteminde oluşturulan maske yerine, 0 1 arasında rastgele olasılık değerlerinden oluşan diziler kullanılabilmektedir. Çaprazlama ile oluşturulan kromozomun geni, olasılık değeri 0,5 in altında ise anneden, 0,5 in üstünde ise babadan taşınmaktadır. Yukarıda anlatılan çaprazlama operatörleri, aşağıdaki Şekil 3.2 de örneklerle gösterilmektedir. Çaprazlama öncesi seçilen kromozomlar: 1.kromozom : [ ] 2.kromozom : [ ] Çaprazlama çeşitlerine göre oluşan kromozomlar: Tek noktalı çaprazlama İki noktalı çaprazlama Çok noktalı çaprazlama Tekdüze çaprazlama maske: [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Şekil 3.2 : Çaprazlama Çeşitleri ve Örnekleri Kaynak : Bolat vd.,2004,s.268 Yapılan araştırmalarda, tekdüze çaprazlama yönteminin tek ve iki noktalı çaprazlamadan daha etkin olduğu saptanmıştır. İki noktalı çaprazlamanın da tek noktalı çaprazlamadan daha etkin olduğu saptanmıştır (Haupt ve Haupt,2004,s.112). Bunun nedeni, tekdüze çaprazlamanın diğer çaprazlama yöntemlerinin genel bir hali oluşudur Mutasyon (Mutation) GA da kullanılan mutasyon (değişim), doğal genetik mutasyon fikrinden ortaya çıkmıştır. Kromozomların başkalaştırılması ya da farklılaştırılması için

48 33 kullanılan bir operatördür (Chan vd.,2005,s.349). Çaprazlama işlemi ile elde edilemeyecek farklılıkları oluşturmak amacıyla yapılmaktadır. Böylece ebeveynlerden oluşan bireylerin, daha önceki bireyleri temsil etmesi önlenerek, sonuca daha hızlı bir şekilde erişme imkânı sağlanabilmektedir (Kurt ve Semetay,2001,s.3). Mutasyon, kromozomdaki genlerin değişimidir (Buckles ve Petry,1992,s.2) ve problemin yapısına bağlı olarak aşağıdaki mutasyon operatörlerinden biri seçilebilir (Bolat vd.,2004,s.268): Ters çevirme Yer değişikliği Ekleme Karşılıklı değişim Mutasyon çeşitlerinin, ikili sistemde kodlanan bir kromozom üzerinde uygulanmasına ilişkin örnekler Şekil 3.3 de verilmektedir. Yukarıda belirtilmeyen ve kromozomdaki genlerin tamamlayıcısı (complement) ile değiştirilmesi şeklinde yapılan mutasyon işlemi, ikili sayı sistemine göre yapılan kodlamalarda yoğun kullanılan bir yöntemdir (Buckles ve Petry,1992,s.2). Yöntemde, rastgele seçilen bir alt dizede; 0 lar 1 ile 1 ler de 0 ile değiştirilmektedir. Ters çevirme mutasyonunda, rastgele bir alt dizi seçilir ve alt dizideki genlerin sıraları tamamen ters çevrilerek bulunduğu yere yeniden yerleştirilmektedir. Yer değişikliği mutasyonunda, rastgele bir alt dizi seçilir ve rastgele bir yere yerleştirilmektedir. Karşılıklı değişim mutasyonuda rastgele seçilen iki genin yerleri değiştirilmektedir. Eklemede ise rastgele seçilen parça yine rastgele seçilen bir konuma yerleştirilir (Bolat vd.,2004,s.268). Her hangi bir konumda yapılan bir genetik değişim asla geri alınamaz ya da değiştirilemez (Mitchell,1999,s.118). Mutasyonun bu özelliği nedeniyle bazı iyi kromozomların tahrip edilmemesi göz önünde bulundurulmalıdır. Ebeveynlerin

49 34 kromozom yapıları benzediği bazı durumlarda mutasyon uygulanabilmektedir (Chan vd.,2005,s.349). Mutasyon öncesi seçilen kromozom: [ ] Mutasyon sonrası oluşan kromozom: Ters çevirme Yer değişikliği Ekleme Karşılıklı değişim [ ] [ ] [ ] [ ] Şekil 3.3 : Mutasyon Çeşitleri ve Örnekleri Kaynak : Bolat vd.,2004,s.269 Mutasyon, çaprazlama işlemini takip eden bir işlemdir ve bir bireyde rastgele değişimi sağlayarak yeni birey oluşmasına olanak verir. Belirli mutasyon oranlarına göre, kromozom üzerinde bazı genlerin yerleri ile oynanayarak ya da genleri değiştirerek uygulanır. P m mutasyon oranı ve l kromozom uzunluğu olmak üzere, aşağıda verilen formül sonucu olan tamsayı değeri; l. P m tamsayı bir kromozom içinde sol baştan hangi karakterde mutasyon yapılacağına karar vermek amacıyla kullanılmaktadır (Şen,2004,s.93). Mutasyon oranı (P m ), algoritmanın başında ya da her jenerasyon başında belirlenmektedir. Bir toplumda yaklaşık olarak (P m.n.l) adet karakterde mutasyon meydana gelmektedir. Burada, N toplum büyüklüğü ve l kromozom uzunluğudur. GA nın tamamen rastgele olmasından kaçınmak için mutasyon oranını çok yüksek seçilmemesi gerekir. Mutasyon oranını çok yüksek seçilmesi, arama işleminde aşırı rastgeleliğe sebep olurken, çözüm uzayının da aşırı farklılaşma riskini artıracaktır. Benzer şekilde düşük oran ise düşük farklılaşma ve optimuma yakın çözümler üretilmesine neden olacaktır (Nearchou,1998,s.579). Bir çok araştırmacı, uygun P m oranının 1/N P m ve P m 1/ l olmasını önermektedir (Yeo ve Agyei, s.273).

50 35 Mutasyon ile değişime maruz kalan bir gende (değişkende), λ gen uzunluğu olmak üzere, beklenen değişim; E(G), λ 1 1 E ( G) = i λ 1 2 i= formülü ile hesaplanmaktadır ve değişken değerinde çok fazla bir değişime neden olmamaktadır. Örneğin gen uzunluğu λ=4 bit ise E(G)=1/4( ) = kadar bir değişim beklenmektedir. Böylece mutasyon ile çözüm uzayı dışındaki farklı noktalara sıçrayarak, algoritmanın daha ayrıntılı araştırma yapmasına olanak tanınmaktadır. Pratik çalışmalarda, algoritmanın tamamen rastgele olmasını engellemek amacıyla mutasyon oranı, P m değerinin 0,01 ile 0,001 arasında alındığı görülmektedir (Şen,2004,s.91) Genetik Algoritmanın Sonlandırma Koşulu GA nın bulanık olan yanlarından biri sonlandırma aşamasıdır. Bir GA nın kaç kez yinelendiği, yani jenerasyon sayısının ne olacağı konusunda kesin bir yaklaşım mevcut bulunmamaktadır (Mitchell ve Taylor,1999,s.595). GA da bulunan evrim sürecinden dolayı, kesin çözüm elde edilip edilemediği bilinememektedir. Ancak en iyi çözüme devamlı bir şekilde yaklaşıldığı bilinmektedir (Uçaner ve Özdemir, 2002, s.157). Daha iyi olarak seçilen bu toplumdaki çözüm kümesinin daha iyi sonuçlar üretmesi Darwin in evrim sürecini yansıtmaktadır. Bu süreç, istenen çözüm sağlanıncaya kadar ya da istenilen yineleme (iterasyon, jenerasyon) sayısı tamamlana kadar devam etmektedir. Yaygın olarak kullanılan sonlandırma kriteri olan jenerasyon (iterasyon) sayısı, problemin yapısı ve çözüm uzayının büyüklüğü olmak üzere iki faktöre bağlı olarak belirlenmektedir (Chan vd.,2005,s.350).

51 36 GA nın sonlandırılması konusunda diğer bir yaklaşımda, jenerasyonlarda elde edilen sonuçlar arasında bir fark kalmadığında ya da önceden belirlenen bir değere yakınsadığında sonlandırılmasıdır (Haupt ve Haupt,2004,s.47; Kahvecioğlu,2004,s.43). Jenerasyonlar arasında bir fark kalmadığı durumu ise; kromozomların uygunluk değerlerinin birbirinden farklı olmaması (tüm i ve j ler için, f i =f j ise ) şeklinde ifade edilmektedir (Buckles ve Petry,1992,s.2). Bu durumda, artık oluşturulan yeni toplumlarda bir değişim olmadığı, dolayısıyla uygunluk değerlerinin bir önceki toplumla aynı olduğu anlamına gelmektedir. Önceden belirlenen bir değere yakınsadığında sonlandırılması durumu ise çoğunlukla pratikte uygun olmayan bir durumdur. Ancak test amacıyla, çözümü önceden bilinen problemlerde kullanılabilmektedir. GA yı sonlandırmak amacıyla kullanılabilecek en iyi tercihler; seçilen en iyi kromozom, bilinen en iyi çözüme ulaştığında, jenerasyonlarda tekrarlı bir şekilde, en iyi kromozom aynı olduğunda, belirlenen istatistiksel değerlere erişildiğinde (toplum maliyet ortalaması, standart sapması), belirlenen jenerasyon sayısı tamamlandığında, jenerasyon sonuçları açısından bir gelişme olmadığında, optimuma yakın bir değere erişildiğinde şeklinde olmaktadır (Haupt ve Haupt,2004,s.109). GA nın karar değişkenleri çözüm uzayında gezintisi sırasında, amaç fonksiyonunda değişik değerleri gözden geçirişini sınırlandırmak amacıyla, farklı kriterler önerilmektedir. Sıkça kullanılan sonlandırma kriterleri, iterasyon sayısı, yeni toplumlar (nesiller) için oluşturulan çocuk (offspring) sayısı (Wang ve Lu,2002,s.1979) ve algoritmanın çalışma süresidir (Naphade vd.1997,s.308; Brucker vd.1999,s.18).

52 37 Uygulamalarda kullanılan sonlandırma kriterlerinden bir diğeri de, art arda oluşturulan toplumların en iyi amaç fonksiyonu değerleri arasında, bağıl (göreceli) bir farkın kalmaması durumudur. Algoritmada oluşturulan toplumların, daha iyi çözümlere erişip erişemediği bağıl hata değeri α ile ölçülmektedir. Toplumların en iyi amaç fonksiyonu değerleri H 1 ve H 2 arasındaki bağıl hata, aşağıda verilen formül ile hesaplanabilir. α = 100 H 1 H H 2 2 Eğer α<5 ise GA işlemlerine son verilir. Aksi halde, yeni toplumlar ve bu toplumlar içinde genetik işlemlerle çözüm uzayında farklı noktalara ulaşılmaya çalışılır (Şen,2004,s.93). Algoritma eğer iyi bir çözüme yakınsama yapmıyorsa, GA parametrelerinde değişim yapılabilir. Çaprazlama yöntemi, toplum büyüklüğü, kromozomun kodlama sistemi ya da mutasyon oranı gibi parametrelerin değiştirilmesi ile GA yeniden denenir (Haupt ve Haupt,2004,s.109) Genetik Algoritma Aşamaları ve Akış Şeması Algoritma, toplum adı ile anılan bir çözüm, diğer bir ifadeyle kromozom kümesi ile başlar. İyi olan başlangıç toplumundan yararlanarak, uygunluk durumlarına göre seçilen çözümlerden yeni ve daha iyi bir toplum oluşturulur Genetik Algoritma Aşamaları En basit bir GA aşağıda belirtilen süreçlerden oluşmaktadır (Mitchell ve Taylor, 1999,s.594): 1. Toplum oluşturulması: Verilen karmaşık problemlerin aday çözümlerinden (kromozom) oluşan bir toplum oluşturulmasıdır. Kromozomlar, 0 ya da 1 bitlerinden oluşan bir dizi şeklinde ile tanımlanmaktadır. 2. Uygunluk değerlendirmesi: Toplumdaki her bir kromozoma sayısal bir değer atayan uygunluk fonksiyonu, kromozom kalitesini, aday çözüm olup olmayacağı şeklinde ölçer. 3. Yeni toplum oluşturulması: Yeni toplum oluşturulması için genetik operatörlerin toplumdaki kromozomlara uygulanmasıdır. Bu operatörler; seçim, çaprazlama ve mutasyondur.

53 38 Tipik bir GA aşağıdaki aşamaları gerçekleştirmektedir (Mitchell ve Taylor,1999,s.594): 1. N kromozomdan oluşan başlangıç toplumunun rastgele oluşturulması. 2. Toplumdaki her bir kromozoma ait f i uygunluk değerinin hesaplanması. 3. Yeni toplum oluşuncaya kadar (n-birey oluşuncaya kadar) aşağıdaki adımları izleyerek çözümlerin yapısının genetik işlemlerle değiştirilmesi gerekmektedir. i) Bir ebeveyn çiftinin mevcut toplumdan seçimidir. Seçilme olasılığı, uygunluk fonksiyonuna bağlı olarak artar ya da azalır. ii) Yeni bir bireyi oluşturmak için, bir ebeveynin bir çaprazlama olasılığı ile çaprazlanması. Eğer çaprazlanma olmazsa, yeni ürün anne ya da babanın bir kopyası olacaktır. iii) Yeni ürünün mutasyon olasılığına göre kromozom içindeki konumu (lokus) değiştirilir ve bu yeni ürün, yeni topluma dâhil edilir. Örnek olarak ikili sayı sisteminde kodlanan kromozomda mutasyon, mevcut 0 değerini 1 olarak değiştirmek demektir. 4. Mevcut toplumun, oluşturulan yeni toplum ile değiştirilmesi Adıma gidilmesi adımlar arasında gerçekleştirilen her bir yineleme, bir jenerasyon ya da yeni toplumu oluşturan bir üreme sürecidir. Her bir üreme sürecinde bir ya da daha fazla uygun kromozom oluşacaktır. Bu oluşum ise, her yeni toplumun bir öncekinden daha iyi olacağını göstermektedir. Basit bir GA benzer şekilde, başlangıç toplumu göz önünde bulundurularak, aşağıda verildiği gibi dört aşamalı olarak açıklanmaktadır (Vose,1999,s.44): 1. İki ebeveynin, seçme fonksiyonu (ya da seçim kriteri) uygulayarak seçilmesi. 2. Çaprazlama işlemi ile ebeveynlerin mutasyona uğramış çocuğunun yani yeni bireyin üretilmesi. 3. Yeni bireyin bir sonraki jenerasyona dâhil edilmesi. 4. Bir sonraki jenerasyonun (toplumun) üye sayısı, r gibi bir sayıdan küçükse, adım 1 den başlanarak işlemin devam edilmesi.

54 39 Sonuç olarak GA lar, belirlenen başlangıç çözüm (kromozom) kümesine genetik işlemlerin uygulanması ile oluşturulan yeni çözüm kümelerinde, amaç fonksiyonunun değişik değerlerini gözden geçirme işleminden ibarettir Genetik Algoritma Akış Şeması GA lar başlangıç toplumuna uygulanacak her bir genetik işlemlere yönelik kararların alınması ve yordamlarının (procedure) önceden belirlenmesi koşuluyla hazırlanırlar. Algoritma Şekil 3.4 deki akış şemasında da gösterildiği gibi işlemler sırasını takip etmektedir.

55 40 Başlama Başlangıç toplumu oluşturma Uygunluk değerlerinin hesaplanması Genetik işlemlerin uygulanması Seçme Çaprazlama Mutasyon Yeni toplumu oluşturma Hayır Sonlandırma kriteri Evet Bitiş Şekil 3.4: GA Akış Şeması

56 41 Basit bir GA nın başarısı; aday çözümlerin nasıl kodlanacağına, toplum büyüklüğüne, seçim, çaprazlama ve mutasyon operatörlerinin olasılık ve detaylarına ilaveten, maksimum üreme sayısı (iterasyon) gibi detaylara bağlıdır (Mitchell ve Taylor, 1999,s.594) Genetik Algoritmanın Yararları ve Sakıncaları GA literatürü çok sayıda başarılı uygulamaların varlığını gösterirken, birçok uygulamada da GA nın zayıf ya da yetersiz sonuçlar verdiği gözlenmiştir (Mitchell,1999,s.155). GA nın hangi koşullarda ve uygulamalarda iyi sonuçlar vereceği konusunda kesin bir şey söylemek kolay olmamaktadır. Şimdiye kadar gerçekleştirilen uygulamalar, GA nın başarısının birden fazla kritere bağlı olduğunu göstermektedir. Başarılı sonuç elde etmek amacıyla belirlenen bu kriterler; aday çözümlerin kodlanması yöntemi, operatörler ve kabul edilen parametreler olarak tanımlanmaktadır. Uygunluk fonksiyonunun verimli ve hassas olması, GA nın başarısında oldukça önemli yer tutmaktadır (Bolat vd.,2004,s.267). Çünkü uygunluk fonksiyonları kromozomları problemin parametreleri haline getirmekte ve bunlara göre hesaplama ya da değerlendirme yapılmaktadır. Geleneksel optimizasyon yaklaşımları başarısızlığa uğradığında, GA nın getirdiği yararlar merak uyandırmış ve şaşırtıcı sonuçlar vermiştir. GA kullanılmasının başlıca yararları aşağıda belirtilmektedir (Haupt ve Haupt,2004,s.23-24): 1. GA nın sürekli ya da kesikli değişkenler içeren optimizasyon problemlerinde optimum sonuçlar vermesi. 2. İkincil (derivative) bilgiye gereksinim duyulmaması. 3. Çok sayıdaki değişkenleri kapsayan modellerde uygulanabilmesi. 4. Çözümleri geniş çözüm uzaylarında eş zamanlı bir şekilde taraması. 5. Oldukça karmaşık maliyet/kar fonksiyonlarının değişkenlerini optimize edebilmesi. 6. Kodlanan değişkenlerde optimizasyonun yapılması. 7. Üretilen, deneysel verilerle ya da analitik fonksiyonlar ile çalışması.

57 42 Optimizasyon problemlerinde GA nın kullanılmasının üç önemli yararı mevcuttur (Chen ve Chen,1997,1323): 1. Optimum sonuç elde edildikten sonra, duyarlılık analizinin yapılmasına gerek duyulmamasıdır. Duyarlılık hesaplamaları genellikle zor ve zaman gerektiren işlemlerdir. Ticari yazılımlar kullanılarak hesaplanması ise genellikle imkânsızdır. 2. Karma değişkenli problemlerin çözümünde kolaylık sağlamasıdır. GA nın kodlama sistemi nedeniyle, problemde bulunan sürekli değişkenler, istenilen doğruluğa yaklaşmaktadır. 3. Global optimumu bulma olasılığının daha yüksek olmasıdır. Oluşturulan her yeni toplumda daha uyumlu bireylerle global optimum çözüme erişme şansı her yinelemede artacaktır. GA nın başarısı, genlerde kodlanan bilginin, genetik işlemler ve özellikle çaprazlama ile genlerin sürekli farklı kombinasyonlarda bir araya gelmesi ve bunlar içerisinden en başarılı sonucu verenlerin seçilmesi ilkesine dayanmaktadır. GA nın sakıncaları ise, sürekli ya da karma değişkenli problemlerde optimuma yakın çözümlerin elde edilmesidir. Bunun sebebi de sürekli değişkenlerin, kesikli değişken olarak yaklaşık değerine kodlanması mantığına dayanmaktadır (Chen ve Chen,1997,1324). Gerçek optimal değeri elde etmek için GA ve diğer arama yöntemlerinden birini içeren karma (hybrid) bir yöntem kullanmak gerekmektedir. Diğer bir sakıncada, GA nın bir fonksiyonu tekrarlı olarak hesaplamasıdır. Uygunluk fonksiyonu, (jenerasyon sayısı x toplum büyüklüğü) sayısı kadar hesaplanmak zorundadır. GA nın sakıncalarından bir başkası da; en iyi çözümün mevcut çözümler arasından seçilmesi nedeniyle, göreceli olmasıdır. Bu durum, ulaşılan çözümün en iyi çözüm olup olmadığının kontrol edilmesine imkân vermeyebilir. Bu nedenle GA lar en iyi çözümün ne olacağının bilinmemesi durumunda kullanılmaktadır (Şen,2004,s.63).

58 Genetik Algoritmanın Diğer Yöntemlerle Kıyaslanması Genetik tabanlı algoritmaya dayanan uygulamalar, GA nın geleneksel en iyileme (optimizasyon) yöntemlerinden daha üstün olduğunu göstermektedir (Chen ve Zalzala,1997,s.531). Konu edilen problem geniş ve karmaşık bir yapı içerdiğinde, eldeki bilgilerin araştırma alanını daraltmada yetersiz kaldığı durumlarda ya da geleneksel arama yöntemleri ile etkin sonuç alınamadığı durumlarda GA lardan yararlanılmaktadır (Bolat vd.,2004,s.265) GA nın en iyileme problemlerindeki üstünlükleri göz önüne alındığında, özellikle karmaşık optimizasyon problemlerinin çözümünde neden tercih edildiği daha iyi anlaşılmaktadır (Kahvecioğlu,2004,s.44 50): 1. GA lar parametrenin kendisi ile değil parametre kümesinin kodlanmasıyla çalışmaktadır. f(x) amaç fonksiyonunu en iyileme problemlerinde, x parametresi; sonlu uzunlukta bir dizi olarak kodlanmaktadır. En iyileme, bu kod kümesi ile elde edilmeye çalışılmaktadır. 2. GA tek bir noktada ya da yönde değil, noktalar kümesi içinde en iyi değeri araştırmaktadır. Algoritmanın bu özelliği, araştırma esnasında her seferinde daha iyi sonuçlara ulaşılmasını garantilemektedir. 3. GA lar amaç fonksiyonu dışında yardımcı bilgilere ihtiyaç duymazlar. Verimli bir araştırma yapılması, her bir dizinin (kromozomun) değerlendirilebileceği bir amaç fonksiyonun tanımlanmasına bağlıdır. Bu da GA nın performansını artıran önemli bir özelliktir. 4. GA lar kesin bilinen kuralları değil, olasılığa dayalı kuralları kullanmaktadır. Rastgele seçim tekniği kullanılarak, araştırma uzayının başka bir tarafına yönlenme yapılmaktadır Genetik Algoritmanın Uygulama Alanları GA, son yıllarda geliştirilmiş olup, geniş bir alanda uygulamaya başlanmıştır. Bilgisayar bilimi, robot bilim, işletme, mühendislik, eğitim, matematik, tıp ve ziraat gibi geniş bir yelpazede uygulama örnekleri ile karşılaşılmaktadır.

59 44 Genetik işlemlere dayanan algoritma, bilimsel ve mühendislik uygulamalarında ve modellerinde karşılaşılan çok sayıda ve farklı problemlere uyumlaştırılarak hazırlanmaktadır. GA uygulama alanlarından bazılarını aşağıdaki gibi sıralayabiliriz (Mitchell,1999,s.15-16). Optimizasyon: GA lar devre şemaları (circuit layout) ve iş-atölye planlamaları gibi sayısal ve birleştirici (combinatorial) optimizasyon problemlerini içeren çok çeşitli alanlarda kullanılmaktadır. Otomatik Programlama: GA lar özel amaçlı bilgisayar programlarının geliştirilmesinde, hücresel hareketliler (cell automata) ve ağ sıralanması (sorting networks) gibi hesaplamaya dayalı yapıların tasarımında kullanılmaktadır. Yapay Zaka ile Öğrenme (Machine Learning): GA lar hava durumu ve protein yapısını önceden tahmin gibi sınıflandırma ve öngörü işlerini içeren yapay zaka ile öğrenme uygulamalarında kullanılmaktadır. GA lar aynı zamanda sinir ağlarının ağırlıkları, sınıflayıcı sistemlerin (classifier system) kuralları ya da sembolik üretim sistemleri ve robotlar için algılayıcılar gibi yapay zeka ile öğrenmenin çeşitli özelliklerini geliştirmekte de kullanılmaktadır. Ekonomik: GA lar yenilik yaratma (innovation) işlemlerinin modellenmesinde, teklif verme stratejilerinin geliştirilmesinde ve ekonomik pazarların geliştirilmesinde kullanılmaktadır. Sosyal Sistemler: GA lar böcek kolonilerindeki sosyal davranışın evrimi ve daha genel olarak, çok temsilcili (multi agent) sistemlerde işbirliği ve iletişimin gelişmesi gibi çeşitli sosyal sistemlerin evrimsel yönlerini araştırmakta kullanılmaktadır. Toplum Genetiği (Population Genetics): GA lar, üreme (recombination) yoluyla yeni nesillere (toplumlara) aktarılan ve ebeveynden geçen kalıtsal özelliklerin evrimsel yönünün araştırılmasında kullanılmaktadır.

60 45 Evrim ve Öğrenme (Evolution and Learning): GA lar kişisel öğrenmenin ve nesilden nesile öğrenmenin birbirlerini nasıl etkilediğini araştırmakta kullanılmaktadır. Yukarıda anlatılan ve daha birçok alanda GA uygulamalarının başarılı sonuçlar vermesi, hem araştırmacıların konuya ilgisini daha da artırmış hem de GA nın konferans ve yayınlarda bilgisayar biliminin bir alt dalı haline gelmesini sağlamıştır. Birçok yapısal optimizasyon problemleri GA ile başarılı bir şekilde çözülebilmektedir (Chen ve Chen,1997,s.1323). Özellikle optimizasyon problemlerinde, daha etkin sonuçlar elde etmek için GA ile başka teknikler bir arada, diğer bir deyişle karma GA lar kullanılmıştır. Bir grup araştırmacı ise, GA yı bulanık mantık tekniği ile bir arada kullanarak, belirsizlikleri aşmaya çalışmışlardır. Buna örnek olarak, tedarik zincirinde talep dalgalanmalarından kaynaklanan belirsizliklerin aşılması çalışması verilebilir (Chan vd.,2005,s.345) Genetik Algoritmayı Kullanma Nedenleri GA lar başlangıç çözüm kümesinden başlayarak, sonraki yinelemelerinde rastgele değişimle yeni çözüm kümeleri oluşturmakta ve en iyi çözüm, bu kümeler içerisinde rastgele aranmaktadır. Bu özelliği nedeniyle GA lar, uygunluk fonksiyonunu en iyileyen çözümleri hızlı bir şekilde aramakta ve diğer optimizasyon algoritmalarının yetersiz kaldığı, karmaşık problemlerin çözümünde etkili olduğu bilinmektedir Özellikle kaynak kısıtlı proje çizelgeleme gibi problemlerde faaliyet sayıları açısından herhangi bir kısıt yaşanmamakta; bu nedenlede, çözümü zor olan bu tarz problemlerde algoritmayı kullanma ihtiyacı doğmaktadır. GA lar, aşağıda belirtilen koşullardan biriyle karşı karşıya kalındığında, kullanımı faydalı ve etkili olacaktır: Araştırma alanı geniş, karmaşık ve anlaşılması zayıfsa.

61 46 Konu hakkında bilgi az ya da mevcut bilgiler araştırma alanını daraltmada yetersiz kalıyorsa Deterministik yöntemler ile çözüm zor ve uzun hesaplamalar sonunda elde ediliyorsa. Geleneksel yöntemlerden yararlanarak hazırlanan paket programlar yetersiz kalıyorsa. Problemin modelini kurmak için gereken bilgilere ulaşılamıyorsa. GA yı kullanma ihtiyacı, yukarıda belirtilen koşullar dışında da görülmektedir. Aşağıda sıralanan GA yı kullanım nedenleri, yetersiz koşullardan kaynaklanmayıp GA nın özelliklerinden kaynaklanan nedenlerdir. Bunlar (Çetin,2002,s.5): GA, doğadaki evrimsel süreci temel alan bir arama yöntemidir. Bir veri grubundan özel bir veriyi aramak ve bulmak için kullanılmaktadır. GA lar özellikle araştırmacı kesin konu uzmanı olmadığı zamanlarda çok yardımcı olmaktadırlar. Çünkü GA lar kendi alanlarını araştırma ve o alandan bilgi edinmede yeteneklidirler. GA lar, değerlendirme için yeni ve daha iyi sonuçlar üretmenin yanı sıra var olan potansiyel sonuçları değerlendirmek içinde tasarlandıklarından dolayı başka alternatifler için büyük yardım sağlamaktadırlar. GA lar klasik yöntemlerin çok uzun zamanda yapacakları işleri kısa bir sürede çok net olmasa da yeterli doğrulukta yapabilmektedirler. Çözümü zor problemleri çözmede etkili olmaktadırlar. Optimizasyon problemlerinde oldukça etkili olmaktadırlar. Problem çözümündeki kullanışlılığı, algoritmayı diğer araştırma (sıralı ya da rastgele) yöntemlerinden daha fazla öne çıkarmaktadır.

62 47 DÖRDÜNCÜ BÖLÜM İKİ VE ON TABANLI GENETİK ALGORİTMALAR Bu bölümde literatürde uygulamaları gerçekleştirilmiş, on ve iki tabanlı GA türleri detaylı incelenecektir. Algoritmanın tasarım aşaması, GA türüne karar verilmesiyle başlamaktadır. GA da kullanılacak karar değişkenleri ve amaç fonksiyonu hesaplamalarında gerekli bilgilerin kromozomlarda temsil edilmesi, problemin yapısı, karar değişkenlerinin sayısı ve sınırları gibi unsurlar göz önünde bulundurularak ele alınacaktır İki Tabanlı Genetik Algoritmalar GA lar çözüm uzayını rastgele tarayarak en iyi çözümü arayan yöntemlerdir. Çözüm uzayından rastgele seçilen çözümler ile başlangıç toplumu oluşturulur. Toplumdaki bireyler eşlenerek, ebeveynler oluşturulur. Kalıtım yoluyla ebeveynlerin özelliklerinin yeni topluma aktarılması sağlanır. Böylece daha uygun bireylerden oluşan yeni toplumların oluşması sağlanır. Yeni toplum oluşumunda, bir önceki toplum üyelerinden bazıları kaybedilir ve onların yerine yeni ve daha uyumlu bireyler oluşturulur. Toplum üyeleri arasında gerekli genetik işlemlerin uygulanması ile çözüme daha yakın yeni toplum elde edilmektedir. Bu üyeler çözüme daha yakın karar değişkeni değerleridir. Algoritmadaki her bir iterasyon ile çözüme daha yakın karar değişkeni değerlerini arama işlemi gerçekleştirilmektedir. İki tabanlı GA larda toplumdaki kromozomlar, bitlerlerden oluşan sayı dizisi şeklinde kodlanmaktadır. Diğer bir deyişle, kromozomlar, iki tabanlı sayı sistemi (binary system) kullanılarak kodlama yapılmaktadır. GA uygulamalarının başlangıç dönemlerinde, hesaplama açısından kolaylık sağladığından genellikle iki tabanlı GA lar kullanılmaktaydı. Ancak son yıllarda, GA ların birçok alanda uygulanması ve büyük değerler içeren karar değişkenlerinin bu sistemde temsil edilmesinin güçleşmesinden dolayı, on tabanlı sayı sistemine dayanan GA lar daha yaygın olarak kullanılmaktadır. İkili sistem, değişkenlerin tamsayı içerdiği durumlarda tercih edilir. Aksi halde algoritma optimuma yakın olan yerel değer verecektir (Şen,2004,s.75).

63 48 Optimum değeri yani evrensel (global) değerin elde edilmesi, değişkenlerin tamsayı içerdiği ya da değişkenlerdeki ondalıklı kısımlarının önem kazanmadığı durumlarda söz konusu olacaktır Değişkenler ve Amaç Fonksiyonu Seçimi GA ların ilk aşaması, en iyi çözüm değerleri bulunması istenen değişkenlerin kromozom şeklinde tanımlanması ile başlar. Bir problemin her karar değişkeni bir geni temsil ettiğinden ve her bir gen ikili sayı sisteminde bir dizi oluşturduğundan, n genden oluşan kromozom; K = d d,... d 1, 2 n şeklinde tanımlanabilir. Kromozom oluşumunda, değişken sayısı, n nin gereğinden fazla kullanılması, işlemlerin uzamasına neden olurken evrensel sonuca erişimi de engelleyecektir. Bu nedenle GA larda değişken dizilerini temsil eden uygun kromozomların oluşturulması büyük önem taşımaktadır (Şen,2004,s.70). Algoritmada toplum T, i.kromozom K i ve gen g i,j ile temsil edilmek üzere, K 1 g 1,1 g 1,2 g 1,n K 2 g 2,1 g 2,2 g 2,n Toplum T = K 3 = g 3,1 g 3,1 g 3,n.... K n g n,1 g n,1 g n,n şeklinde matris (matematiksel) ya da array (bilgisayar algoritmasında) olarak tanımlanır. Toplum T yi oluşturan kromozomların gen (karar değişkeni) sıraları, GA işlemleri süresince asla değiştirilmemesi gerekmektedir. n genden oluşan bir (d 1,d 2, d n ) kromozom, problemin amaç fonksiyonundan elde edilen H değerine sahiptir. Amaç fonksiyonu değeri H, bir çözüm alternatifini temsil etmektedir. Toplum T de her bir kromozoma karşılık gelen ve amaç fonksiyonundan hesaplanan bir H değeri vardır. i. kromozom K i ye ait amaç fonksiyonu değeri H i ;

64 49 H i =h(k i )=f(d 1,d 2, d n ) şeklinde, problemin amaç fonksiyonundan elde edilmektedir. GA larda, amaç fonksiyonu hesaplamaları kromozomlardan yararlanılarak yapıldığından, fonksiyon ne kadar karmaşık olursa olsun, uzun ve zaman alıcı işlemlere ihtiyaç duyulmayacaktır. Sadece başlangıç toplumu oluştururken gerek duyulabilecek uzun hesaplamalardan, istenildiğinde kaçınmak mümkündür. Bu durumda, başlangıç toplumu kromozomlarının rastgele oluşturulması gerekmektedir. GA larda başlangıç toplumu oluşturulurken ikiz (aynı) kromozomlarla karşılaşılabilmektedir. Toplumdaki ikiz kromozomlar, çoğu zaman GA nın çözüm uzayında yaptığı arama işlemlerini yavaşlatarak en iyi çözüme ulaşmasını engelleyecektir. İki tabanlı GA larda ikiz kromozom oluşma olasılığı on tabanlı algoritmalardan daha yüksektir. Başlangıç toplumundaki ikiz kromozomların oluşmasını önlemek amacıyla bir takım yöntemler kullanılmaktadır. Bunlar (Şen,2004,s.72): 1. Kromozomdaki her genin ilk karakterini farklılaştırılması yoluyla. Gen1 Gen2 Gen3 1XX.X 1XX X 1XX X 1XX.X 1XX X 0XX X 1XX.X 0XX X 1XX X 1XX.X 0XX X 0XX X 0XX.X 1XX X 1XX X 0XX.X 1XX X 0XX X 0XX.X 0XX X 1XX X 0XX.X 0XX X 0XX X 2. Kromozomdaki bir genin tüm karakterlerinin birbirinden kesin olarak farklılaştırılması yoluyla.

65 50 Kromozomlar: 111XXXXXXXX X 110XXXXXXXX X 101XXXXXXXX X 100XXXXXXXX X 011XXXXXXXX X 010XXXXXXXX X 001XXXXXXXX X 000XXXXXXXX X Örnekte başlangıç konumda bulunduğu ve üç karakterden oluştuğu varsayılan genlerin birbirinden tamamen farklı olmasını sağlamak için oluşturulan 2 3 =8 farklı gen, birbirinden farklı kromozom oluşumunu sağlamaktadır. Yukarıdaki ya da benzer şekildeki yöntemleri kullanarak başlangıç toplumunun oluşturulması, algoritma sürecinde amaç fonksiyonlarını tekrarlı bir şekilde hesaplama maliyetini ortadan kaldıracaktır. Toplumdaki kromozomları farklılaştıran bu tür işlemler, sonraki toplumların oluşumunda kullanılmamalıdır. Başlangıç toplumu dışındaki toplumlarda kromozom farklılaştırılması, algoritmanın evrimsel mantığına aykırı düşmeyen yöntemlerle yapılmalıdır. Örneğin, ikiz olarak oluşan kromozom, yeni topluma aktarılmayarak yerine yeni kromozom oluşturmak suretiyle toplum bireylerinin başkalaştırlması sağlanabilmektedir. İkiz kromozomların belirlenmesi, her problem için uygun olmayabilir ya da tercih edilmeyebilir. Problemin yapısı ve amaç fonksiyonu değerlendirilerek algoritmaya ilave edilmelidir. Amaç fonksiyonunun hesaplanmasının zaman alıcı olmadığı bazı problemlerde, ikiz kromozomların varlığını araştırmak daha maliyetli olabilir. Amaç fonksiyonunun hesaplanmasının zor ve zaman alıcı olduğu problemlerde, yeni oluşturulan toplumlarda amaç fonksiyonunun ikiz kromozomlarda tekrarlı bir şekilde hesaplanmaması için, sadece değişen kromozomların amaç fonksiyonları hesaplanabilir. İkiz kromozomların amaç fonksiyonu değerleri, ikizlerinden elde edilebilir.

66 Amaç Fonksiyonu ve Uygunluk Kriteri Algoritmada toplumları oluşturulurken, uygunluk değeri yüksek olan kromozomlar yeni topluma aktarılmaktadır. Karar uzayının değişik noktalarından oluşan toplumda, her bir kromozomun aranılan çözüme ne kadar yaklaştığını belirlemek için mutlaka bir fonksiyon gereklidir. Kromozomların uygunluk değerleri, problem için tanımlanan bir uygunluk fonksiyonundan ya da bazı problemlerde, doğrudan amaç fonksiyonu değerinden saptanabilir. Uygunluk foksiyonu, kromozomların amaç fonksiyonu değerleri kullanılarak belirlenmektedir. Dolayısıyla bu iki fonksiyon arasında mutlaka bir ilişkiye ihtiyaç duyulmaktadır. f(x) uygunluk fonksiyonu ve h(x) amaç fonksiyonu olmak üzere, iki fonksiyon arasındaki ilişki, f(x)=f[h(x)] (4.1) şeklinde tanımlanabilmektedir. Formül (4.1) deki F dönüşümü tüm karar değişkenleri için negatif olmamalıdır. Buradan i. karar değişkeninin uygunluk fonksiyonu; f h( x ) i ( xi ) = n (4.2) j= 1 h( x ) j şeklinde hesaplanabilmektedir. Formül (4.2) den elde edilen uygunluk değeri; o karar değişkeninin, toplam içinde bulunma olasılığını (yüzdesini) vermektedir. Belirtilen fonksiyonda negatif değerli amaç fonksiyonu değerlerinin toplama katkıda bulunmadığı görülmektedir. Bu nedenle bu fonksiyon, tüm karar değişkenlerinin amaç fonksiyonlarının pozitif olduğu durumlarda kullanılabilmektedir. değeri, Amaç fonksiyonlarının negatif değer içermesi durumunda, f(x i ) uygunluk

67 52 f(x i )=a.h(x i ) + b (4.3) şeklinde, doğrusal fonksiyon ile hesaplanabilir. Formül (4.3) de, a ve b sırası ile ölçekleme ve öteleme katsayılarıdır. Optimizasyon problemlerinde en küçükleme olması durumunda a nın işareti eksi (-), en büyükleme problemlerinde ise artı (+) olmaktadır (Şen,2004,s.74). Uygunluk değerlerinde kullanılan bir başka yaklaşımda, amaç fonksiyonu değerlerinin amaca göre sıralanması ve bu sıraya göre üstün olanların seçilmesidir İki Tabanlı Sistemden On Tabanlı Sisteme Dönüşüm GA da ikili sayı sistemi ile çalışılmaya karar verildiğinde, karar değişkenlerinin genellikle on tabanlı sayı sisteminde olan değerlerini ikili sayı sistemine dönüştüren bir yordamı (procedure) hazırlamak gerekmektedir (Reeves ve Rove,2003,s.23). İkili sistemdeki algoritma sonucunun anlaşılması ve yorumlanması için de ikili sayı sisteminden onlu sayı sisteme dönüşüm yordamına ihtiyaç duyulmaktadır. Dönüşüm yordamları, GA ile kullanıcı arasında bir ara yüz görevini görmektedir. İkili sistemdeki (d k d k-1..d 0. d -1 d -2..d -M ) 2 sayısının onluk sistemde karşılığı D ye dönüşümü; l ikili sayı sistemindeki kromozomun tamsayı kısmını oluşturan bit dizisinin uzunluğu, M kromozomun kesirli kısmını oluşturan bit dizisinin uzunluğu, R=2 ve l = k+1 olmak üzere, k D = d i R i= M i = d -M R -M + + d 0 R 0 + d 1 R d 0 R 0 ] (4.4) = [d -0 R d k R k ] + [ d -1 R d -M R -M ] formülü ile gerçekleştirilmektedir. Formül (4.4) deki hesaplama işlemlerini azaltarak, on tabanlı sayıya dönüşüm yapılması amacıyla kullanılan diğer bir dönüşüm formülü ise,

68 53 D=((..d k R+d k-1 )*R +d k-2 )*R +d 1 )*R+d 0 ) + =((..d -M R -1 +d -M+11 )*R -1 +d M+2 )*R d- 1 )*R -1 ) eşitliği ile ifade edilir (Sorenson,1976,s.22). İkili sistemdeki sayının onluk sisteme dönüşümü için geken yordam, Sorenson (1976) da önerilen dönüşüm algoritmasından esinlenerek hazırlanmış ve aşağıda verilmiştir. Algoritmada, onluk sistemdeki sayı; IResult, FResult ve Result olmak üzere üç değişkende hesaplanmaktadır. IResult tamsayı ve FResult da kesirli kısmın hesaplama işlemleri için kullanılan değişkenlerdir. 1. [Başlangıç tanımları] Set Result IResult FResult 0 2. [Tam sayı kısmının dönüşümü] Repeat step 3 for i=k,k-1,.,0 3. Set IResult IResult *R+ d i 4. [Kesirli kısmını hesalama] Set IResult IResult *R+ d i Repeat step 5 for i=-m, -M+1,...,-1 5. [Hesaplama] Set FResult I(FResult + d i )/R 6. [Sonlandırma ] Set Result IResult + FResult Exit. GA larda kullanılan tüm karar değişkenlerinin tamsayı olması halinde, kesirli kısma ait hesaplamaların yapıldığı 4 ve 5. adımlar algoritmaya ilave edilmemektedir Değişken Temsili İki tabanlı GA lar oldukça geniş, ancak sonlu olan çözüm uzayında çalışmaktadırlar. Sonlu çözüm uzayı ise kromozomlardan oluşmaktadır. Algoritmada başlangıç toplumunun tanımlanması gerektiğinden, değişkenlerin (genlerin) kromozom içerisinde ne şekilde ve nasıl tanımlanacağına baştan karar verilmesi gerekmektedir. Bu nedenle, algoritmanın başlangıcında, her bir değişkenin kromozom içindeki konumuna ve kaç karakter uzunluğunda olacağına, dolayısıyla kromozom uzunluğuna karar verilmektedir.

69 54 İkili sayı sisteminde kullanılacak değişkenlerin uzunlukları (bit sayısı), iki ya da ikinin katları olmak zorundadır. Ancak genlerin uzunlukları ile ilgili böyle bir kısıt söz konusu değildir. Kişisel bilgisayarların makine dili, ikili sayı sistemini kullandığından, değişkenler 2 n uzunluğunda olmalıdır. Aksi durumda, değişkenlerin alt ve üst sınırlarına yönelik kısıtlar doğru tanımlanamıyacaktır. Bir değişkenin alt ve üst sınırları bilinen bir problemde; değişkeni temsil eden genin uzunluğu, aşağıda verilen (4.4) nolu formülle belirlenebilir. Formülde, l gen uzunluğunu, b değişkenin alabileceği üst sınırı ve a değişkenin alabileceği alt sınırı temsil etmektedir. b a =1 (4.4) l 2 1 Örneğin çözüm uzayı, V={x:x {0,1,...,32}} olarak alındığında, çözüm değerleri [0,32] aralığındaki tamsayılardan oluştuğundan, ln2 l =ln32 ise, ln32= ln2 5 ve ln2 l = ln2 5 olup, l =5 dir (Reeves ve Rove,2003,s.24). Böylece bu değişkenin çözüm uzayında doğru bir şekilde tanımlanabilmesi için, gen uzunluğu en az 5 karakter olmalıdır. Formül (4.4) deki eşitliğin sağ tarafında bulunan 1 değeri, hassasiyet ya da doğruluk derecesidir. Bu hassasiyet derecesi değişkenden değişkene farklı değerler alabilmektedir. Pratikte GA uygulamalarında, 2 3 =8 ya da 2 4 =16 karakter uzunluğunda genlerin tercih edildiği saptanmıştır. Genlerin ikili sayı sisteminde tanımlandığı bir GA uygulamasında, amaç fonksiyonunun ikili sayı sisteminde olması gerekmemektedir ve bu fonksiyon için on tabanlı sayı sisteminden yararlanılmaktadır (Şen,2004,s.75).

70 Gri Kodlama Özellikle büyük değer içeren karar değişkenlerinin iki tabanlı sayı sisteminde temsili, GA çözümlemesinin hızını yavaşlatabilir. Örneğin, aşağıda belirtilen kromozomların orta genleri göz önüne alındığında, İki tabanlı sayı sistemi On tabanlı sayı sistemi orta genlerin birbirlerini tamamlayan (complement) bitlerden oluştuğu görülmektedir. Örnekte, 4. konuma tek noktalı çaprazlama işlemi uygulandığında, çaprazlama sonucunda kromozomların bir hayli farklılaştığı görülmektedir. Aşağıda da gösterildiği gibi, birbirine çok yakın değer içeren ebeveynden üretilen bireylerin hedef değerleri, çözüm uzayında oldukça farklı noktalara yönlendirme yapmaktadır (Haupt ve Haupt,2004,s.104). İki tabanlı sayı sistemi On tabanlı sayı sistem Değişken değerlerinde gözlenen bu denli çaplı değişim, kromozom uzunluğu arttıkça daha da büyüyecektir. Buna benzer durumlardan kaçınmak için karar değişkenlerinin gri kodlama ile kodlanması, global çözüme erişimi sağlayacaktır. Gri kodlamada iki tabanlı ardışık sayıların aralarındaki Hamming mesafesi - Hamming distance 1 (bir) olacak şekilde kodlanmaktadır. Diğer bir deyiş ile iki kromozomun farklılaşan bit sayısı 1 olacaktır (Haupt ve Haupt,2004,s.104). Aynı örnek gri kodlama ile yapıldığında, İki tabanlı sistem On tabanlı sistem

71 56 çaprazlama sonrasında bir değişim olmadığı, yani en iyi çözümün ebeveyn çözümlerde olduğu görülmektedir. İkili sayı sisteminde ve l =3 uzunluğundaki değerlerin, on tabanlı sistemdeki karşılıkları ve gri kodları, Tablo 4.1 de verilmiştir. Tablo 4.1: l = 3 Uzunluğundaki Sayıların Gri Kodlar İkili sistem Onlu sistem (tamsayı) Gri kod Kaynak: Reeves ve Rowe,2003,s.98 Tablo 4.1 de de görüldüğü gibi, gri kodlamada, ardışık sayıların Hamming mesafeleri birdir. Ancak ikili sistemde yapılan kodlamada Hamming mesafeler değişmektedir. Örneğin onlu sistemdeki 3 ve 4 sayılarına ait ikili sisteme karşılık gelen kodların Hamming mesafesi 3 tür İki Tabanlı Sayı ile Gri Kod Arasında Dönüşüm İki tabanlı sayıların gri koda ya da gri kodlu sayıların iki tabanlı sisteme dönüşümünde, XOR (exclusive OR) mantıksal komutu temel işlem olarak kullanılmaktadır. XOR komutu, AND ve OR gibi diğer mantıksal komutlara benzer şekilde çalışır. XOR komutu, ilk operand ile ikinci operandı, XOR mantıksal işleminden geçirir ve sonucu ilk operanda atar. İşlem aşağıda belirtildiği şekilde uygulanmaktadır. Eğer işlem gören bitler aynı ise sonuç 0 (sıfır), farklı ise sonuç 1 olmaktadır.

72 57 1 XOR 1=0 1 XOR 0=1 0 XOR 1=1 0 XOR 0=0 İki tabanlı sayı sisteminden gri koda dönüşümde, önce ikili sistemdeki sayının soldan birinci karakteri olduğu gibi aktarılmaktadır. Daha sonra, iki tabanlı sayı sistemindeki sayının ilk iki karakterine XOR işlemi uygulanır ve sonuç gri kodun ikinci karakteri olarak kaydedilir. İki tabanlı sayı sisteminde XOR komutu uygulanan son karakter ile bir sonraki karaktere XOR komutu uygulanarak gri kod karşılıklarının bulunmasına devam edilmektedir. İşlem akışı, Şekil 4.1 de oklarla gösterilmektedir. İki tabanlı sayı 1 1 Gri kodu 0 XOR 1 0 XOR 0 0 XOR 0 0 XOR 0 Şekil 4.1 : İki Tabanlı Sayının Gri Koda Dönüşümü Kaynak : Haupt ve Haupt,2004,s.105 Gri kodlu bir sayının iki tabanlı sayı sistemine dönüşümü Şekil 4.2 de oklarla gösterilmektedir. Başlangıçta, gri kodlu sayının soldan birinci karakteri olduğu gibi aktarılır. İlk iki karakterine XOR komutu uygulanarak, iki tabanlı sistemdeki ikinci karakter belirlenir. Daha sonra, iki tabanlı sistemde elde edilen son karakter ile gri kodun bir sonraki karakterine XOR komutu uygulanır. İkili sistemde elde edilen son karakterle, gri kodun bir sonraki karakterine XOR komutu uygulanarak işlem tamamlanmaktadır. İşlem akışı, Şekil 4.2 de oklarla gösterilmektedir.

73 58 Gri kodlu sayı İki tabanlı sayı XOR 0 0 XOR 0 0 XOR 0 0 XOR 0 Şekil 4.2 : Gri Kodun İki Tabanlı Sayıya Dönüşümü Kaynak : Haupt ve Haupt,2004,s.106 Gri kodlama, her zaman ikili kodlama sistemine göre GA işlemlerinin hızını artırmaktadır (Reeves ve Rowe,2003,s.102). Bazı araştırmacılar tarafından gerçekleştirilen çalışmalarda, gri kodlamanın, GA çalışmalarında ikili sisteme göre %10-%20 oranında zaman tasarrufu sağladığı belirlenmiştir (Şen,2004,s.96) On Tabanlı Genetik Algoritmalar İkili sayı sistemi birçok uygulamada kullanılmasına rağmen, bazı hassas çalışmalarda istenilen sonuca ulaşmak mümkün olamamaktadır. Değişkenlerin sürekli olduğu uygulamalarda ondalık sayı sistemi kullanılmaktadır. Değişken sayısının fazla olduğu durumlarda kromozomların uzunluğu çok fazla artacağından, ikili sayı sisteminde sonuca erişim çok daha zaman alıcı olacaktır (Haupt ve Haupt,2004,s.51) Ondalıklı sayısal değer içeren sürekli karar değişkenlerinin iki tabanlı sayı sistemine dönüştürülmesi aşamasında, değişkenlerin yaklaşık değer alması bazı çalışmalarda istenmeyen sonuçların elde edilmesine neden olmaktadır. Bu durumda algoritmanın, iki tabanlı yerine on tabanlı sayı sistemi ile çalışması arzu edilmektedir.

74 59 On tabanlı GA larda, her değişkenin ondalıklı sayı sistemi ile temsil edilmesi gerekmektedir. Böylece on tabanlı sayıların iki tabanlı sayı sistemine dönüşümü gerekmediğinden, algoritmanın çalışma zamanı azalacaktır. Diğer yandan, algoritmanın başlangıcında, değişkenlerin uzunluğunun belirlenmesi şeklindeki ön çalışmalara gerek duyulmayacaktır. Özellikle değişken sayısının fazla ve değişken değerlerlerinin büyük olduğu uygulamalarda, on tabanlı sistemler ikili sayı sistemine göre daha hızlı global sonuca erişimi sağlayacaktır Değişken Temsili ve Amaç Fonksiyonu Algoritma, iki tabanlı sistemde olduğu gibi on tabanlı sistemde de, amaç fonksiyonunun optimum değerini aramaktadır. Problemde n değişken varsa, başlangıç toplumunda kromozomlar; K= [d 1, d 2 d n ] şeklinde oluşturulmaktadır. Burada d i, i. değişkenin ondalıklı sayı olarak gösterildiğini ifade etmektedir. Her bir kromozoma karşılık gelen amaç fonksiyonu h(k) dan hesaplanan amaç fonksiyonu değeri,h ise, H=h(K)=h(d 1, d 2 d n ) şeklinde hesaplanır. Örneğin x ve y olmak üzere iki değişkenli problemlerde, K=[x,y ] her bir kromozomu temsil ederken, H=h(x,y) de her bir kromozomun amaç fonksiyonu değerini temsil eder Başlangıç Toplumu Çalışmanın başında GA nın yapısı gereği, başlangıç toplumunun oluşturulması gerekmektedir. Başlangıç toplumu oluşumunda, ikili tabanlı GA larda olduğu gibi toplumun büyüklüğü ve değişken sayısının belirlenmesi gerekmektedir. Bu tespitler yapıldıktan sonra, belirlenen ve bundan sonraki tüm iterasyonlarda da

75 60 sabit tutulacak toplum büyüklüğünde kromozomlardan oluşacak başlangıç toplumu hazırlanmaktadır. Başlangıç toplumun oluşturulması aşamasında, değişkenlerin alt ve üst limitleri göz önünde bulundurularak, alabilecekleri değerlerin rastgele bir şekilde oluşturulması gerekmektedir. N top x N değ (Toplumdaki kromozom sayısı x Problemin karar değişkeni sayısı) boyutunda matris şeklinde başlangıç toplumunun elemanları; a değişkenlerin alt sınırını, b değişkenlerin üst sınırını ve RAND() komutu da, 0 ile 1 arasında rastgele sürekli sayı üreten fonksiyonu temsil etmek üzere, (b-a). RAND()+a ya da (b-a). RAND().a formüllerinden biri ile rastgele oluşturulabilmektedir. Başlangıç toplumunun oluşturulması sırasında başka bir yöntem ya da başlangıç değerleri kullanılabilir. Ancak değerlerin rastgele oluşumuna özen gösterilmesi gerekmektedir. İkili sayı sistemleri için, oluşturulacak başlangıç toplumunda rastgele üretilen sayıların 0 ya da 1 olması için, Yuvarlat komutuna gerek duyulacaktır. Başlangıç toplumu bir matris ya da array şeklinde gösterildiğinde; matrisin her bir sütunu (ya da array in her bir elemanı) bir değişkeni temsil edecektir. Başlangıçta daha iyi kromozomlarla çalışmak mümkündür. Bu durumda daha fazla rastgele kromozom üretilerek, amaç fonksiyonu değerlerine göre içlerinden daha iyi olanları seçilebilmektedir. Yani başlangıç toplumu basit bir eleme işlemi ile oluşturulabilir. Uygulanacak ön işlem, algoritmanın yineleme sayısını azaltacaktır. Evrimsel hesaplama ile ilgili yapılan bazı çalışmalarda, sıralı ağların evrimsel değişiminde kalabalık ve parazit aday çözümler kavramı kullanılmıştır. Rastgele oluşturulan toplumlarda, ağ sırasının evrimsel değişiminden dolayı çok sayıda istenmeyen (parazit) aday çözümlerin uygunluk fonksiyonlarının yeniden hesaplanmasına dikkat çekmişlerdir. Başlangıç toplumu ve diğer toplumların uygun ağ yapısını temsil edecek karar değişkenlerini içermesi için, GA bünyesine düzeltici işlemlerin dahil edilmesi gerekmektedir (Melanie ve Taylor,1999,s ).

76 Seçme İşlemi Seçme işleminde amaç, GA işlemlerinde kullanılacak kromozomların (başlangıç matrisindeki satırların) seçilmesidir. Bu nedenle başlangıç toplumundaki kromozomların, amaç fonksiyonuna bağlı olarak en büyük/en küçük değerlerine göre seçimi yapılmaktadır (Haupt ve Haupt,2004,s.54). Başlangıç toplumunda oluşturulan N top adet kromozomdan, N iyi adet kromozom N iyi N top olmak üzere uygunluk fonksiyonu (ya da amaç fonksiyonuna) bağlı olarak seçilmektedir. Seçilemeyen ( N top - N iyi = N kötü ) adet kromozom ise ayıklanarak, sonraki aşamalarda genetik işlemlere tabii tutulmazlar ve yeni toplumlara aktarılmazlar. Seçme işlemi ile iyi genlere sahip olduğu varsayılan N iyi adet kromozom, rastgele olarak tespit edilen bir sayıda, çoğu zaman da yarı yarıya, anne ve baba kromozom olarak ayrılırlar. Oluşturulacak yeni bireylerin, anne ve babanın iyi genlerini taşımaları amacıyla, rastgele eşleştirme ile oluşturulan ebeveynlerden doğacak çocukların iyi gen taşıması için genetik işlemler uygulanır (Wang ve Lu,2002,s.1979). Seçme işlemi, kötü genlere sahip olduğu varsayılan ve bu nedenle elenen, ( N top - N iyi ) adet daha iyi (sağlıklı) yeni kromozom üretilinceye kadar devam ettirilmelidir. Değişik eşleme yöntemleri vardır. Bunlar (Haupt ve Haupt,2004,s.38): 1. Tepeden aşağıya eşleme 2. Rastgele eşleme 3. Ağırlıklı rastgele eşleme (Weighted random pairing) 4. Turnuva eşleme (Tournament pairing) dir. Tepeden aşağıya eşleme: Bu modelde N iyi adet iyi kromozomdan oluşan listenin (havuzun) başından başlanarak kromozomlar eşlenmeye çalışılır. Kromozomların sıra numaraları, tek sayı ve çift sayı sıra numaralı olmalarına göre iki ayrı parçaya ayrılır. Anne kromozom(tek sayılar) : 1,3,5.

77 62 Baba kromozom(çift sayılar) : 2,4.6. şeklinde sayılardan oluşur. Böylece algoritma, tek ve çift sayılardan oluşan kromozomları eşlemektedir. Bu model doğayı iyi modelleyememekle beraber, programlaması oldukça kolaydır. Rastgele eşleme: Bu model, kromozomları seçmek için tekdüze (üniform) rastgele sayı üreticisi kullanmaktadır. Eşlenecek ebeveynin satır numaraları, aşağıda belirtilen işlemlerle (komutlarla) elde edilmektedir. RAND(1, N iyi ) komutu, verilen parametreler arasında olmak üzere, ratgele bir sayı üretir. Yuvarlat komutu ise; rastgele üretilen değeri, bir sonraki en büyük tamsayıya yuvarlamaktadır. Anne= Yuvarlat(N iyi *RAND(1, N iyi );0) Baba= Yuvarlat(N iyi *RAND(1, N iyi );0) Ağırlıklı rastgele eşleme: Havuzda bekleyen kromozomlara, amaç değerleriyle orantılı olasılıklar atanmaktadır. Maliyet en küçükleme problemlerinde, en küçük amaç fonksiyonu değerine sahip kromozom, eşleşmek için en büyük olasılığa sahip olmaktadır. Rastgele bir sayı, hangi kromozomun seçileceğini göstermektedir. Bu tür ağırlıklı yaklaşımlar, genellikle ağırlıklı rulet çarkı (roulette wheel weighting) olarak adlandırılmaktadır. Sıra (rank) ve hedef ağırlıklı olmak üzere iki farklı yaklaşım mevcuttur. a) Sıra (Rank) Ağırlıklı: Bu yaklaşım, problemden bağımsızdır ve kromozomların değerleri, sıralarına göre hesaplanmaktadır. Kromozomlar amaç fonksiyonundan elde edilen uygunluk değerlerine göre sıralanırlar. İçlerinden N iyi adet kromozom seçilerek, 1 den n ye kadar sıralanmaktadır. n kromozom sıra (rank) numarası olmak üzere, kromozomların seçilme olasılıkları, P n = N iyi n + 1 N iyi i= 1 n formülü ile hesaplanır. Kromozomların olasılıklarının hesaplanmasının ardından, birikimli olasılıkları da hesaplanarak, kromozom seçimi yapılmaktadır.

78 63 Her bir kromozomun olasılıkları hesaplandıktan sonra, 0 ile 1 arasında rastgele bir sayı üretilmektedir. Üretilen sayı, r, listenin başlangıcından itibaren, kromozomların birikimli olasılıkları ile kıyaslanmaktadır. Birikimli olasılığı, r sayısından büyük ya da r sayısına eşit olan ilk kromozom eşleştirme amacıyla seçilmektedir. Seçme işlemi, seçilecek kromozom sayısı kadar gerçekleştirilmektedir. Seçilen kromozomlardan sırası ile çiftler oluşturularak ebeveynler belirlenmektedir. Eğer bir kromozom tekrar kendisi ile eşlenmek üzere seçilirse; seçilen kromozomun bırakılması ve işlemlere onsuz devam edilmesi, rastgele bir şekilde başka bir kromozomun seçilmesi, aynı ağırlıklı tekniğin kullanılarak başka bir kromozomun seçilmesi şeklinde farklı yöntemler kullanılabilmektedir. Programlama açısından, sıra ağırlıklı teknik tepeden aşağı eşleme tekniğinden biraz daha güçtür. Ancak olasılıkların sadece bir kez hesaplama gerektirmesi nedeniyle, rank tekniğine olan eğilim daha fazladır. b) Hedef Ağırlıklı: Bu yöntemde kromozomların olasılıkları amaç fonksiyonu değerleri ile hesaplanmaktadır. Örneğin maliyet küçükleme problemlerinde; her bir kromozomun maliyetinden; dışlanan kromozomların içerisinden seçilen en düşük maliyet çıkarılarak, elde edilen normalleştirilmiş maliyetler ile hesaplama yapılmaktadır. C n = c n C min Nkötü Burada; (C Nkötü ) : dışlanan kromozomların içerisinde en düşük maliyeti c n temsil etmektedir. : n. kromozomun maliyetini (amaç fonksiyonunu değeri) (C kötü ) değerini çıkarılarak tüm maliyetlerin pozitif olması sağlanmaktadır. Kromozom olasılıkları ise,

79 64 Cn P n = N iyi = Cm m 1 formülü ile hesaplanmaktadır (Şen,2004,s.83). Daha sonra, 0 ile 1 arasında rastgele üretilen sayılara eşit ya da en yakın büyüklükte olasılığa sahip ilk kromozom eşlenmek amacıyla seçilmektedir. İkinci kromozomda bu şekilde seçilerek ebeveyn oluşturulmaktadır. Böylece istenilen sayıda ebeveyn oluşumu tamamlanmaktadır. Maliyet problemlerinde olasılıkları en düşük olanın seçilmesi arzu edilirken, kar amaçlı problemlerde olasılıkları en yüksek olan tercih edilecektir. Dolayısıyla (C kötü ) burada dışlanan kromozomların en yüksek değerini temsil edecektir. Turnuva seçimi: Bu yaklaşımda, doğadaki seçime benzer şekilde, bekleme havuzundan rastgele ve küçük olmak üzere bir kromozom alt kümesi oluşturulmaktadır. Oluşturulan alt kümede, en iyi amaç (ya da uygunluk) değerine sahip olan kromozomlar ebeveyn olarak seçilmektedir. Her ebeveyn seçiminde, turnuva işlemi tekrarlanmaktadır. Turnuva seçimi, toplumun sıralı olmasını gerektirmediğinden, iyi çiftleri ortaya çıkarabilen ve büyük toplumlar için uygun olan bir yöntemdir. Genetik operatörlerin uygulanacağı kromozomların seçilmesi, yukarıda sayılanların dışında sezgisel olarakda yapılabilmektedir. Bazı uygulamalarda, arama yüzeyini daha geniş tutmak amacıyla, N iyi ve N kötü şeklinde, uygunluk fonksiyonlarına göre ayrılan kromozomlar rastgele bir şekilde, biri iyi diğeri kötü olmak üzere kromozom kümesinden alınarak ebeveyn kromozomlar oluşturulmaktadır (Ren,2003,s.345). n kromozom sıra (rank) numarası olmak üzere, Başka bir yöntem ise, klasik gen mutasyonu yerine birkaç adet rastgele oluşturulan kromozomları ilave ederek yeni toplumu oluşturmaktadır (Mendes vd.,2005,s.11). Şekil 4.3 de de gösterildiği gibi, yapılan bu işlemle yeni toplumun erken yakınsaması önlenmeye çalışılmaktadır. Bazı GA uygulamalarında, optimum çözüme erken yakınsama, çözüm uzayında aramanın yönünü daha kötü çözümler

80 65 içeren noktalara yönlendirebilecektir. Ters yönlerde arama, hem GA nın çözüm bulma süresini geciktirmeye hem de daha iyi çözüme erişememe olasılığını artırmaya neden olacaktır. Çünkü daha iyi çözümler, aramanın dışında kalan noktalarda bulunabilecektir. En iyi Mevcut toplum En iyiler kopyalanır Yeni toplum Bir önceki toplumun en iyileri Çaprazlama Çaprazlama işlemi ile oluşturulanlar En kötü Rastgele üretilir Rastgele üretilenler Şekil 4.3 : Ardışık Toplumların Geçiş İşlemi ile Oluşturulması Kaynak : Mendes vd.,2005,s Genetik İşlemler On tabanlı GA larda çapraz geçiş noktalarının belirlenmesi için değişik yaklaşımlar öne sürülmektedir. Ebeveyn kromozomdaki değişken sayısı, k olmak üzere, 1 ve k arasında rastgele üretilen iki çaprazlama konumu arasında kalan değişkenler, ebeveynler arasında karşılıklı olarak değiştirilmektedir. İşlemin en uç (marjinal) durumu, konum olarak başlangıç ve bitiş konumlarının seçimidir. Bu durumda ebeveynin kalıtsal bilgileri yeni topluma aktarılamayacak ve yeni bilgi üretilemeyecektir. Başlangıç toplumundan rastgele seçilmiş olan değişken değerleri, sonraki aşamalara sadece farklı birleşmelerle girecektir. Özellikle kromozom uzunluğu fazla olan iki tabanlı GA larda, yeni bilgi üretilmesi açısından uniform çaprazlamalar tercih nedeni olmaktadır (Haupt ve Haupt,2004,s.57). Böylece birden fazla konum seçilmesi gerektiğinden, konu edilen sorun ortadan kalkacaktır. Uygulanacak çaprazlama

81 66 türünün dikkatli seçilmesi, kromozomlar arasında kalıtsal bilgi alış verişini sağlayacaktır. Başlangıç ve bitiş konumlarından farklı konumların seçilmesi ya da bilgi değişimini sağlayacak yeni kromozomların oluşturulabilmesi amacıyla, algoritmaya rastgele ya da sezgisel ilaveler yapılabilmektedir. Literatürde karşılaşılan konuyla ilgili çalışmaların bazıları aşağıda verilmiştir. On tabanlı GA lar için daha etkin bir yöntem olan karıştırma (blending) yöntemi önerilmektedir (Haupt ve Haupt,2004,s.57 58). Bu yöntemde, ebeveyn kromozomların değişkenlerindeki değerlerin karışımından elde edilen değerlerle yeni üremeler yapılacaktır. Yeni üretilecek kromozomun değişken değeri d yeni, ebeveyn kromozomların n. değişken değerleri olan d 1n ve d 2n den aşağıda belirtildiği gibi elde edilmektedir. K 1 = [d 11, d 12 d 1 n ] ve K 2 = [d 21, d 22 d 2 n ] olmak üzere, d yeni =β d 1n +(1-β)d 2n Burada, β : 0 1 arasında rastgele üretilen bir sayı d 1n :anne kromozomun n. değişkeni d 2n : baba kromozomun n. değişkeni dir. İkinci çocuğun değişken değeri de, birinci çocuğun değişken değerinin tamamlayıcısıdır. Eğer β=1 ise, yeni değişken oluşumunda baba kromozomun n. değişkeninin katkısı olmayacaktır. Benzer şekilde β=0 olduğunda da anne kromozomun değişken oluşumuna katkısı bulunmayacaktır. Ancak β=0,5 olduğunda, anne ve bana değişkenlerinin aritmetik ortalaması şeklinde yeni değişken oluşacaktır. Yeni kromozomların üremesi aşamasında, iyi bir karışım için uygun β değerinin belirlenmesi önemli bir unsurdur. Bazen karışım, tüm değişkenler için belirlenen çapraz geçiş noktalarının sağından ya da solunda yapılabilmektedir. Her

82 67 değişken için, aynı β değeri kullanılabileceği gibi, değişkenlerde farklı β değerleri de kullanılabilir. Karışım yöntemi; ebeveyn değerlerini, β ve (1-β) katsayısı ile birlikte kullandığından yeni oluşan değer, ebeveyn değerleri arasında bir değer olacaktır ve toplumun uç değerlerinin ötesinde değerlerin oluşumu engellenecektir. Bu nedenle, çözüm uzayında başka noktalara sıçramak amacıyla dış uzatma (extrapolating) yöntemi kullanılmalıdır. Dış uzatma yöntemlerinin en basit olanı, lineer çaprazlamadır (linear crossover) ve ebeveynden üç farklı üreme söz konusu olmaktadır. d yeni 1 = 0,5 d 1n + 0,5d 2n d yeni 2 = 1,5 d 1n - 0,5d 2n d yeni 3 = -0,5 d 1n +1,5d 2n Katsayılarının toplamı bir (1) olan bu değişkenlerden, sınırların dışında olan herhangi biri dışlanarak diğer ikisi seçilir. Burada kullanılan 0,5 katsayısı yerine [0,1] aralığında başka katsayılarda kullanılabilir. Bu durumda, üreyecek yeni değişken, d yeni =β (d 1n - d 2n ) + d 1n olarak tanımlanabilir. Burada, β : 0 1 arasında rastgele üretilen bir sayı d 1n : anne kromozomun n. değişkeni d 2n : baba kromozomun n. değişkeni dir. Değişken limitleri dışına düşen bir değer elde edildiği durumda farklı β değerleri ile denenerek, yeni oluşum sağlanmalıdır.

83 68 Pratik uygulamalarda sıklıkla, dış uzatma (extrapolating) ve çaprazlama birlikte kullanılmaktadır. Birlikte kullanılan bu yöntemlerden biri de aşağıda verilmektedir (Haupt ve Haupt,2004,s.58-59). Yöntem, başlangıç ebeveyninde seçilen bir değişken ve α değeri (çapraz noktası) ile başlar. Çaprazlama konumuna, dış uzatma ile elde edilen yeni değerler yerleştirilir ve bu değerlerden sonraki değişkenler çaprazlamaya tabi tutulurlar. α = yukarı yuvarla (rastgele sayı* N değ ), K 1 = [d 11, d 12 d 1α d 1 n ] ve K 2 = [d 21, d 22 d 2α d 2 n ] olmak üzere aşağıdaki yeni değişkenler elde edilmektedir. d yeni 1 = d 1α - β( d 1α - d 2α ) d yeni 2 = d 2α + β( d 1α - d 2α ) Burada, β : 0 1 arasında rastgele üretilen bir sayı d 1α : anne kromozomun α. değişkeni d 2α : baba kromozomun α. değişkeni dir. Bundan sonra, K yeni 1 = [d 11, d 12 d yeni 1 d 2 n ] ve K yeni 2 = [d 21, d 22 d yeni 2 d 1 n ] şeklinde çaprazlama sonucunda yeni kromozomlar oluşur. Eğer kromozomların ilk değişkeni seçilirse, bu değişkenin sağındaki değişkenler çaprazlanmakta, son değişkeni seçilirse, bu değişkenin solundaki değişkenler çaprazlanmaktadır. Bu yöntemde, β>1 olmadığı sürece ebeveynlerin sınırları dışında değer elde edilmesi beklenmemektedir Yakınsama GA lar önceden belirlenen kriterlere göre sonlandırılarak optimum ya da optimuma yakın sonuçlar elde edilmektedir. Sonlandırma kriterlerinden biri de, GA nın yeni toplumlarda daha iyi çözümlere yakınsama yapamaz hale gelmesidir. GA sürecinde; ard arda oluşturulan yeni toplumlarda daha iyi sonuç elde

84 69 edilemiyorsa ya da yeni üretilen çözüm alternatifleri katma değer yaratmıyorsa, GA yakınsama yapamaz hale gelmiştir anlamı çıkarılmaktadır. GA larda yakınsamanın devam edip etmediğini ölçmek amacıyla, toplum istatistikleri tutulmaktadır. GA larda kullanılan istatistikler, aritmetik ortalamalar, standart sapmalar ve amaç fonksiyonu değerleri şeklinde olmaktadır (Haupt ve Haupt,2004,s.47) Problemin Genetik Algoritmaya Uyarlanması GA lar başlangıçta ikili sayı sisteminde kodlanan ve bu nedenle iki tabanlı sayı sistemindeki verilere genetik işlemlerin gerçekleştirildiği algoritmalar idi. Ancak daha sonraki yıllarda, GA nın birçok problemin çözümünde kullanılması ile genetik işlemlerdeki temel olgular, bazı karmaşık problemlerde elde edilen sonuçlarda başarısızlıklarla karşılaşılmasına neden olmuştur. Problemlerin karmaşıklığının artması ve karar değişkenlerinin büyük değerler içermesi sonucunda on tabanlı GA ların kullanılması zorunlu hale gelmiştir. Ancak bu tarz problemlerde daha iyi sonuçlara daha hızlı erişmek için uygulanan genetik işlemler; beklenilenin aksine, çözüm uzayında optimum çözümden uzaklaşarak istenmeyen noktalarda arama yapma eğilimine de saplanmaktadır. Pratikte karşılaşılan karmaşık problemlerin GA ya uyarlanmasında yaşanan başarısız denemeler, GA nın karmaşık problemlerde yetersizliğini ortaya çıkarmıştır. Yaşanan bu sıkıntılar ve başarısız örnekler, bazı problemleri, özellikle karmaşık problemleri çözmek için standart dışı algoritmaların geliştirilmesine neden olmuştur. Standart dışı algoritmalar ile potansiyel çözüm içeren kromozomların oluşturulması yerine, değişik kromozom tanımlanmasına ve probleme uygun genetik operatörlerin kullanılmasına başlanmıştır. Çünkü mevcut problemin başlangıç çözümlerini kromozom olarak kullanmak, karmaşık problemlerin başlangıç çözüm kümesini oluşturmanın zorluğundan dolayı iyi bir yaklaşım olarak kabul edilmemektedir (Gen ve Cheng,2003,s.358).

85 70 Çizelgeleme problemleri gibi, sıralama esaslı ve çözümü zor olan özel problemlerde iyi sonuç elde edebilmek için, probleme yönelik uygun kodlama sisteminin yanı sıra, mutasyon ve çaprazlama işlemlerini de basitleştirmek gerekmektedir (Özdamar,1999,s.45). Sonuç olarak, özellikle karmaşık problemlerin GA ya uyarlanabilmesi için; kullanılacak kodlama sisteminin, çözüm uzayında etkin arama yapabilmeyi sağlayacak uygun genetik işlemlerin ve bu işlemlerin olasılıklarının iyi belirlenmesi gerekmektedir On Tabanlı Genetik Algoritmalarda Özel Durumlar İki tabanlı olmayan uygulamalarda, özellikle sıralı tipli problemlerde tipik genetik işlemler ya da kromozomları kodlama sistemi, algoritmanın performansını etkileyen önemli faktörlerdir. Bu nedenle uygulamalarda; farklı kodlama sistemleri ve genetik işlemlerin (üreme, çaprazlama ve mutasyon işlemlerinin sezgisel yöntemlerle) yapıldığı görülmektedir Kodlama Sistemi Genellikle kodlama yöntemi doğrudan ya da dolaylı olarak yapılmaktadır. Doğrudan kodlama yöntemi, kromozomların arama amacına yönelik tüm bilgileri içerecek şekilde hazırlanmasıdır. Problemle ilgili tüm bilgiler kromozomda bulundurulacaktır. Problemin dolaysız kromozomlarla temsil edilmesi, problemi yorumlama (ya da çizelgeleme) gibi bir takım yordamlara (procedure lere) ihtiyacı ortadan kaldıracaktır (Mori ve Tseng,1997,s.137). Karmaşık problemlerde, doğrudan kodlama yöntemi kullanılarak uygulanan genetik işlemler sonucunda, elde edilen çok sayıda yeni birey geçersiz olabilecek ve dolayısıyla genetik işlemler yararsız hale dönüşecektir. Tipik genetik işlemlerin yararsız sonuçlar verdiği durumlarda, doğrudan kodlama yerine dolaylı kodlama ile bir çözümün sadece bir kısmı kromozom olarak kullanılabilmektedir. Daha sonra kod çözücü (decoder) ile çözüm üretilebilir. Kod çözücü, mevcut probleme özel olarak hazırlanmakta ve çözüm üretmek için

86 71 yordamları (procedure) belirlemektedir Böylece algoritma, standart dışı geliştirilerek, çözüm uzayının ilgilenilen kısmında arama işlemini yaparak sağlıklı çözümler bulacaktır Genetik İşlemler Özellikle sıralama tipli (gezgin satıcı ve proje çizelgeleme gibi) problemlerde, tipik genetik operatörlerin kullanımı yerine uyumlaştırılmış edilmiş ya da zenginleştirilerek geliştirilmiş operatörlerin kullanımı ön plana çıkmıştır (Huang vd.,1997,s.3106). Bu nedenle GA lar sezgisel arama yöntemleri olmaktadırlar. Sıralama tipli problemlerde, çaprazlama işlemi yeniden değerlendirilmelidir. Örneğin aşağıda verilen kromozomlarda 3. konumda yapılacak çaprazlama işlemi, yeni oluşturulan toplumda, uygun olmayan kromozomların üremesine neden olabilecektir. Çaprazlama öncesi Çaprazlama sonrası K 1 : K 1 : K 2 : K 2 : Çaprazlama sonrası K 1 kromozomunda, 1 ve 6 ya iki kez gidilmekte ama 3 e hiç gidilememektedir. Benzer şekilde K 2 kromozomunda, 3 ve 4 e iki kez gidilmekte ama 1 ve 6 ya hiç gidilememektedir. Hatalı kromozom oluşumuna neden olabilecek çaprazlama işlemlerinden kaçınmak amacıyla, bazı araştırmacılar farklı çaprazlama yöntemleri geliştirerek kullanırken, bazıları da uyumlaştırılmış genetik operatörler kullanmaktadır. Dolaylı kodlama sistemi, çaprazlama ve mutasyon işlemlerinde karşılaşılabilecek uygun olmayan kromozomlardan kaçınmak amacıyla kullanılmaktadır. Yeni toplumda uygun olmayan kromozomların (bireylerin) oluşumunu engellemek amacıyla önerilen çaprazlama yöntemleri (Reeves ve Rowe,2003,s.39 40) aşağıda verilmektedir: 1. Bazı parçaların karşılıklı olarak çaprazlanmasıdır. Bu yöntemde, 1 ile l-1 arasında rastgele 2 nokta seçilir. Noktaların oluşturduğu parçalarda bazı genler kendi

87 72 aralarında yer değiştirir. Aşağıdaki örnekte 3. ve 5. konum seçilerek, genler kendi aralarında yer değiştirmiştir. 3 1, 4 2, , 2 4, 6 7 Çaprazlama öncesi Çaprazlama sonrası K 1 : K 1 : K 2 : K 2 : şeklinde yeni çözümler elde edilebilmektedir. 2. İki tabanlı GA larda olduğu gibi, kromozom uzunluğuna eşit uzunlukta ve ikili sayı sisteminde de maske oluşturulur. Bu işlem uniform (tekdüze) çaprazlamada yapılan işleme benzemektedir. Örneğin, Maske: olmak üzere, Çaprazlama öncesi Çaprazlama sonrası K 1 : K 1 : K 2 : K 2 : şeklinde çaprazlama sonucu elde edilmektedir. Birinci kromozom için; maskede 1 lerin karşılığı K 1 den doğrudan alınır. Boş yerlere de; eksik kalan değerler ikinci kromozomdaki sıralarını bozmadan yerleştirilir. Bu aşamada, maskeyle seçilen genlerin hariç tutulması gerekmektedir. İkinci kromozom üretilmesinde de, benzer işlemler tekrarlanmaktadır. Yeni toplumun uygunluğunun sağlanması, başka bir deyişle stokastik hataları azaltmak amacıyla üç türlü sıralama (permutation) yöntemi ve bir yerleştirme (relocation) yöntemi kullanılması da mümkündür. Bunlar (Huang vd.,1997,s ):

88 73 Sıralama yöntemi 1: Yöntem için, başlangıçta seçme oranı olarak, n 1 oranı belirlenir. (N. n 1 ) adet kromozom rastgele olarak bekleme havuzundan seçilir. Seçilen bu kromozomlara, yine rastgele olarak belirlenen iki konum arasındaki genler ters çevrilerek genetik işlemlerin tamamlanması sağlanır. Örneğin kromozom seçildiğinde, rastgele oluşturulan 5. ve 2. konumlarda, yeni kromozom haline dönüştürülür. Sıralama yöntemi 2: Başlangıçta n 2 oranı belirlenir. (N. n 2 ) adet kromozom rastgele olarak bekleme havuzundan seçilir. Seçilen bu kromozomlarda, yine rastgele olarak belirlenen iki konumdaki genler yer değiştirilerek genetik işlemlerin tamamlanması sağlanır. Örneğin kromozom , 5. ve 2. konumlar seçildiğinde, yeni kromozom haline dönüştürülür. Sıralama yöntemi 3: Başlangıçta n 3 oranı belirlenir. (N. n 3 ) adet kromozom rastgele olarak bekleme havuzundan seçilir. Seçilen bu kromozomlarda, yine rastgele olarak belirlenen bir konumdaki gen, bir sonraki gen ile yer değiştirilerek genetik işlemlerin tamamlanması sağlanır. Örneğin seçilen kromozom ve rastgele seçilen konum 5. konumu ise, yeni kromozom haline dönüştürülür. Yerleştirme yöntemi: Yöntem için başlangıçta seçme oranı olarak, n r oranı belirlenir. (N. n r ) adet kromozom rastgele olarak bekleme havuzundan seçilir. Seçilen bu kromozomlara, yine rastgele olarak belirlenen iki konumdan birincisindeki gen kaldırılarak diğer konumdaki genin önündeki genler yerleştirilir. Örneğin seçilen kromozom ve rastgele seçilen 5. ve 2. konumlar ise, yeni kromozom haline dönüştürülür. Stokastik hataları elimine edecek bu yöntemlerde, tavsiye edilen seçim oranları ise; n 1 = 0.03, n 2 = 0.09, n 3 = 0.09 ve n r = 0.09 şeklindedir (Huang vd.,1997,s.3109) Genetik Algoritmanın Optimizasyon Problemine Uygulanması Tez kapsamında ele alınan GA ları daha iyi anlatmak ve pratikte nasıl çalıştığını göstermek amacıyla, basit bir optimizasyon probleminin GA ile çözümüne aşağıda yer verilmiştir.

89 74 F(x)=x 2 şeklinde bir amaç fonksiyonunu, 0 x 31 aralığında en büyükleyecek x değeri araştırılmaktadır. Çözümü zor olmayan bu fonksiyonu elle çözmek ve sonucun x=31 için en büyük değer verdiğini hemen görmek mümkün olmaktadır. Problemin GA ile çözülmesi için, önce hangi sistemin kullanılacağı ve kromozomların nasıl kodlanacağına karar verilmelidir. Örnek uygulamaya; kullanılacak GA türü (iki tabanlı GA), kromozomda yer alacak karar değişkenleri (x değişkeni), kromozom uzunluğu (l=5), başlangıç toplumunun büyüklüğü (N top =4) konularında, karar verilerek başlanmaktadır. Parantez içinde belirtilen tercihler, örnek problemde esas alınmıştır. Daha sonra GA için aşağıdaki işlemlerin sırası ile gerçekleştirilmesi gerekmektedir (Şen,2004,s.107 ; Bolat vd.,2004,s.269). Başlangıç toplumunun oluşturulması: Bu aşamada karar değişkeni olan çözüm adaylarının rastgele atanması gerekmektedir. Toplum büyüklüğü N top =4 belirlendiğinden, 4 adet rastgele karar değişkeni atanmaktadır. Karar değişkenlerinin alacağı değerler, verilen kısıtlara uygun olarak seçilmelidir. Bu değerler 13, 24, 8 ve 19 olarak ratsgele seçilmiştir. Böylece, başlangıç toplumu T, T = 24 = şeklinde oluşturulmuştur. Uygunluk değerlerinin hesaplanması: Bu aşamada çözüme aday olan bu kromozomların uygunluk değerleri hesaplanmaktadır.

90 75 F i = x 2 = =1170 F ort = x 2 / 4=1170/4 = 293 Her bir çözüm noktasının (kromozomun) toplum içinde değer olarak yüzdesi diğer bir deyişle, (F i / F i )uygunluk değeri olarak kullanılabilmektedir. Bununla birlikte, her bir kromozomun, toplumun ortalama değerine göre yüzdesi (F i / F ort ) da uygunluk değeri olarak da kullanılabilmektedir.bu değerler Tablo 4.2 de de gösterilmektedir. Tablo 4.2: Başlangıç Toplumu ve Uygunluk Değerleri Başlangıç Uygunluk değeri Toplumu x x 2 F i / F i F i / F ort /1170=0, /293=0, /1170=0, /293=1, /1170=0,055 64/293=0, /1170=0, /293=1,23 Kaynak: Bolat vd.,2004,s.269. Tablo 4.2 de görüldüğü gibi, uygunluk değeri F i /F ort =1,97 ile en uygun kromozom yani çözüme en yakın aday x=24 karar noktasıdır. Algoritmanın mantığı gereği, artık genetik işlemlerin yapılacağı çözüm adaylarının seçilmesi gerekmektedir. Çözüm adayları iki farklı yöntemle seçilebilmektedir. Çözüm adaylarının rastgele seçilmesi yöntemi: 1 ile 1000 arasında rastgele bir r sayısı seçerek ve aday çözümlerin uygunluk değeri yüzdeleri kullanarak, genetik işlemlerin uygulanacağı aday çözümlerin seçilmesi, aşağıdaki gibi yapılabilmektedir (Şen,2004,s.108). Burada uygunluk fonksiyonu olarak F i / F i kullanılmaktadır. r<144 ise seçilmeli, 145<r<636 ( =636) ise seçilmeli, 637<r<692 (637+55=692) ise seçilmeli, 693<r<1000 ( =1000) ise seçilmelidir.

91 76 Rastgele sayıların kullanılması ile 01101, 11000, ve kromozomlarından biri seçilebilmektedir. Çözüm adaylarının f i uygunluk değerlerine göre seçilmesi yöntemi: Yöntemde, çözüm adayları arasından yapılacak seçim, belirlenen bir uygunluk fonksiyonundan elde edilen uygunluk değerleri göz önüne alınarak gerçekleştirilmektedir. Tablo 4.2 deki kromozomlar için, uygunluk değeri f i =F i /F ort ve N iyi =2=N kötü olarak belirlendiğinde, 2 ve 4. kromozomların uyumlu, 1 ve 3. kromozomlar uyumsuz olduğu gözlenmektedir (Bolat vd.,2004,s.269). Çaprazlama: Bekleme havuzunda, uygunluk değerleri (F i / F ort ) iyi ve kötü olanlar bir biri ile eşlenerek çaprazlama işlemi yapılmaktadır. Eşlenme işlemine yönelik bilgiler Tablo 4.3 de verilmektedir. Bu bilgiler doğrultusunda; 1 ve 2. kromozomlar 4. konumda çaprazlanırken, 4 ve 3. kromozomlar 2. konumda çaprazlanacaktır. Tablo 4.3: Çaprazlama Bilgileri Bekleme havuzu Eşlenecek kromozom Çaprazlama konumu / / / / Kaynak: Bolat vd.,2004,s.269. Çaprazlama işlemlerinin tamamlanmasından sonra, yeni kromozomlar oluşturulmuştur ve Tablo 4.4 de Yeni toplum sütununda gösterilmektedir. Oluşturulan yeni toplumun, amaç fonksiyonu temel alınan uygunluk değerleri hesaplanarak Tablo 4.4 de gösterilmektedir.

92 77 Tablo 4.4: Yeni Toplum ve Uygunluk Değerleri Yeni toplum X x 2 F i / F ort Uygunluk değeri /287=0, /287=2, /287=0, /287=0,89 Kaynak: Bolat vd.,2004,s.270. F i = x 2 = 1146 F ort = x 2 / 4=1146/4 = 287 Mutasyon: Tablo 4.4 de ikinci satırdaki çözüm en uygun çözümdür. Ancak 4. satırdaki çözüme 2. konumdan itibaren genlerin tamamlayıcısı (complement) ile değiştirilmesi şeklinde yapılan mutasyon işlemi ile değeri elde edilir ki, ikili sayı sistemindeki bu sayının ondalık karşılığı 31 olacaktır. Bulunan değer, aranan en büyük x değeridir. Örnekte, toplumun eleman sayısı küçük bir değer olarak belirlendiğinden, arama yüzeyi büyük olmayacaktır. Bu nedenle mutasyon yapılmayabilir. Mutasyon yapılmadan uygunluk değerlendirilmesi aşamasına geri dönülerek işlemler tekrarlanmaktadır.

93 78 BEŞİNCİ BÖLÜM PROJE ÇİZELGELEME PROBLEMLERİ VE SEZGİSEL YÖNTEMLERİN KULLANIMI Bu bölümde projenin çizelgeleme konusuna değinilerek, KKPÇ problemlerinin özelliklerine ve kavramsal modelinin açıklamasına yer verilmektedir. Ayrıca, GA ile proje çizelgelemede göz önünde bulundurulması gereken unsurlar açıklanmaktadır. Bu unsurlar; GA da kullanılan kromozomların nasıl temsil edilmesi gerektiği, kullanılabilecek çizelgeleme yöntemleri ve çizelgelenebilecek faaliyetlerin çizelgeye eklenmesi aşamasında kullanılan yöntemleri kapsayan sezgisel yöntemlerdir Proje Çizelgeleme Çizelgeleme; belirli kriterlere uyulması koşulu ile bir ya da daha fazla amacı iyileştirecek şekilde, gerçekleşmesi gereken görevlerin sıralarını ve mevcut kaynakların zaman içindeki kullanımını göstermektir. Çizelgelemenin bir diğer tanımı da, belirli kriterlere ve kısıtlara uymak koşulu ile gerçekleşmesi gereken görevlerin daha az süre ve kaynak kullanarak problemin çözümünü göstermektir (Biroğul,2005,s.16). Bu nedenle çizelgeleme; proje/üretim planlama ve yönetimin karar aşamalarında konu edilen çalışmanın etkinlik ve verimliliğini belirleyen önemli bir fonksiyondur. Proje çizelgeleme; mevcut kısıtlı kaynakları kullanarak, belirli amaçlar çerçevesinde yerine getirilmesi gereken görevlerin gerçekleşmesi için program yapılmasıdır. Bu açıdan proje ne kadar iyi çizelgelenebilirse, yönetici ve uygulayıcıların etkinlik ve verimliliği o oranda artmaktadır. Proje çizelgeleme; doğası gereği yalın bir çalışma konusu olmayıp, çizelgelemeyi etkileyen pek çok unsur içermektedir. Örneğin; faaliyetlerin öncüllük ilişkileri, faaliyet süreleri, faaliyetin gerçekleşmesi için gereken kaynaklar ve miktarları gibi unsurlar sayılabilir. Çizelgelemeyi etkileyen temel unsur, süreç planlama aşamasıdır. Süreç planlama aşaması, faaliyetlerin mevcut imkânlar çerçevesinde sıralanması ya da düzenlenmesi aşamasıdır.

94 Proje Ağının (Network) Oluşturulması Proje çizelgelemede, tanımlanan faaliyetlerin düzenlenmesi ve sıralanması oldukça önemlidir. Proje ağı, proje faaliyet sürelerinin ve faaliyetlerin öncüllük ilişkilerinin şema üzerinde gösterilmesinde kullanılan önemli bir araçtır. Öncüllük ilişkileri; zaman bazında faaliyetler arasındaki başlangıç bitiş ilişkilerini göstermektedir. Proje faaliyetlerinin ağ üzerinde sıralanmasında; faaliyetlerin düğümlerde gösterilmesi ve faaliyetlerin oklar üzerinde gösterilmesi olmak üzere iki farklı yöntem kullanılmaktadır. Her iki gösterimde de, proje ağı üzerinde bir başlangıç ve bir bitiş düğümü olması gerekmektedir. Eğer verilen problemde başlangıç ve bitiş düğümleri tanımlanmadı ise, yapay başlangıç ve/ya da bitiş düğümü tanımlanmalıdır (Ulusoy,2006,s5). Yapay başlangıç ve bitiş düğümlerinin faaliyet süresinin sıfır ve hiç bir kaynağı kullanmadığı varsayılmaktadır. Kullanılan yöntem ne olursa olsun; bir faaliyetin başlayabilmesi için, bütün öncüllerinin tamamlanmış olması gerekmektedir. Faaliyetlerin Düğümlerde Gösterilmesi Bu yöntem, AON (Activity on Node ) olarak da adlandırılmaktadır. Çünkü her düğüm (node) bir faaliyet bilgisini içermektedir. Bu gösterimde oklar, öncüllük ilişkilerini göstermektedir. Düğümler ise genellikle farklı ve birden fazla faaliyet bilgileri içermektedirler. Bu bilgiler kapsamında; faaliyet süresi, en erken başlama zamanı en erken bitiş zamanı en geç bitiş zamanı en geç başlama zamanı ve bolluk süresi (Slack=LST-EST) yer almaktadır (Solomon,2005,s.3).

95 80 Faaliyetlerin düğümlerle gösterildiği bu yöntemde, kukla (dummy) faaliyetlere ihtiyaç duyulmadığından problem daha basit bir şekilde serim üzerinde gösterilebilmektedir (Ulusoy,2006,s.5). Şekil 5.1 : Faaliyetlerin Düğümlerde Gösterilmesi Kaynak : Solomon,2005,s.3 Şekil 5.1 deki serim, sekiz faaliyetli bir planı göstermektedir. Faaliyetler A- H olarak etiketlendirilmektedir. Başlangıç ve bitiş faaliyetlerinin süreleri 0 olarak kabul edilmektedir. Diyagramdaki düğümler faaliyet bilgilerini, oklar faaliyetlerin diğer faaliyetlere ne şekilde bağımlı olduklarını göstermektedir. Örneğin B faaliyeti A ve C faaliyeti tamamlanmadan başlayamaz. Bu ikili bağımlığı göstermek için A dan B ye ve C den B ye olmak üzere iki ok çizilmektedir. Faaliyetlerin Oklar Üzerinde Gösterilmesi Faaliyetlerin oklar üzerinde gösterilmesi, faaliyetlerin düğümlerde gösterilmesi modeline benzemektedir. Modelde, faaliyetler (ya da faaliyet süreleri) oklar üzerinde gösterilirken, faaliyetlerin başlangiç/bitiş süreleri de düğümler üzerinde gösterilmektedir. Bu diyagram, AOA (Activity on Arrow) diyagramı olarak adlandırılmaktadır. Aşağıdaki Şekil 5.2, AOA diyagramına örnek olarak verilmiştir.

96 81 Şekil 5.2 : Faaliyetlerin Ok Üzerinde Gösterilmesi Kaynak : Solomon,2005,s,4 Şekil 5.2 deki ağ üzerinde, 11 faaliyet A-K şeklinde etiketlenmiştir. AON dan farklı olarak, faaliyetler oklar üzerine etiketlendirilmektedir. Faaliyetler arasındaki bağımlılık benzer şekilde işlem görmektedir. Ancak burada, kukla faaliyet olarak adlandırılan farklı faaliyetler söz konusudur. Bu faaliyetler kesikli çizgi ile belirtilen ve faaliyet süresi olmayan faaliyetlerdir. Örneğin 2 ve 3 no. lu düğümler arasında kukla faaliyeti tanımlanmıştır. Şekil 5.2 de de görüldüğü gibi, C faaliyeti E faaliyeti tamamlanmadan başlayamamaktadır. Benzer şekilde G faaliyeti, I faaliyeti tamamlanmadan başlayamamaktadır Faaliyetlerin Öncüllük İlişkileri (Activity Precedence Relations) Faaliyetlerin düğümlerde gösterildiği diyagramlarda (AON da); oklarla temsil edilen faaliyet öncüllük ilişkileri başka bir deyişle faaliyetler arasındaki bağımlılık şekilleri dört farklı biçimde tanımlanabilmektedir. Bunlar: Bitiş - Başlangıç (FS) Sonraki faaliyetin başlaması, öncül faaliyetin tamamlanmasına bağlıdır. En yaygın kullanılan tiptir.

97 82 Bitiş - Bitiş (FF) Sonraki faaliyetin tamamlanması, öncül faaliyetin tamamlanmasına bağlıdır. Başlangıç - Başlangıç (SS) Sonraki faaliyetin başlaması, öncül faaliyetin başlamasına bağlıdır. Başlangıç Bitiş (SF) Sonraki faaliyetin tamamlanması, öncül faaliyetin başlamasına bağlıdır. Burada belirtilen öncüllük ilişkileri; faaliyetlerin birbirine bağımlı özelliklerinden ve teknolojik imkânlardan kaynaklanan zorunluluklar sonucu oluşabilmektedir (Mori ve Tseng,1997,s134). Ancak her hangi bir tanım yapılmadıysa, FS ilişkisinin olduğu varsayılmaktadır. Faaliyetlerin oklar üzerinde gösterildiği (AOA) serimlerde ise zaten böyle bir yapıya ihtiyaç duyulmamaktadır. Bu yapılarda, gerektiğinde kukla faaliyetlerle faaliyet öncüllükleri tanımlanmaktadır. Bu modelde, tüm faaliyetler arasındaki ilişki FS (Bitiş-Başlangıç) ilişkisidir. Sezgisel yöntemlerin kullanıldığı çizelgeleme işlemlerinde; faaliyetlerin düğümlerde gösterildiği ağ kukla faaliyete ihtiyaç duyulmamasından dolayı tercih unsuru olmuştur. Kukla faaliyetin olmaması da, karmaşık problemlerin çözümüne yönelik geliştirilen algoritmalarda işlem rahatlığı getirmektedir. Bu nedenle, başlangıçtan bu yana geliştirilen proje çizelgeleme algoritmalarında kullanıla gelmektedir. AON ile Bir Proje Seriminin Hazırlanması Proje seriminin hazırlanabilmesi için; en azından faaliyetlerin öncülleri/ardılları ve sürelerinin önceden belirlenip hazırlanması gerekmektedir. Örnek proje serimini hazırlamak için, Tablo 5.1 de gösterilen veriler kullanılacaktır.

98 83 Tablo 5.1.: Proje Faaliyet Bilgileri Faaliyet Öncülleri Süre En Erken Başlama Süresi EST (ay/gün/yıl) A /5/05 B A 2 9/10/05 C A 3 9/10/05 D B 7 9/12/05 E C 4 9/13/05 F D 1 9/19/05 G E, F 2 9/20/05 Kaynak: Solomon,2005,s.4 Proje ağını çizmek için kullanılan düğüm örneği aşağıdaki Şekil 5.3 de gösterilmektedir. En Erken Başlama Süresi (EST) Süre En Erken Bitirme Süresi (EFT) Faaliyet Adı En Geç Başlama Süresi (LST) Bolluk (Slack) En Geç Bitirme Süresi (LFT) Şekil 5.3 : Örnek Düğüm Bilgileri Düğüm bilgileri ileriye ve geriye doğru çizelgeleme yöntemleri ile oluşturulmaktadırlar. İki geçişli yöntem ile elde edilen bu bilgiler ile Şekil 5.4 de gösterilen proje ağı hazırlanmaktadır.

99 84 Şekil 5.4 : Tamamlanmış Proje Ağı Kaynak : Solomon,2005,s.6 Böylece, ağ üzerindeki faaliyetler hakkında detaylı bilgi sahibi olunabilmektedir. Hangi faaliyetin geciktirilip geciktirilemeyeceği, şematize edilerek projenin en kısa tamamlanma süresi elde edilmektedir Kaynak Kısıtlı Proje Çizelgeleme Problemleri ve Özellikleri KKPÇ, kısıtlı kaynaklar kullanılarak bir projeyi oluşturan faaliyetlerin, öncüllük ilişkilerini göz ardı etmeden amaç fonksiyonunu en iyileyecek biçimde çizelgelenmesidir (Ulusoy,2006,s.4). Kaynak kısıtı ve faaliyetlerin öncüllük ilişkileri, özellikle karmaşık problemlerin çizelgelenmesini güçleştiren unsurların başında gelmektedir. Çizelgelenmesi güç olan bu tür problemler, ortaya çıkışından bu yana uygulamacıların ve araştırmacıların ilgisini çekmeye devam etmektedir (Reyck ve Herroelen,1998,s.1). Son yıllarda araştırmacılar probleme hem sezgisel hem de optimal yöntemlerle devam etmektedirler (Hartmann ve Kolisch,2000,s.395). n faaliyet sayısına sahip bir KKPÇP de tüm faaliyetler iki türlü kısıta sahiptir. Birincisi öncüllük ilişkilerinden kaynaklanan kısıtdır. Bu kısıt, her bir j faaliyetinin kendinden önce gelen faaliyetleri tamamlamadan başlatılamaması zorunluluğunu getirmektedir. İkincisi ise, kaynak kısıtıdır. Projedeki faaliyetler sınırlı kapasiteye

100 85 sahip kaynak kullanmaktadır. Klasik KKPÇP lerde öncelik kısıtına sahip olan faaliyetler, başlatıldıktan sonra kesintiye uğratılamazlar (Mori ve Tseng,1997,s.134) Problemin tanımında temel alınan varsayımları; faaliyet sürelerinin deterministik olması, faaliyetlerin birim zaman kaynak kullanımının sabit olması, bir faaliyete atanan kaynağın, faaliyet süresince o faaliyet tarafından kullanılması, bir faaliyetin kullandığı kaynak miktarının pozitif bir sayı ile gösterilmesi, başlatılan faaliyetlerin kesintiye uğramadan tamamlanması, projedeki tüm faaliyetlerin gerçekleştirilmesi şeklinde sıralamak mümkündür (Artigues vd.,2003,250; Ulusoy,2006,s.4). Projede kullanılan kaynaklar yenilenebilir (renewable), yenilenemeyen (nonrenewable), çift kısıtlı (doubly) ve/ya da kısmen yenilenebilir kaynak olabilmektedir. Yenilenebilir kaynaklar, zamana (belli bir peryoda) bağlı olarak kısıtlı kaynaklardır. Bu tür kaynakların faaliyetler tarafından kullanımı kısıtlı olmasına rağmen tükenmesi söz konusu değildir. Yenilenemeyen kaynaklar, tüm proje süresince kısıt altında olan kaynaklardır. Çift kısıtlı kaynaklar ise, hem zamana hem de tüm projeye bağlı olarak kısıt altında olan kaynaklardır. Kısmen yenilenebilir kaynakların kullanımı ise, belli bir zaman aralığı içerisinde farklı kısıtlar ile temini mümkün olmaktadır (Mika vd.,2005,s.640). Çok aşamalı-kkpçp ise klasik kaynak kısıtlı proje çizelgeleme probleminin bir başka türüdür. Çok aşamalı-kaynak kısıtlı proje çizelgeleme problemlerinde, bir faaliyetin gerçekleştirilebilmesi için, her bir aşamada gerekli olan kaynak ve o aşamadaki faaliyet süreleri kısıtlarına da dikkat edilmesi gerekmektedir. KKPÇP ler, öncelik sıralarının uygunluğu, kaynakların kısıtlı olması ve faaliyetlerin kesilmemesi ilkelerine bağlı kalınarak çizelgelenmektedir. Çok aşamalı- KKPÇP lerde amaç, proje kapsamındaki faaliyetlerin önceliklerini belirlemek,

101 86 faaliyetlere uygun aşamaların atanmasını sağlamak ve kaynak uygunluğunu sağlayan proje bitiş süresini belirlemektir (Kolisch ve Hartmann.,1999,s.148). Son yıllarda, KKPÇP gibi çözümü zor problemlerin (Mika vd.,2005,s.640) global ya da yerel çözümlerini elde etmek için sezgisel yöntemler geliştirilmiştir. KKPÇP, aşağıda belirtildiği gibi kavramsal bir şekilde modellenebilmektedir (Mendes vd.,2005,s.3). Amaç Fonksiyonu: Min F n+1 (5.1) Kısıtlar: F i F j - d j j=1,..n+1 ve i P j (5.2) r jk R k k K ve t 0 (5.3) j A(t) F j 0 j=1,,n+1 (5.4) Formül 5.1 ile gösterilen amaç fonksiyonu, (n+1). faaliyetin tamamlanma süresini minimize etmektedir. Böylece proje tamamlama süresi en küçüklenmiş olacaktır. Birinci kısıt (formül 5.2) faaliyetlerin öncelik sıraları kısıtıdır. İkinci kısıt (formül 5.3) ise, t anında işlem gören faaliyetin talep ettiği kaynak miktarının kaynak kapasitesine göre sınırlanması kısıtıdır. Sonuncu kısıt (formül 5.4) ise karar değişkenleri kısıtıdır. Başka bir deyişle, faaliyetlerin tamamlanma sürelerinin negatif olmaması kısıtıdır. K={1,2,.k} kaynak tipi kümesi olmak üzere; süreç esnasında bir j faaliyeti, d j faaliyet süresince r jk miktarında, k K kaynak tipinden kullanmaktadır. Kaynak tipi k nın sınırlı kapasitesi R k kadardır. d j, r jk, ve R k parametrelerinin belirgin (deterministik) ve negatif olmadığı varsayılmaktadır (Mendes vd.,2005,s.2). Modelin kavramsal olarak hazırlanabilmesi için, 0 ve n+1 şeklinde kukla başlangıç ve bitiş faaliyetleri kullanılmaktadır. Diğer faaliyetler gibi bu faaliyetler

102 87 de aynı kısıta sahiptir. Kukla başlangıç ve bitiş faaliyetlerinin, faaliyet süreleri ve kaynak gereksinimlerinin olmadığı (d j,r jk = 0, k K için) kabul edilmektedir. Modelde P j, j faaliyetinin öncül faaliyetler kümesidir. F j ise j faaliyetinin tamamlanma süresidir. Bir çizelge, faaliyetlerin bitiş süreleri {F 1,F 2,.F n+1 } olarak, bir vektör şeklinde temsil edilebilmektedir. A(t) kümesi ise, t anında işlem gören (aktif) faaliyetlerin kümesidir ve A(t)={j J F j - d j t < F j } dir. Belirtilen modelde, A(t) kümesi karar değişkenlerinin bir fonksiyonu olduğundan, model kavramsaldır (Kolisch ve Hartmann,1999,s.149) Kaynak Kısıtlı Proje Çizelgeleme Problemlerinde Kullanılan Yöntemlerin Sınıflandırılması GA ile proje çizelgelemede, diğer optimizasyon yöntemlerinde olduğu gibi deterministik ve stokastik yöntemler kullanılmaktadır. Bununla birlikte, GA nın etkinliğini artırmak amacıyla geliştirilen algoritmaların genetik işlemlerinde, sezgisel yöntemler uygulandığı görülmekte, evrimsel sürece daha iyi benzetim yapılabilmesi için genellikle stokastik ve sezgisel yöntemler kullanılmaktadır. Bu nedenle birçok kaynakta, KKPÇ problemlerinde kullanılan yöntemleri sadece; stokastik ve sezgisel olarak iki sınıfa ayırmaktadır. GA nın doğası gereği, stokastik ya da sezgisel çizelgeleme prensibini taşıyan işlemler, çizelgelemenin her aşamasında ya da bazı aşamalarında yer alabilmektedir Deterministik Yöntemler Deterministik yöntemle çizelgelemede; ileri ya da geriye doğru çizelgeleme işlemlerinde faaliyetler deterministik olarak seçilmektedir (Mori ve Tseng,1997,s.136). Deterministik yöntemlerde elde edilen sonuçlar kesindir. Bu tür yöntemler kullanıldığında, algoritma aynı problem için her işletilmesinde daima aynı sonucu verecektir. Bu özelliği nedeniyle; bu yöntem, kısıt sayısı fazla olan karmaşık problemlerde pratik bir yöntem olmamaktadır. Deterministik kurallar en iyi sonucu üretemediği durumda, başka bir çözüm üretme alternatifi söz konusu olamamaktadır. KKPÇ problemlerinde de hâlihazırda literatürde önerilmiş herhangi bir deterministik

103 88 kuralın varlığı söz konusu değildir. Bu nedenle; sezgisel yöntemleri kullanarak iyi bir çözüm arayışı halen devam etmektedir Stokastik Yöntemler Stokastik çizelgeleme yönteminde; çizelgeleme faaliyet ve aşama seçimleri olasılığa ya da tesadüfe dayanan yollarla yapılmaktadır. Proje çizelgeleme aşamasında herhangi bir işlemde; faaliyetlerin önceliklerin belirlenmesi ya da çizelgeleme aşamasında uygun faaliyetler arasından bir faaliyet seçilmesi işlemlerinden birinde, olasılık kurallarına dayanarak bir işlem yapılırsa stokastik çizelgeleme yöntemi olarak adlandırılmaktadır. Stokastik çizelgeleme yönteminde de faaliyetler, faaliyetlerin öncelik sıraları ve kaynakların uygunluğu kısıtlarına bağlı kalınarak çizelgelenmektedir. GA ların çizelgeleme problemlerine uygulanmaya başlandığı dönemlerde, stokastik yöntemlerle yapılan çalışmaların başarılı sonuçlar vermediği görülmektedir. Global (ya da globale yakın) sonuçlar elde edilmek amacıyla sezgisel yöntemler ortaya çıkmıştır. Özellikle faaliyet sayısı 50 ve üzerinde olan projeleri çizelgelemelerde, optimum çözüm arayışlarının başarısızlıkla sonuçlanması nedeniyle, sezgisel yöntemler kullanılarak, optimuma yakın çözüm arayışları yaygınlaşmıştır (Pet- Edwards ve Mollaghamsemi,1995,s.3059) Sezgisel Yöntemler Sezgisel yöntemlerde; faaliyet seçimi belirli (deterministik ) sezgisel bir yöntem kullanılarak yapılırsa, deterministik sezgisel yöntem adı verilmektedir. Bu yöntemde GA nın her uygulanışında, belli (kesin) bir çözüm elde edilmektedir. Faaliyet seçiminde; rastgele seçilen sezgisel yöntemler kullanıldığında deterministik olmayan sezgisel yöntemler olarak adlandırılmaktadır. Her uygulama sonucunda farklı çözümler elde edilebilmektedir (Salewski vd.,1997,s.94).

104 89 Literatürde, GA ile hazırlanan proje çizelgeleme problemlerinde kullanılan yöntemler kesin (exact) ve sezgisel olmak üzere iki şekilde sınıflandırılmaktadır (Wall,1996,s.18). Sezgisel kavramı, faaliyetlerin seçiminde doğrudan doğruya bir olasılık değeri kullanmayıp, GA nın doğası gereği, rastgeleliği içeren sezgisel yöntemleri kullanmaktan kaynaklanmaktadır. Eğer faaliyetlerin seçiminde, sadece olasılık değerlerine yer verilirse, çözüm uzayında en uygun çözümü bulmak çoğu zaman mümkün olamayacaktır. GA ların kullanımında, hala en iyi bir yöntem öne sürülebilmiş değildir. Bu nedenle son yıllarda algoritmalarda faaliyetlerin seçiminde kullanılan yöntemler çoğunlukla sezgisel olmaktadır. Sezgisel yöntemlerde de bir kesinlik söz konusu olmamaktadır. Çoğu zaman optimum sonuç elde edilememekte, optimuma yakın iyi sonuçlar elde edilebilmektedir. Algoritma farklı zamanlarda çalıştırıldığında, aynı sonucu vermeyebilecektir. Çünkü sezgisel yöntemler stokastik özellikler içermektedir. Çizelgeleme tipli problemlerde kullanılacak çizelgeleme yöntemleri kadar, çizelgenin nasıl temsil edileceği ve işlemlerde hangi sezgisel yöntemlerin kullanılacağı gibi konularda alınacak kararlar, algoritmanın performansını etkileyen unsurlardır. Kromozom yapısı, probleme ve algoritmanın yapısına uygun olarak hazırlandığında, üzerinde yapılacak genetik işlemler de daha anlamlı sonuçlar verecektir (Cheng ve Gen,1994,s.737). Algoritmanın hesaplama süresini ve aramanın yönünü, dolayısıyla elde edilecek çözümü etkileyen unsurlar arasında, faaliyet ve kaynakları sıralama işlemleri (Nudtasomboom ve Randhawa,1997,s.230) ve çizelgelemede kullanılacak faaliyet öncelik kuralları gibi unsurlarda yer almaktadır. Bu nedenle, literatürde aynı problem üzerinde uygulama yapılan, farklı sezgisel algoritmalarla karşılaşılmakta ve geliştirilen algoritmaların etkinliği/performansı genellikle literatürde yer alan çalışma sonuçları ile kıyaslanarak değerlendirilmektedir.

105 Sezgisel Yöntemler ve Özellikleri Bu alt başlıkta, GA larda sıkça kullanılan sezgisel yöntemlere yer verilmiştir. Çizelgeleme problemlerinde kullanılan sezgisel yöntemler; öncülleri tamamlanan faaliyetlerin seçiminden, kullanılacak çizelgenin türüne kadar geniş bir yelpazede söz konusu olmaktadır. KKPÇP nin karmaşıklığı nedeniyle GA larda kullanılan tüm sezgisel modeller; faaliyet süreleri, kullanılabilir kaynaklar ve miktarları, kaynak kısıtı olmayan problemlere uygulanan kritik yol metodu ile elde edilen ölçüm değerleri (EST, EFT, LFT, EFT ve Bolluk süreleri) şeklinde sıralanan klasik proje çizelgeleme özelliklerini/kavramlarını temel almaktadır (Pet-Edwards ve Mollaghasemi,1996,s.335) Faaliyetleri Etiketleme Proje çizelgeleme problemlerinde, ilk aşamada yapılması gereken işlerden biri de faaliyetleri etiketlemek (labeling process) dir. Faaliyetleri etiketleme, geliştirilen çizelgede faaliyetleri kriterlerine göre yerleştirmek ya da sıraya koymak amacıyla gerekmektedir (Nudtasomboon ve Randhawa,1997,s.230). Faaliyetler, klasik çizelgeleme yöntemlerinde olduğu gibi, öncülleri tamamlanan faaliyetlere daha küçük sayıların verilmesi ile etiketlenebilir (Erenguc vd.,2001,s.108). Sezgisel modellerde faaliyetler, bazı faaliyet sıralama kuralları kullanarak etiketlenebilmektedir. Bu kurallar, aşağıda Tablo 5.2 de verilmektedir.

106 91 Tablo 5.2: Sezgisel Modellerde Kullanılan Etiketlendirme Kuralları KURALLAR AÇIKLAMASI MAAD (Min.average job duration) En küçük ortalama faaliyet süresi MAD (Max.activity duration) En büyük faaliyet süresi MAAR (max. average resource demand) En büyük ortalama kaynak talebi MTE (min. earliest finish time) En küçük en erken tamamlanma süresi MIL (min. latest finish time) En küçük en geç tamamlanma süresi MILSD (min. of the difference between LFT and smallest duration) En geç tamamlanma süresi ile en küçük faaliyet süresi arasındaki en küçük fark MILAD (min. of the difference between LFT and average duration) En geç tamamlanma süresi ile ortalama süre arasındaki en küçük fark RAND (random) Faaliyetleri rastgele numaralandırma Kaynak: Nudtasomboon ve Randhawa,1997,s.230 Ancak son yıllarda, GA nın karmaşık ve kapsamlı çizelgeleme problemlerine uygulanması nedeniyle, faaliyetlerin etiketlenmesinde, Tablo 5.2 deki kurallar yetersiz ve etkisiz kalmaya başlamıştır. Bu nedenle, sezgisel etiketleme olarak adlandırılan yeni ve farklı etiketleme yöntemleri tercih edilmeye başlanmıştır. Örneğin, öncelik kurallarını içeren etiketleme, çok modlu örneklerde ise mod ve faaliyet sürelerini içeren etiketleme sezgisel etiketleme yöntemlerinden bazılarıdır. Standart dışı etiketlemede dikkat edilecek unsur; GA nın işlemleri esnasında gerekli bilgilerin tümünü içerecek bir yapıda olmasıdır Öncülleri Tamamlanan Faaliyetler ve Öncelik Kuralları GA gibi sezgisel modellerde de klasik yöntemlerde olduğu gibi, proje çizelgeleme; adım adım ve her bir adımda bir faaliyet çizelgelenerek oluşturulmaktadır. Öncelik kuralları, KKPÇP ve karmaşık problemlerin çizelgelenmesinde yaygın olarak kullanılmaktadır. Proje çizelgeme aşamasında, kısıtları karşılayan birden fazla faaliyet içerisinden hangisinin seçilerek çizelgeleneceğini belirlemede kullanılan kurallardır.

107 92 GA ların başlangıç uygulamalarında, sezgisel olmayan uygulamalarda da kullanılan öncelik kuralları, kullanım kolaylığı ve sezgisel olma özelliğinden dolayı önemini korumaktadır (Kolisch,1996a,s.322). Ancak öncelik kurallarından hangisinin kullanılacağı kararının, optimum amaç fonksiyonu değerinden ortalama sapma değeri açısından problemin çözümüne büyük bir üstünlük getirmediği de görülmektedir (Brucker vd.,1999,s.11). Öncelik kurallarından hangisinin kullanılacağı kararı, projeyi çizelgeleme süresi ve algoritmanın yinelenme sayısı gibi önemli unsurları etkilemektedir. Çizelgedeki faaliyetlerin öncelikleri, öncelik kuralları kullanılarak belirlenmektedir. Bunlar (Cheng ve Gen,1994,s.740;Özdamar,1999,s.57): 1. En Küçük Bolluk Değeri (Minimum Total Slack - MINSLACK): Bu kuralda amaç, en az bolluk süresine (slack time) sahip kritik faaliyeti belirlemektir. P j =LFT j EST j - d jm Burada; P j : j faaliyetinin öncelik değeri LFT j : En geç bitirme zamanı EST j : En erken başlama zamanı d jm : j faaliyetinin m modundaki faaliyet süresi dir. MS Project 2000 programı, KKPÇP lerin çözümünde MINSLACK öncelik kuralını kullanmaktadır (Wang ve Lu,2002.s.1979). 2. En Kısa En Geç Bitirme Zamanı (Minumum LFT): LFT kuralının amacı, proje bitirme zamanının artma riskini azaltacak, küçük LFT lere sahip faaliyetleri çizelgelemektir. P j =LFT j Burada; P j :j faaliyetinin öncelik değeri LFT j : En geç bitirme zamanı dır.

108 93 3. En Kısa İşlem Süresi (SPT): SPT nin amacı, en kısa faaliyet süreli faaliyeti göndermektir. P j = d jm Burada; P j : j faaliyetinin öncelik değeri d jm : j faaliyetinin m modundaki faaliyet süresi dir. 4. Rastgele (Random): Bu kural, seçilebilme koşullarını sağlayan faaliyetler arasından bir faaliyetin rastgele seçilmesini sağlamaktadır. P j =RANDOM(ELIGSET) Burada; P j : j faaliyetinin öncelik değeri ELIGSET: Seçilebilir faaliyetler kümesidir RANDOM : Bu fonksiyon, aday çözümler içeren faaliyetler kümesinden bir faaliyeti rastgele seçmektedir. 5. Ağılıklandırılmış Kaynak Kullanım Oranı ve Ardıllık (Weighted Resource Utilization and Precedence - WRUP): WRUP kuralını kullanmada amaç, proje ağında yoğun kaynak ihtiyacında olan ve kendisinden sonra gelen faaliyetlerin (successors) fazla olduğu faaliyetleri mümkün olduğunca erken aşamalara çekerek kaynak darboğazını ortadan kaldırmaktır. P j = W p *npj + (1- W p )* r jmh /R h Burada; P j : j faaliyetinin öncelik değeri W p : öncelik ağırlığıdır ve rastgele seçilir (precedence weight, ve 0 W p 1 ) npj : j faaliyetinin ardıl/öncül faaliyetlerinin sayısıdır (ardıl-ileriye doğru çizelgelemede, öncül-geriyo doğru çizelgelemede) r jmh :m modunda, j aktivitesi için gerekli h tipi (renewable) kaynak miktarı

109 94 dır. R h : h tipi kaynağın kaynak sınırı 6. En Kısa En Geç Başlama Zamanı (Minimum LST): Bu kural da amaç, LST leri erken olan faaliyetleri belirlemek ve böylece kritik faaliyetlerin ertelenmesinden doğacak proje gecikme sürelerini elimine etmektir. P j =LFT j d jm Burada; P j : j faaliyetinin öncelik değeri LST j : En geç başlama süresi dir. 7. En Kısa En Erken Başlama Süresi (Minimum EST): Bu kural da amaç, EST leri erken olan faaliyetleri belirlemek ve böylece kritik faaliyetlerin ertelenmesinden doğacak proje gecikme sürelerini elimine etmektir. P j =EST j Burada; P j : j faaliyetinin öncelik değeri EST j : En erken başlama süresi 8. En Kısa En Erken Bitirme Süresi (Minimum EFT): Bu kural da amaç, EFT leri erken olan faaliyetleri belirlemektir. P j =EST j + d jm Burada; EST j : En erken başlama zamanı dir. d jm : j faaliyetinin m modundaki faaliyet süresi 9. En Fazla Faaliyet Sayısı (Most Jobs Possible - MTS) : MTS nin amacı, j den projenin son faaliyetine kadar olan yolda, en fazla faaliyete sahip faaliyetleri belirlemektir. P j =allons j

110 95 allons j : j faaliyetinden sonra gelen faaliyetlerin sayısıdır. Geri çizelgeleme iterasyonunda allons j, j faaliyetinden önce gelen faaliyetlerin sayısını temsil etmektedir. 10. En Büyük Kaynak Talebi (Greatest Resource Demand - GRD) : Bu kuralda amaç; seçilebilir faaliyetler arasından, en fazla kaynak kullanacak faaliyete öncelik vermektir. Kaynak kısıtlı proje çizelgelemelerde kullanılmaktadır. d j. K r jk k= 1 şeklindeki formül, bir faaliyetin faaliyet süresi boyunca gerekli kaynak miktarını temsil etmektedir. Bu değeri, en fazla olan faaliyet seçilmektedir (Simpson ve Patterson,1996,s.532). Bunlara ek olarak, literatürde çok kullanılan diğer kurallar ise (Boctor,1996,s.351); MAX RWK: Faaliyetin süresi ile kendinden sonra gelen faaliyetlerin sürelerinin toplamı en büyük olan faaliyetlerin seçilmesi kuralıdır. MAX NIS: Kendinden önce gelen faaliyet sayıları toplamı en büyük olan faaliyetin seçilmesi kuralıdır. MAX PTM: En fazla faaliyet süresine sahip olan faaliyetin seçilmesi kuralıdır. MIN PTM: En az faaliyet süresine sahip olan faaliyetin seçilmesi kuralıdır. MAX CAN: Faaliyetin seçiminden sonra, seçilebilir faaliyet sayısı en fazla olan faaliyetin seçilmesi kuralıdır. Öncelik kuralları; çizelgeleme aşamalarında değişik değer almaları (devingen-dinamik) ya da çizelgeleme boyunca sabit değer almalarına (durağanstatik) göre farklılık göstermektedirler. Örneğin SPT durağan bir kural iken, WRUP devingen bir kuraldır (Ulusoy,2006,s.9). Faaliyetlerin önceliklerini belirleme aşamasında kullanılan bu kuralların bazılarını deterministik bazılarını da olasılığa dayalı kurallar olarak da tanımlamak mümkündür.

111 96 Öncelik kurallarında kullanılan EST, LST, EFT, LFT ve Slack (bolluk) değerleri; kritik yol metodu ile hesaplanan değerlerdir (Simpson ve Patterson,1996,s.532). Bu nedenle de durağan öncelik kurallarıdır. Durağan öncelik kuralı, her bir KKPÇP de, bir kereye mahsus olarak hesaplandığından, algoritmanın işlem süresini artırmayan kurallardır. Ancak devingen kurallar, her bir faaliyetin seçim aşamasında yeniden hesaplanarak dikkate alınacağından, algoritmanın işlem süresini etkilemektedirler. Literatürde KKPÇP ler de hangi kuralın daha iyi olduğu konusunda kesin bir yaklaşıma rastlanmamaktadır. Bu nedenle GA uygulamalarında farklı tercihlerin yapıldığı görülmektedir. Bazı GA uygulamaları, özellikle eski uygulamalar, tek bir öncelik kuralını kullanırken, bazı uygulamalarda birden fazlası rastgele bir şekilde seçilerek uygulanmaktadır Çizelge Oluşturma Şemaları (Schedule Generation Schemes-SGS) Özellikle kapsamlı proje çizelgeleme problemlerinde, GA ile olanaklı çizelge hazırlamak için, literatürde konu edilen iki farklı çizelgeleme türü mevcuttur. Bunlar seri çizelgeleme (seri SGS) ve paralel çizelgeleme (paralel SGS) olarak adlandırılmaktadırlar (Debels ve Vanhoucke,2005,s.5). Çizelge hazırlamak için, çizelge türlerinden biri ya da her ikisi birlikte kullanılmaktadır (Kolisch ve Hartmann,1999,s.149). Çizelgeleme; projenin başlangıç konumundan başlayarak, çizelgenin parçalarını adım adım genişletme yoluyla çizelge üretmektedir. Çizelge parçası ise (n+2) faaliyetten oluşan projenin faaliyetler alt kümesidir. Konu edilen çizelge türleri ise, faaliyet ve zaman artışına göre birbirinden faklılık göstermektedirler (Hartmann ve Kolisch,2000,s.395). Seri çizelgeleme faaliyet artışına dayanırken, paralel çizelgeleme zaman artışına dayanır. Her iki çizelgeleme yöntemi de, aday faaliyetler kümesinde bir faaliyetin seçilmesi aşamasında; seçilebilir faaliyetleri derecelendirme ve sıralama açısından, bir ya da daha fazla öncelik kuralı kullanmaktadır.

112 Seri Çizelgeleme (Seri SGS) Seri çizelgelemeler, faaliyet adedi kadar aşamadan oluşurlar ve her bir aşamada, seçilebilecek tamamlama süresi ve kaynak kısıtına uyan faaliyetler kümesinden bir faaliyet seçilmektedir. Seçilen faaliyetin aynı zamanda kukla olmaması gerekmektedir (Kolisch ve Hartmann,1999,s.149). Bu nedenle, her bir aşamada seçilebilecek faaliyetler kümesi (karar kümesi), öncül faaliyetleri tamamlanan ve kaynak kısıtına uyan faaliyetlerden oluşturulmaktadır. Seri çizelgeleme, algoritmanın her aşamasında güncelleştirilmesi gereken üç kümeyi temel alarak çalışmaktadır. Bunlar: Karar kümesi (Aday faaliyetler kümesi): Bu küme, öncülleri bitmiş, seçilebilmeye aday olan faaliyetlerden oluşmaktadır. Tamamlanmış faaliyetler kümesi: Daha önce seçilerek çizelgelenmiş faaliyetler kümesidir. Kalan faaliyetler kümesi: Karar kümesi ve tamamlanmış faaliyetler kümesi dışında kalan faaliyetlerden oluşmaktadır. Başlangıçta; çizelge, karar kümesi ve tamamlanmış faaliyetler kümesi boştur. Faaliyet sayısına eşit olan aşama boyunca her bir aşamada, karar kümesinden bir faaliyet öncelik kuralı uygulanarak seçilmekte ve çizelgeye (kısmi çizelgeye) ilave edilmektedir. Daha sonra karar kümesi, tamamlanmış faaliyetler kümesi ve kalan faaliyetler kümesi güncellenmektedir (Tormos ve Lova,2003,s.1073). Çizelgeleme, çizelgelenecek faaliyet kalmayıncaya kadar devam etmektedir. Seri çizelgelemelerin her aşamasında seçilebilir aday faaliyet kümesi hazırlanması, yöntemde her zaman uygun ve etkin çizelge elde edilmesini mümkün kılmaktadır Paralel Çizelgeleme (Paralel SGS) Paralel çizelgelemenin her aşamasında (g), bir çizelgeleme zamanı t g ve seçilebilecek aday faaliyetleri içeren bir faaliyet/faaliyetler kümesi vardır. Aşama sayısı en fazla J, faaliyet sayısı kadar olmaktadır (Kolisch,1996a,s.323).

113 98 Paralel çizelgeleme algoritmasının her aşamasında, faaliyetler dört küme içinde bulunmaktadırlar (Tormos ve Lova,2003,s.1073; Ulusoy,2006,s.9): Karar kümesi (Aday faaliyetler kümesi): Bu küme, öncülleri bitmiş, seçilebilmeye aday olan faaliyetlerden oluşmaktadır. Tamamlanmış faaliyetler kümesi: Daha önce seçilerek çizelgelenmiş faaliyetler kümesidir. Atanmış ancak henüz tamamlanmamış faaliyetler kümesi: Paralel çizelgeleme esnasında, gerçekleştirilen çizelgeleme adımının birinde atanmış olup, henüz tamamlanmamış faaliyetleri kapsar. Kalan faaliyetler kümesi: Karar kümesi ve tamamlanmış faaliyetler kümesi dışında olan faaliyetlerden oluşmaktadır. Çizelgeleme aşamasındaki bu faaliyetler aşağıdaki Şekil 5.5 de gösterildiği sırada hazırlanmaktadır. Projedeki tüm faaliyetler Kalan faaliyetler Atanmış faaliyetler Tamamlanmış faaliyetler Seçilebilir (aday) faaliyetler Seçilemeyen faaliyetler Şekil 5.5 : Çizelgeleme Aşamasında Faaliyetlerin Sınıflandırılması Kaynak : Salewski vd.,1997,s.95. Çizelgeleme anında ya da adımında, öncül faaliyetleri tamamlanan ve kaynak kısıtına uyan (karar kümesinde bulunan aday) faaliyetler, oluşturulacak projeye ilave edilmektedirler. Karar kümesinde, faaliyet kalmayıncaya kadar bu seçme ve çizelgeye ekleme işlemi devam etmektedir. Karar kümesi boşaldığında, çizelgeleme adımı t g, süreçteki faaliyetlerin en erken bitirme süresine eşitlenerek, paralel çizelgeleme işlemi (iterasyonu) devam etmektedir. Paralel çizelgeleme, öncelik ve kaynak kısıtlarına uyan gecikmesiz çizelge üretmektedirler (Hartmann ve Kolisch,2000,s.396).

114 99 Paralel SGS ile üretilen ertelemesiz çözümler kümesi her zaman en iyi çözümü içeremeyebilirken, seri SGS yöntemindeki çözümler mutlaka en iyi çözümü içermektedir (Ulusoy,2006,s.9) X-Geçişli Yöntem (X-Pass Method) X-Geçişli yöntem; bir ya da daha fazla çizelge hazırlamak için, çizelge üretme planlarından (seri SGS ya da paralel SGS) bir ya da ikisini kullanan, öncelik kurallarına dayalı bir sezgisel yöntemdir (Hartmann ve Kolisch,2000,s.396). Üretilen çizelge sayısına göre, (X=1) ise tek geçişli ve (X>1) ise çok geçişli olarak değişiklik göstermektedir. Her geçişte bir çizelge oluşturulmaktadır (Kolisch ve Hartmann,1999,s.154). Yöntem daha önce üretilen sonuçlardan hiçbir bilgi almaksızın çizelgeleme yapar. Çizelgeye eklenecek bir faaliyetin seçimi öncelik kuralına dayanır. Aday faaliyetler kümesindeki her faaliyet için, öncelik değeri v(j) ye bakılarak seçim yapılmaktadır. Burada v(j) değeri, kullanılan öncelik kuralının amacına uygun olarak en büyük ya da en küçük değer olarak seçilmektedir (Hartmann ve Kolisch,2000,s.396) Tek Geçişli Yöntem (Single Pass Method) Sezgisel olan bu yöntemde, her bir yinelemede(adımda), faaliyetin öncelik değeri v(j) ye göre seçim yapılmaktadır. Öncelik değeri, öncelik kuralları bilgilerinden oluşturulmaktadır. Bir ya da daha fazla öncelik kuralı algoritmada tanımlanarak kullanılabilir. Yöntemde her bir faaliyetin öncelik değeri v(j) aynı kural ile belirlenebileceği gibi, her faaliyette farklı ya da rastgele olarak seçilebilecek öncelik kuralları değeri kullanılabilmektedir. Başlangıçta tüm faaliyetler çizelgelenmemiş olarak kabul edilmektedir. Soldan sağa doğru yapılan her bir yinelemede, kaynak ve öncelik kısıtına uyan faaliyetler çizelgeye dâhil edilerek tüm faaliyetler çizelgelenmektedir (Cheng ve Gen,1994,s.738). Tüm faaliyetler çizelgelendikten sonra tek geçişli yöntemin algoritması sonlandırılır. Tek çözüm oluşturmaya yönelik bir yaklaşımdır. Çok çözüm üretmek için çeşitli yöntemler uygulanabilmektedir. Örneğin üretilecek her

115 100 bir çizelge için ayrı bir öncelik kuralı kullanılması ya da her çözüm için rastgele ayrı bir öncelik kuralı kullanılması gibi (Ulusoy,2006,s.9-11). Seri ve paralel çizelgeleme yöntemleri tek geçişli yöntem olarak tanımlanmaktadırlar. Oysa çok geçişli yöntemde; Z olarak belirlenen bir sayıda, Z geçiş yapılarak en fazla Z adet uygun çözüm üretilerek, bu çözümler içerisinden en iyi olan seçilmektedir (Kolisch,1996a,s.324; Tormos ve Lova, 2003,1074) Çok Geçişli Yöntem (Multi Pass Method) Çok geçişli yöntem, birden fazla geçiş uygulanarak birden fazla çözüm üreten sezgisel yöntemlerdir. Önceden belirtilen sayıda geçiş yapılarak, geçiş sayısı kadar çizelge üretilmekte ve içlerinden en iyisi seçilmektedir. Bu yöntemde, seri ve/ya da paralel çizelgeleme yöntemleri ile beraber öncelik kurallarının kullanılması sonucunda bir çok olası çözüm (çizelge) üretilmektedir. Bu yöntemle birlikte yaygın olarak kullanılan diğer yöntemler; çoklu öncelik kuralı yöntemi, ileriye-geriye doğru çizelgeleme yöntemi ve örnekleme yöntemidir (Hartmann ve Kolisch,2000,s.396). Çoklu öncelik kuralı, çizelgeleme işlemini birçok kez kullanmaktadır. Her seferinde farklı öncelik kuralının baz alınması mümkündür. İleriye-geriye doğru çizelgeleme yöntemi ise ileriye ve geriye doğru çizelgeleme işlemlerinde; alternatif proje üretilmesi amacıyla çizelgelemeyi (SGS yi) de beraber kullanmaktadır (Özdamar,1999,s.45). Örnekleme yöntemleri, genellikle bir çizelgeleme ve bir öncelik kuralı kullanmaktadır. Öncelik kurallarından hangisinin kullanılacağına bağlı olarak seçilen faaliyetler sonucunda, farklı çizelgeler elde edilmektedir. Çizelgeye eklenecek faaliyeti seçmek için, öncelik kuralı değeri v(j) ye ilaveten, bir seçme olasılık değeri p(j) de kullanılabilmektedir. Olasılık değerleri; rastgele örnekleme, yanlı rastgele örnekleme (Biased random sampling-brs), pişmanlığa dayalı örnekleme (Regret based biased random sampling)

116 101 şeklinde örnekleme yöntemleri ile hesaplanmaktadır (Tormos ve Lova,2003, s.1074; Ulusoy,2006,s.10; Hartmann ve Kolisch,2000,s.396). Dolayısıyla faaliyetlerin p(j) olasılık değerlerinin hesaplanma yöntemine bağlı olarak da farklı çizelgeler elde edilmektedir. Rastgele örneklemede, karar (aday) kümesindeki her bir faaliyete aynı olasılık atanmaktadır. Böylece adayların seçilme şansları birbirine eşit olmaktadır. Yanlı rastgele örnekleme ise, faaliyeti seçme olasılığı p(j) yi hesaplamak için öncelik değeri v(j) yi doğrudan kullanmaktadır. Eğer öncelik kuralının amacı, en büyük öncelik değeri v(j) ye sahip faaliyeti seçmek ise; bir faaliyeti seçme olasılığı p(j), o faaliyetin v(j) değerini aday faaliyetler kümesindeki tüm faaliyetlerin öncelik değerleri toplamına bölünerek hesaplanmaktadır. Pişmanlığa dayalı örnekleme, öncelik değerini pişmanlık değeri üzerinden dolaylı olarak kullanmaktadır. En büyük öncelik değeri ile seçim yapılacağı durumda, j faaliyetinin pişmanlık değeri r(j), faaliyetin öncelik değerinin aday seçim kümesindeki faaliyetlerin en kötü (worst) öncelik değerinden farkının mutlak değeri olarak hesaplanmaktadır. İleriye - geriye doğru yineleme (forward-backward pass) yönteminde, gerektiği durumlarda yine öncelik kurallarına dayalı olarak, karar kümesinden faaliyetlerin seçilerek çizelgelenmesi söz konusu olabilmektedir. Algoritmada ileriye - geriye doğru yineleme yapılması klasik yöntemlerde olduğu gibi, kaynak profili (resource levelling) açısından sakınca doğurabileceğinden, olası sakıncaların bertaraf edilebilmesi için, çok geçişli yöntemle birlikte kullanılması daha anlamlı sonuçlar üretilmesine olanak tanıyacaktır. Tek ve aynı olarak seçilebilen öncelik kuralına dayalı olarak yapılan çok geçişli yöntemler ve ileriye-geriye doğru yöntemler deterministik yöntemlerdir. Zira her seferinde aynı çizelgeleme elde edilmektedir. Bu problemi önlemek içinde, aday faaliyetler kümesindeki her bir faaliyete rastgele seçilme olasılıkları atanarak, her bir geçişte farklı çizelge oluşturulması sağlanabilmektedir. Böylece içlerinden en iyi çözüm seçilebilmektedir (Tormos ve Lova.2003,s.1074).

117 Kaynak Kısıtlı Proje Çizelgeleme Problemlerinde Kromozom Temsili GA ların evrimsel ve toplum temelli olmaları nedeniyle çizelgeleme tipli problemlerde çizelge temsil planı, çizelge üretme planı (SGS) ve sonucu değerlendiren bir algoritmanın varlığı gerekmektedir. Tipik bir GA, doğrudan çizelgeleme problemi üzerine uygulanmamakta, projeyi temsil eden kromozom (çizelge) üzerine uygulanmaktadır. Algoritmaya uygun bir şekilde temsil edilen proje üzerinde bir takım genetik işlemler uygulandıktan sonra çizelgeleme yöntemi (seri çizelgeleme) kullanılarak yeni bir çizelge elde edilmektedir (Debels vd.,2003,s.7). Çizelgeleme tipli problemler, dolaylı ya da dolaysız bir şekilde temsil edilebilmektedirler. Hangisi ile temsil edilirse edilsin, kromozomlar ya uygun bir çizelgeyi temsil edecektir ya da uygun çizelgeyi elde edebilecek yeterli bilgiyi içerecektir (Wang ve Lu, 2002,s.1978). Sonuçta çizelge, sıralama tipli (permutation representation) bir temsil şekli olacaktır (Cheng ve Gen,1994,s.737). Dolaylı kromozom temsilleri seçildiği durumlarda; evrimsel hesaplamaların başlangıcında, kromozomdaki bilgilerden yararlanarak, uygun proje çizelgeleyen yordamın mevcudiyeti gerekmektedir. Dolaylı kromozom temsilleri; faaliyetlerin öncelik kuralları, faaliyet süresi, EST, LST ve MINSLACK bilgilerinden oluşturulabilen bir temsil şeklidir. Dolaysız kromozom temsillerinde ise, proje çizelgeleyici bir yordama ihtiyaç duyulmamaktadır. Zaten kromozom üzerindeki bilgiler, proje çizelgesini verecek niteliktedir. Dolaysız kromozom temsilleri, faaliyet listesi, faaliyet adı ile birlikte faaliyet süresi, EST, SPT gibi bilgilerden oluşan bir temsil şeklidir. Dolaysız kromozom ile temsil edilen çizelgeleme problemleri çözümlerine genetik işlemlerin uygulanması oldukça zordur (Hindi vd.2002,s.513). Genetik işlemler uyarlama işlemi yapılmadan doğrudan uygulandığında, kısıtları karşılamayan yeni çözümler üretebilmektedir. Dolaysız kromozomların kullanılması durumunda dikkat edilecek husus, çaprazlama ve mutasyon işlemleri nedeniyle

118 103 kromozomun temsil ettiği çözümün geçersiz çözüme dönüşüp dönüşmediğidir. Geçersiz bir çözümün, kromozom olarak işleme alınması ise, GA işlem sürecini uzatacaktır. Bu nedenle, bazı problemlerde, çaprazlama ve mutasyon işlemlerinde düzenleme ya da uyarlama gerekmektedir (Watanabea vd.,2005,s.745). Literatürde, KKPÇP ler için farklı kromozom temsil şekilleri yayınlanmıştır. Bunlardan en önemli ve yaygın kullanılanlar; faaliyet listesi ile temsil ( Activity List Representation), rastgele anahtar yöntemi ile temsil ( Random Key Representation), öncelik kuralı yöntemi ile temsil ( Priority Rule Representation) başlıcalarıdır (Kolisch ve Hartmann,1999,s ; Debels vd.,2003,s.7) Faaliyet Listesi Faaliyet listesi ile temsil yöntemi, kromozomların dolaysız olarak temsil edildiği bir yöntemdir. Bu yöntemde; λ=(j 1, j 2,.j n ) faaliyet listesi şeklinde temsil edilen bir kromozomda, her bir faaliyet kendinden önce gelen faaliyetlerden daha büyük indise sahiptir. λ=(j 1, j 2,.j n ) faaliyet listesinden bir çizelge elde etmek için seri SGS kullanılabilmektedir. Ancak paralel SGS üzerinde değişiklik yapılmadan uygulanamamaktadır. Başlangıç çözümleri, SGS nin her bir aşamasında uygun aday faaliyetler kümesinden rastgele seçilen faaliyetlerin çizelgelenmesi ile oluşturulmaktadır. Bu çözümden daha iyisini elde etmek için, bir öncelik kuralı ya da öncelik kuralına dayalı örnekleme kullanılarak faaliyetler seçilmelidir. λ=(j 1, j q,, j s,.j n ) faaliyet listesinde, q s olmak üzere j q ve j s öncelik kurallarına uymuyorsa yer değişimi yapılabilmektedir. λ a =( ) λ b =( ) şeklinde olan ebeveyn kromozomlarda, q=4 konumunda yapılacak çaprazlama da çocuk kromozomda tekrarlı j ler oluşacağından, anne kromozomda olmayan j ler

119 104 baba kromozomdan sırasıyla alınarak çocuk kromozom aşağıda görüldüğü oluşturulabilir. λ c =( ) Böylece uygun öncelik sırasına sahip ebeveynden oluşan yeni kromozomda uygun olacaktır Rastgele Anahtar Temsili Rastgele anahtar temsili ile hazırlanan kromozomlar; problemin tipine göre dolaylı ve dolaysız kromozomlar olarak hazırlanabilmektedir. Birçok uygulamada kromozomlar bu yöntemle hazırlanmıştır. Her bir j faaliyeti için oluşturulan rastgele r j değeri atanarak, kromozom p=(r 1, r 2,.r n ) şeklinde hazırlanmaktadır. Rastgele anahtar temsili ile hazırlanacak başlangıç kromozomlarının genleri, ya rastgele ya da bazı öncelik kurallarına dayanarak hazırlanmaktadır. Bu yöntemle hazırlanan kromozom p den yararlanarak çizelge elde etmek için paralel ve seri SGS lerin her ikisi de kullanılabilmektedir. SGS kullanımı ile rastgele seçimlerden kaynaklanan öncelik kısıtı ihlali ortadan kalkacaktır (Debels vd.,2003,s.9). Proje çizelgeleme planının her g aşamasında, bir öncelik kuralına dayanılmıyorsa, en büyük rastgele anahtara sahip j faaliyeti seçilmektedir. Yani r j =max{r i i D g }olmalıdır. Ancak rastgele anahtarlar LFT (en geç tamamlama süresi) kuralı ile oluşturulduysa, en küçük rastgele anahtara sahip faaliyet seçilmelidir. Buradan da anlaşıldığı üzere, rastgele anahtarlar öncelik değeri görevini üstlenmektedirler Öncelik Kuralı Temsili Öncelik kuralına dayanan temsil, kromozomların dolaylı temsil edilmesi şeklidir. Öncelik kuralına dayanan temsil şeklinde, Π=(Π 1, Π 2,. Π n )

120 105 kromozomunda Π i, öncelik kurallarından birini ifade etmektedir. Kromozomda Π i olarak temsil edilen gen, deterministik yolla ya da rastgele belirlenebilmektedir. Π a =(LST, GRUP,MTS,LST,MINSLK,LFT) Π b =(LFT, GRUP,MINSLK,SFT,LFT,GRUP) şeklindeki ebeveyn kromozomlarda, tek noktalı çaprazlama sonucunda, aşağıdaki çocuk kromozom elde edilmektedir. Π C =(LST, GRUP,MTS,SFT,LFT,GRUP) Çizelgeleme işleminde seri ve paralel SGS lerin her ikisi de kullanılabilmektedir. Çizelgelenecek i. faaliyet, Π i öncelik kuralına göre seçilmektedir.

121 106 ALTINCI BÖLÜM KAYNAK KISITLI PROJE ÇİZELGELEME PROBLEMLERİNDE GENETİK ALGORİTMA YÖNTEMİNİN UYGULANMASI VE ANALİZİ Bu bölümde KKPÇP lerin çözümüne yönelik olarak; Delphi 6.0 ve Access 2000 kullanılarak geliştirilen bilgisayar destekli GA da kullanılan örnek KKPÇP lerin özelliklerine, GA ların performanslarının ölçümünde kullanılan yöntemlere, tez kapsamında geliştirilen GA da kabul edilen varsayımlar ve yaklaşımlara yer verilecektir. Geliştirilen GA ların etkin olup olmadığını belirlemek amacıyla literatürde bir takım örnek problemler ve yöntemler kullanılmaktadır. Konuyla ilgili literatür araştırmasında görüldüğü üzere, geliştirilen GA ların test edilmesinde kullanılan problem/problemler üç başlık altında toplanabilmektedir. Bunlar: En iyi sonucu bilinen bir problem. En iyi sonucu bilinen bir kaç problem. Yapay yöntemlerle karmaşık bir şekilde oluşturulan problemler kümesi dir. Araştırmacılar geliştirdikleri GA ların performansını, bu alternatiflerden birini kullanarak test etmektedirler Genetik Algoritmalarda Kullanılan Yapay Kaynak Kısıtlı Proje Çizelgeleme Problemleri ve Özellikleri Literatürde GA ların performansını test etmek amacıyla, özel olarak geliştirilmiş bilgisayar programları ile üretilen farklı KKPÇP ler bulunmaktadır. Yapay problemler olarak adlandırılan bu problemler iki gruba ayrılmaktadır. Biri, J.H. Patterson verileri diğeri de PSPLIB (Project Scheduling Problems Library) verileridir. Patterson verilerinde, her bir problem, 7 51 arasında faaliyet sayısına ve üç adet yenilenebilir kaynak kısıtına sahiptir. Veriler üç kümeye ayrılmıştır. Her bir veri kümesi 110 örnek problem içermektedir. İlk veri kümesi temel alınarak, ikinci

122 107 veri kümesi kaynak ihtiyacı açısından birincinin iki katı, üçüncü küme ise kaynak ihtiyacı açısında birincinin üç katı olacak şekilde hazırlanmıştır (Hindi vd.2002,s.516). R Kolisch, A. Sprecher ve A. Drexl, Patterson un örnek problemlerini yeterince dikkatli hazırlanmadığı düşüncesini taşımaktadırlar. Üretilen problemlerin; proje ağının karmaşıklığı (network complexity), kaynak faktörü (resource factor) ve kaynak gücü (resource strength) adıyla anılan üç faktörle kontrol edilmesi gerektiğini savunmuşlardır. Bazen az faaliyete sahip çizelgeleme problemlerinin, çok faaliyetli problemlerden daha karmaşık olabileceğini ileri sürerek j30 (30 faaliyetli), j60 (60 faaliyetli), j90 (90 faaliyetli), ve j120 (120 faaliyetli) örnek KKPÇP ler hazırlayarak literatüre sunmuşlardır. Faaliyet sayısına göre; j30 (480 örnekli), j60 (480 örnekli), j90 (480 örnekli) ve j120 (600 örnekli) olarak gruplanan veri kümelerinde toplam 2040 örnek bulunmaktadır. Örnekler dört adet yenilenebilir kaynak kısıtına sahiptir (Kolisch vd.,1995,s ). Gerçekleştirilen bu çalışmada, literatürde proje çizelgeleme problemlerinde test amaçlı olarak pek çok örnekte kullanıldığı görülen ve PSPLIB (ftp://ftp.bwl.unikiel.de/pub/operations-research/psplib) de yer alan yapay problemler kullanılmaktadır. Ancak deneysel amaçlı olarak, en iyi sonucu bilinen problemlerin test edilmesi de çalışmamızda mümkün kılınmaktadır. PSPLIB deki yapay problemler, j30, j60, j90 ve j120 olarak sınıflandırılmaktadır ve literatürde çözümü zor olarak bilinen problemlerdir (Ulusoy,2006,s.6). Problemlerin özelliği; projede faaliyet sayısının fazlalığı, faaliyetler arasında karmaşık ilişkilerin varlığı ve farklı kaynak türlerinin birçok faaliyet tarafından kullanılmasıdır. Belirtilen özellikler problemi oldukça karmaşık hale getirmektedir. Dolayısıyla geliştirilen algoritmanın, PSPLIB deki problemler üzerinde test edilmesi, algoritmanın güvenirliğini artırmakta, literatürde geliştirilen GA larda test problemleri olarak yoğun kullanıldığı görülmektedir. J30 problemleri; optimum çözümü bilenen 30 faaliyetli problemlerden oluşmaktadır ve toplam 480 adet farklı problem mevcuttur. Her birinde yine 480 adet farklı problem olan j60 ve j90 problemlerinin optimum çözümü halen bilinmeyen,

123 108 ancak araştırmacılar tarafından üzerinde çalışılan problemlerdir. J120 de,120 faaliyetli 600 adet problem içermektedir. Literatürde yapılan araştırmalar sonucunda, geliştirilen yeni GA lar ile elde edilen, üst sınır ve alt sınır olarak belirlenen sonuçlar yine aynı ortamda yayınlanmaktadır. Böylece, proje çizelgeleme ile çalışanlara, geliştirdikleri algoritmaların performansını karşılaştırmalı olarak değerlendirme imkânı tanınmaktadır. Algoritmanın test edilmesinde seçilen problemlerin özellikleri; karmaşıklığı, büyüklüğü ve kullanılan kaynakların kıtlığı/bolluğu gibi faktörler, çoğu zaman KKPÇ problemlerini oldukça fazla etkileyen faktörlerdir. Bazı geliştirilen algoritmalar, karmaşık olmayan problemlerde etkin sonuç verirken, karmaşık problemlerde en iyi sonucu verememektedirler. Bu nedenle, değişik problemlerin test edilmesinde, problemin özellikleri ve kullanılan parametreler dikkate alınarak yapılmaktadır Proje Ağının Büyüklüğü Proje ağının büyüklüğü, faaliyet sayısına bağlıdır. Çoğu zamanda ağın karmaşıklığını doğurmaktadır. Ağ karmaşıklığı arttıkça basit ağlarda etkin çözüm üretebilen algoritmalar, karmaşık ağlarda etkin/uygun çözüm verememektedirler (Hindi vd., 2002, s.516) Proje Kaynak Kullanım Durumu Projede kullanılan kaynakların kapasitesi, sayısı ve tipleri gibi özellikler karmaşıklığı etkileyen önemli faktörlerdir. Kaynakların projeye etkisi iki ana başlık altında incelenmektedir Kaynak Faktörü (Resource Factor) Kaynak faktörü (RF); projedeki her bir kaynak için, faaliyet başına düşen ortalama kullanım oranını ifade etmektedir. J = Faaliyet sayısı K = Projede kullanılan tüm kaynak türleri ve k=1.k dır. r jk = j faaliyetinin, k tipi kaynaktan kullandığı miktar olmak üzere;

124 109 RF k = JK 1 J j= 1k K x (6.1) şeklinde formüle edilmektedir. Formül (6.1) de r jk >0 ise x=1, aksi halde x=0 olarak değerlendirilecektir. Böylece tüm kaynaklar için kaynak kullanım durumu belirlenebilmektedir. Eğer k. kaynak için, RF=1 ise, her faaliyet bu kaynağı kullanmaktadır. RF=0 ise, hiçbir faaliyet bu kaynağı kullanmamaktadır. Projedeki tüm kaynaklar için kaynak faktörü sıfır olduğu durumda; KKPÇP olarak verilen problemin esasında, kaynak kısıtı olmayan bir problem olduğu açığa çıkacaktır (Hindi vd.,2002,s.516; Kolisch vd.,1995,s ). Kaynak kullanım faktörü, yenilenebilir ve yenilenemeyen kaynak türleri için geçerli olan bir ölçümdür ve (k R,N dir). Yani k kaynağı yenilenebilir (R) ve yenilemeyen (N) kaynak türündedir. Kaynak faktörü, [0,1] aralığında değerler alabilmektedir Kaynak Gücü (Resource Strength) Kaynak gücü (RS); faaliyetler için gereken kaynak miktarının, kullanılabilir kaynak ile ilişkisini belirlemek amacıyla kullanılmaktadır. Kaynakların bol ya da kıt olma durumunu belirlemede kullanılan RS; bir kaynağın kullanılabilir üst sınırının, bu kaynağın ortalama kullanım miktarına bölünmesi ile elde edilmektedir. RS k = k J 1 (6.2) J R j = 1 r jk Formül (6.2) de;. R k : k kaynağının kapasitesini r jk : j. faaliyetinin k kaynağından kullanım miktarını J : proje faaliyetlerinin sayısını temsil etmektedir.

125 110 Böylece RS k nın sıfıra (0) çok yakın olması, k. kaynağın kapasite açısından yetersiz kalacağını göstermektedir. Aksi durumda, projenin tamamlanması açısından k. kaynağın bir sıkıntı yaratmayacağı vurgulanmaktadır. RS k nın bire (1) yakın olması, kaynak gücünün yüksek düzeyde olduğunu göstermektedir. Yüksek kaynak gücüne sahip bir kaynağın da, projeyi tamamlayacak yeterlikte olduğu söylenebilmektedir. Burada da (k R,N) dir. Yani k kaynağı yenilenebilir ve yenilemeyen kaynak türündedir. Tüm kaynak türlerinde kaynak kıtlığını ya da bolluğunu ölçen; R k = max R + RS k ( R - min k k min R k ) (6.3) şeklindeki formülde, RS k bir ölçüm parametresi olarak kullanılmaktadır. Burada;. R k : k kaynağının kapasitesini min R k : projede k kaynağına yapılan taleplerin en azını max R k : projede k kaynağına yaptıkları taleplerin en fazlasını temsil etmektedir ve (k N ) dir. Formül (6.3) den elde edilen RS k ; R RS k = R k max k R R min k min k (6.4) şeklindedir. Formül (6.4) den elde edilen RS k =0 değeri, kullanılan k. kaynak miktarının, mümkün olan en düşük seviyesinde olduğunu göstermektedir. Yine aynı formülden, RS k =1 elde edilirse, kullanılan k. kaynak miktarının, projeyi tamamlayabilmek için gereken en üst kaynak talebini karşılayabilecek seviyede olduğu anlamını taşımaktadır. Böylece kaynak kıtlığı olmadığı söylenebilmektedir (Kolisch vd.,1995,s ).

126 111 Yüksek kaynak faktörü ve/ya da düşük kaynak gücü; çizelgelenen problemin zor problem olduğunu gösterirken, düşük kaynak faktörü ve/ya da yüksek kaynak gücü; çizelgelenen problemin zor olmayan bir problem olduğunu göstermektedir (Kolish,1996,s.331). Bu çalışmada kullanılan problemler; ağ büyüklüğü, kaynak faktörü ve kaynak gücü açılarından karmaşık ve zor olduğu bilinen problemlerdir; bilimsel literatürde de yaygın olarak kullanılmaktadır Uygulamanın Veri Tabanı Yapısı Test amaçlı kullanılan çizelgeleme problemleri, ihtiyaç duyulduğunda tekrar kullanılabilmek için veri tabanında kaydedilmektedir. Çizelgeleme probleminin bilgileri; veri tabanında Proje, Faaliyetler ve Kaynaklar olmak üzere üç tabloda takip edilmektedir. Her bir problemin faaliyetleri ve kaynakları, sadece ilgili çizelgeleme problemine ait olduğundan, tablolar arasında ilişki kurulmuştur. Tablolar arasında kurulan veri tabanı ilişkisi Şekil 6.1 de gösterilmektedir. Kurulan ilişkiler ile bir problemin verileri girilirken, önce problemin kullanacağı kaynakların tanıtılması zorunluluk haline getirilmiştir. Böylece olmayan kaynağı kullanma gibi bir yanlışlık, veri girişi esnasında önlenmektedir.

127 112 Şekil 6.1 : Projede Kullanılan Tablolar ve İlişkileri Veri girişinde kontrol edilen bilgi tutarlılığı, problemin veri tabanından silinmesi aşamasında da göz önünde bulundurulmaktadır. Bir problem veri tabanından silinirken, silinen bir probleme ait tüm kaynak ve faaliyet bilgileri de, veri tabanından silinebilmektedir. Çizelgeleme problemi bilgilerinin, veri tabanında ve ilişkili tablolarda takip edilmesinin nedeni; bilgi tutarlılığının en yüksek seviyede tutulması gayretinden kaynaklanmaktadır Uygulamanın Temel Varsayımları Literatürde ve çalışmamızın 5. bölümünde de konu edilen KKPÇP lerin faaliyet öncelik ve kaynak kısıtları, proje çizelgeleme algoritmalarının temel kısıtlarıdır ve doğal olarak bu algoritmada da temel varsayımlardır.

128 Proje Varsayımları Proje çizelgeleme algoritması, Güvenç (2000) nin çalışması esas alınarak, Delphi 6.0 programı ile geliştirilmiştir. Algoritmada test edilen ve saklanması istenen örnek proje çizelgeleme problemleri (projeler) ise Acess veri tabanına kaydedilerek saklanabilmektedir. Bu nedenle, uygulamada test edilen proje sayısı, sadece bilgisayarın kapasite kısıtına bağlı kalmaktadır. Algoritma MS Project 2003 deki gibi, daha önce girilen problemleri saklama ve gerektiğinde tekrar kullanabilme özelliğini taşımaktadır. Ancak MS Project 2003 den farklı olarak, algoritmanın her çalışmasında, GA mantığından dolayı (itererasyon sayısı nedeniyle) farklı çözümlerle karşılaşılması söz konusu olabilmektedir. KKPÇP problemlerinin, geliştirilen bilgisayar destekli algoritmada çizelge oluşturma esnasında kabul edilen varsayımlar; 1. faaliyet sürelerinin tam sayı olarak tanımlanması, 2. en fazla 150 faaliyetin tanımlanabilmesi, 3. en fazla 50 kaynağın tanımlanabilmesi, 4. veri girişini kolaylaştırmak amacıyla faaliyetlerin kullandığı kaynakların etiketlendirilmesi, 5. ilk ve son faaliyetlerin kukla faaliyet olarak tanıtılması, 6. kritik yol metodunda kullanılan temel değişkenlerin (EST, EFT, LST, LFT ve SLACK) zamanlarının takvim günlerini gösterecek şekilde hesaplaması ve hafta sonlarını da içeren tüm tatil günlerinin dikkate alınmaması hesaba katılmaması, 7. kullanılan kaynakların yenilenebilir kaynak olması, 8. kaynakların proje başlama tarihinde kullanıma hazır olması şeklindedir. Algoritmada kullanılan yenilenebilir kaynaklar; faaliyetlerin kullanım süresi ile kısıtlı olup, faaliyetlerin bitiminde tüm kapasitesi ile serbest kalan kaynaklardır. Yenilenebilir kaynak kullanımı varsayımı nedeniyle; projeye bir kaynak tanıtımı yapıldığında, kaynak yenilenebilir kaynak olarak kabul edilecektir.

129 Genetik Algoritma Varsayımları 1. Başlangıç Toplumu Proje faaliyet sayısından oluşan gen sayısı kadar, rastgele sayılar üretilerek, başlangıç toplumu kromozomları oluşturulmaktadır. Rastgele sayılar, faaliyetlerin öncelik kurallarını temsil etmektedir. 2. Kromozom Yapısı Başlangıç toplumunda oluşturulan kromozomdaki her bir gen, çizelgeleme aşamasında faaliyet seçiminde kullanılacak öncelik sırasını temsil edecektir. Yani kromozomlar öncelik kuralı temsili yöntemi ile oluşturulmaktadır. Kromozomların öncelik kuralları, rastgele anahtar temsili yöntemi ile oluşturulmaktadır. Çalışmamız kapsamında kromozomların oluşturulmasında kullanılan öncelik kuralları ise; 1. MinEST En kısa en erken başlama süresi, 2. MinEFT En kısa en erken bitirme süresi, 3. MinLST En kısa en geç başlama süresi, 4. MinLFT En kısa en geç bitirme süresi, 5. MinSLACK En küçük bolluk değeri, 6. Rastgele - Faaliyetlerin rastgele seçilmesi, 7. Greatest Resouce Demand- En büyük kaynak talebi, 8. MaxProcessingTime- En uzun faaliyet süresi, 9. Shortest Processing Time En kısa faaliyet süresi, 10. MaxOnculSayısı- En fazla öncül faaliyetler sayısı, 11. MaxCandidate En fazla aday faaliyetler sayısı dır. Kromozomların öncelik kuralına dayanan bu temsil şeklinde; kromozomun temsil ettiği proje faaliyet sıra ve süreleri, genetik işlemler nedeniyle bozulmayacak, dolayısıyla basitleştirilmiş genetik işlemlerle etkin sonuç elde edilmeye çalışılacaktır.

130 Kullanılan Çizelgeleme Yöntemi Geliştirilen algoritmada rastgele oluşturulan başlangıç toplumundan, seri SGS yöntemi ile yeni toplumlar oluşturulmaktadır. Seri SGS ile çizelgelemede, her bir çizelgeleme anında çizelgeye yeni bir faaliyet eklenmektedir. Uygulamada oluşturulan başlangıç toplumunun kromozom yapısı, projenin çizelgesini temsil edemeyeceğinden, her toplum için ikinci bir toplum daha oluşturulmaktadır. Oluşturulan bu ikinci toplum projenin alternatif çizelgelerini temsil etmektedir. Bu nedenle algoritma, iki toplum kullanma prensibine dayandırılmaktadır. Birinci toplumun, öncelik kurallarını içeren kromozomlar olarak tasarlanmasının nedeni; alternatif çözüm arayışları nedeniyle uygulanacak genetik işlemler sonucunda, çizelge faaliyetlerinin öncüllük ilişkilerine uymayan çözümleri engellemeye çalışmaktır. Böylece genetik işlemlerden sonra projenin olurluğunu sağlamak ya da uygun proje yapısını bozmadan genetik işlemleri uygulama gibi zaman/işlem maliyeti söz konusu olmamaktadır. Ancak bu yarar, her yeni toplum oluşumunda ikinci toplumu hazırlama zaman/işlem maliyetini de getirmektedir. Uygulamada kullanılan seri SGS de; her çizelgeleme anında, oluşturulan ikinci toplumdaki faaliyetlerin öncelik kısıtları ve kaynak kısıtları yeniden değerlendirilerek, çizelgelenebilir faaliyetler kümesi güncelleştirilmektedir. Kısıtlara uyan bir faaliyet çizelgelendikten sonra, çizelgelenebilir faaliyetlerin ihtiyacını karşılayabilecek düzeyde hala yeterli kaynak/kaynaklar mevcut ise, uygun faaliyetlerin aynı çizelgeleme anında çizelgelenmesine imkân tanınmaktadır. Böylece bir sonraki çizelgeleme işlemi için, çizelgelenebilir faaliyetlerin sayısı artırılarak, öncelik kuralın göre çizelgelenebilir faaliyetlerin seçimi daha etkin yapılmaya çalışılmaktadır. 4. Kullanılan Uygunluk Fonksiyonu Değeri Toplumdaki her bir çizelge alternatifinin (kromozomun) en iyi olanların belirlenmesinde kullanılan uygunluk fonksiyonu hesaplanmasında değişik yöntemlerden yararlanılmaktadır. En küçükleme ve en büyükleme problemlerinde,

131 116 amaç fonksiyonunun kendisi, uygunluk fonksiyonu olarak da kullanılabilmektedir. Ancak KKPÇ problemlerinde, süre uygunluğu ve kaynak uygunluğu şeklinde iki unsur dikkate alınarak bir uygunluk fonksiyonu oluşturulabilmektedir (Güvenç,2000,s.44; Cheng ve Gen,1994,s.738). Bu unsurlar birtakım çalışmalarda birlikte dikkate alınırken, bazılarında sadece süre uygunluğu dikkate alınmaktadır. i) Süre uygunluğu: Süre uygunluk fonksiyonu, aşağıda belirtildiği gibi, f süre = tmax tn + γ (6.1) t t + γ max min formülü ile hesaplanmaktadır. Burada; t max : toplumdaki en uzun proje tamamlanma süresi t n : n. kromozomun proje tamamlama süresi t min : toplumdaki en kısa proje tamamlanma süresi γ : paydanın sıfır olmasını engelleyen (0-1] arasında bir sayıdır. Süre uygunluğu olarak, elde edilen çözümlere ait proje tamamlama süreleri de doğrudan kullanılabilmektedir. Bu çalışmamızda da, süre uygunluğu olarak proje tamamlama süresi kullanılmaktadır. ii)kaynak uygunluğu: Kaynak uygunluğu fonksiyonu; f kaynak = m A( i) A( i) i= m A( i) i= γ + γ (6.2) A(i) 1 : i. kullanılabilir kaynak miktarı A(i) 2 : i. kullanımı aşan kaynak miktarı (aşan miktar) γ : paydanın sıfır olmasından kaçınmak için (0 1) arasında bir değerdir şeklindedir. yaralanılarak, Kromozomların uygunluk fonksiyonu ise (6.1) ve (6.2) fonksiyonlarından f= λ f kaynak + (1-λ) f süre

132 117 şeklinde hesaplanabilmektedir. λ ise (0 1) arasında bir değerdir. Çalışmamızda sadece amaç fonksiyonu değeri, uygunluk fonksiyonu olarak dikkate alınmıştır. Çünkü çalışmamızın amacı; mevcut kaynakların kapasiteleri ölçüsünde en iyi proje süresini bulmaktır. 5. Kullanılan Genetik İşlemler Yerel çözüm alanı dışında olabilecek çözümlere erişmek için iki ya da daha fazla noktalı çaprazlama daha yoğun aramayı gerçekleştirebilmek için de mutasyon işlemleri algoritmada kullanılmaktadır. Parametre giriş penceresinde belirtilen çaprazlama noktası değişken bir şekilde tanımlanabilmektedir. Böylece iki ya da daha fazla çaprazlama noktası tanımlanabilmektedir. Mutasyon işleminde, ters çevirme mutasyonu kullanılmaktadır. Böylece rastgele seçilen bir alt dizideki genlerin sıraları tamamen ters çevrilerek bulunduğu yere yeniden yerleştirilmektedir. Böylece yeni nesile, ebeveyninden kalıtılım yoluyla bazı genlerin geçmesi sağlanırken, diğer bir yandan da genlerde birtakım değişimlerin gerçekleşmesi sağlanmış olmaktadır. Uyumlu bireylerin seçiminde ise elitist seçim yöntemi kullanılmaktadır. Her iterasyonda; bir önceki toplumun en iyi olarak seçilen bir kromozomu, bir sonraki topluma doğrudan, hiç bir işlem yapılmadan aktarılmaktadır. Daha sonra toplum iki eşit parçaya bölünerek ebeveynlerden biri sırası ile en iyilerde seçim yapılırken, diğer ebeveyn ikinci gruptaki kromozomlardan rastgele bir şekilde seçilmektedir. Bu işlemlerin gerçekleştirilebilmesi için her toplum, iyiden kötüye doğru sıralanmaktadır. Algoritmada yapılan tüm bu işlemler neticesinde; çaprazlama, mutasyon ve üreme şeklinde adlandırılan bütün genetik işlemler tez çalışmasına uygulamalı olarak dâhil edilmektedir.

133 Değişik Genetik Parametrelerin Kullanımı Literatürde olduğu gibi, toplum büyüklüğü, çaprazlama oranı, mutasyon oranı ve iterasyon sayısı gibi parametre değerlerinin değişkenliğini destekleyici bir yapıda olması için parametre giriş penceresi hazırlanmıştır. Böylece algoritma, KKPÇP lerin değişik genetik parametreler altında test edilebilmesini destekleyici nitelik kazanmıştır Uygulamaya Veri Giriş Yaklaşımları Geliştirilen algoritmada şimdiye kadar karşılaşılmayan bir şekilde, problemin tanıtımı öncül/ardıl olmak üzere her iki şekilde de yapılabilmektedir. Bu da algoritmanın, başlangıçta önerilen ve PROGEN lib den alınabilecek örnek problemlere (ardıl tipte) bağımlı kalınmayıp, literatürdeki tüm problemlere uygulanabilmesini sağlamaktadır. Özellikle faaliyet sayısının fazla ve karmaşık yapıda olan her tipteki problem, herhangi bir ön çalışma yapmadan rahatlıkla test edilebilmektedir. Geliştirilen algoritmanın bu özelliği, KKPÇ probleminin veriliş tipine bağımlılığını ortadan kaldıran önemli bir unsurdur. Algoritma, Güvenç (2000) in çalışması ve MS Project 2003 esas alınarak hazırlanmıştır. Bu çalışmalarda olduğu gibi, kaynakların ve faaliyet öncelik bilgilerinin girildiği iki ayrı pencerede veri girişini desteklemektedir. Kaynaklar tanımlandıktan sonra, projede konu edilen tüm faaliyetlerin bilgileri girilmektedir. Algoritmada veriler birkaç farklı pencerede girilmektedir. Bunlar; yeni proje/problemin tanıtıldığı proje bilgileri penceresi, genetik işlemlerde kullanılan bilgilerin girildiği parametre bilgileri penceresi, problemde kullanılan kaynakların tanıtıldığı kaynaklar penceresi ve son olarak faaliyet bilgilerinin girildiği ana pencereden oluşmaktadır. Bir problem algoritmaya girilirken, uyulması gereken veri giriş sırası mevcuttur. İlk önce proje adının girilmesi, sonra projede kullanılacak kaynakların tanıtım bilgilerinin girilmesi, daha sonra projede kullanılacak parametrelerin girilmesi ve sonunda faaliyet bilgilerinin girilmesi gerekmektedir. Parametre bilgileri en son olarak da girilebilmektedir.

134 119 Geliştirilen algoritma çalıştırıldığında gelen pencerede, Şekil 6.2 de de gösterildiği gibi, Proje/Yeni komutu ile projenin adı girilerek proje tanıtılmaktadır. Şekil 6.2 : Projenin Tanıtılması Daha sonra Şekil 6.3 de gösterilen pencerede olduğu gibi, projede kullanılacak kaynakların tanıtım bilgileri girilmektedir. Kaynak bilgileri, kaynakların adı, etiketi, yenilebilirliği ve kapasitesinden oluşan bilgilerdir. Şekil 6.3 : Kaynakların Tanıtılması

135 120 Kaynakların tanıtılması aşamasında, dikkat edilecek unsur; kaynak etiketinin varlığı, kaynak kullanımına başlanabilecek tarihin proje başlangıç tarihine uyumluluğu ve kaynakların yenilenebilir olmasıdır. Bir projenin faaliyet bilgilerinin algoritmaya tanıtılabilmesi için kaynaklara atanan kaynak etiketlerin kullanılması, veri girişini kolaylaştırmak ve hatalı veri girme olasılığını azaltmaya yönelik bir yaklaşımdır. Projeye kaynak tanıtımı yapılması aşamasında, Şekil 6.3 de gösterilen ve başlangıç tarihi olarak anılan kaynakların kullanıma hazır olduğu tarihin, Şekil 6.4 de gösterilen parametre giriş penceresindeki proje tarihi ile uyumlu olması gerekir. Aksi halde, faaliyetlerin kullanacağı kaynakların atama işlemleri sağlıklı olmayacaktır. Bu nedenle geliştirilen algoritma tarafından işlem yapılması engellenmektedir. Parametre giriş penceresi ve faaliyetlerin girildiği pencereler sırası ile Şekil 6.4 ve Şekil 6.5 de gösterilmektedir. Şekil 6.4 : Parametrelerin Tanıtılması

136 121 Parametre penceresi ile her bir çizelgeleme problemine ait olacak proje başlama tarihi, toplum büyüklüğü gibi bilgilerin girilmesi söz konusudur. Aksi halde son girilmiş değerler, varsayılan olarak kullanılacaktır. Parametre penceresinde belirtilen proje başlama tarihi, kritik yol hesaplamalarında da kullanılan bir tarihtir. Proje başlangıç tarihinin, o projede kullanılacak kaynakların kullanım tarihi ile uyumluluğu önemlidir. Algoritmanın varsayımları gereğince, kullanılacak kaynakların, proje başlangıcında hazır olması istenmektedir. Algoritmada özellikle genetik işlemlerde kullanılacak bilgilerin değişken olabilmesini sağlamak amacıyla, Şekil 6.4 deki diğer parametrelere yer verilmektedir. Böylece algoritmanın, aynı projede dahi olsa değişik değerlerle test edilmesi söz konusu olabilmektedir. Şekil 6.5 : Faaliyetlerin Tanıtılması Faaliyet bilgilerinin girilmesi aşamasında; bir faaliyet birden fazla öncül/ardıl faaliyete sahipse, bu faaliyetler arasında ; ayıracı kullanılarak tanıtım yapılmaktadır. Faaliyetlerin tamamlanabilmesi için gerekli kaynaklar da, miktarları köşeli parantez içinde belirtilecek şekilde, aralarında ; ayıracı kullanılarak

137 122 tanımlanabilmektedir. Faaliyetlerin kullandığı kaynakları tanımlarken, kaynak adı yerine kaynak etiketi kullanılmaktadır. Proje, faaliyetlerde tek bir karakterden oluşan kaynak etiketini tanımaktadır. Aksi halde tanıtım geçerli olamamaktadır. Bir faaliyet birden fazla kaynak kullanmak durumunda ise bu kaynaklar aşağıda gösterildiği gibi; Kaynak etiketi_1[birim miktar];kaynak etiketi_ 2[birim miktar] olmak üzere, M[1];N[4] şeklinde aralarında ; ayıracı kullanılarak tanımlanmaktadır. Faaliyetler arasındaki bağımlılık ilişkileri, FS (Bitiş-Başlangıç ) olarak işlem görecektir Uygulama Sonuç Bilgileri Bir çizelgeleme problemine ait veri girişleri tamamlandıktan sonra GA nın çalıştırılması sonucunda elde edilebilecek bilgiler aşağıda Şekil 6.6 da Sonuç sekmesi altında gösterilmektedir. Şekil 6.6 : Geliştirilen Algoritmanın Sonuç Bilgileri Kritik Yol Metodu: Şekil 6.7 de gösterilen ekran görüntüsü, KKPÇ probleminin kritik yol metodu ile çözüm sonuçlarını göstermektedir. Bu yöntem kaynak kullanımını dikkate almamaktadır. Buna rağmen ekran görüntüsü, kritik yol metoduyla (KYM) elde edilebilecek çözümden uzaklaşma nedeni olan kaynakların

138 123 profilini izlemek açısından yararlı olabilecek bilgiler içermektedir. Buna ilaveten, öncelik kurallarında kullanılan EST, EFT, LST, LFT ve Slack değerleri gibi KYM de kullanılan değerler izlenebilmektedir. Şekil 6.7 : Kritik Yol Metodu Sonuç Bilgileri Rastgele Oluşturulan Toplum: Projenin çözüm aşamasında, her bir iterasyonda oluşturulan başlangıç toplumu gösterilmektedir. GA nın felsefesi gereği, uygulamada iterasyon sayısı kadar başlangıç toplumu oluşturulmaktadır. Başlangıç toplumu elemanları, faaliyetlerin seçiminde kullanılan öncelik kurallarını temsil eden sayısal bilgilerden oluşmaktadır. Başlangıçta rastgele oluşturulan ve daha sonra genetik işlemlerle değişime maruz kalan toplum bilgiler izlenebilmektedir. Çizelge Kromozomlarını Temsil Eden Toplum ve Sonuçları: Bu ekran görüntüsünde, tüm iterasyonlardaki toplumlardan dolaylı bir şekilde elde edilen çözüm alternatifleri ve her bir alternatifin detay bilgileri verilmektedir. Bu bilgiler; proje tamamlanma süreleri ve proje faaliyetlerinin sırasıdır. Ayrıca algoritmanın

139 124 çözüm uzayındaki arayışları sonucunda oluşan olası çözüm alternatiflerini de izlemek mümkün olmaktadır. Özellikle kapsamlı projelerde, toplum ve kromozomlarını ekrana sığdırmak zor olduğundan, özde bu bilgiler GAKKP_Krom isimli metin dosyasına kaydedilmektedir. Daha sonra, algoritmanın bitiminde bu dosyadan ekran görüntüsü elde edilebilmektedir. Kapsamlı değerlerin içermesi halinde dosyanın doğrudan açılması ve sonuçların izlenmesi gerekmektedir. Şekil 6.8 : Toplumlar ve Çözüm Alternatifleri Şekil 6.8 de bir kısmı gösterilen sonuç dosyasında, her toplumun kromozomları yani elde edilen çözüm alternatifleri tek tek incelenebildiği gibi, hem toplumun hem de GA nın en iyi çözüm sonucuna tekrar dikkat çekilmektedir. Ayrıca çözüm alternatifinin faaliyet öncelikleri Faaliyet sıraları satırında gösterilmektedir. Bu satırdaki, işareti aynı anda başlatılabilen faaliyetlerin belirtilmesi amacıyla

140 125 kullanılırken, - işareti faaliyetlerin bulundukları aşamaları temsil etmektedir. Geliştirilen algoritmada seri SGS kullanıldığından, bir aşamada başlatılan bir faaliyet tamamlanmadan ardıl faaliyetlerin başlaması söz konusu olmamaktadır. En İyi Çözümün Kaynak Kullanım Durumu: GA nın uygulanması sonucunda elde edilen en iyi çözümün bilgileri aşağıda Şekil 6.9 daki gibi bir ekran görüntüsü ile gösterilmektedir. Çizelgelenen projenin, her bir çizelgeleme aşamasında kullanılan faaliyetleri ve kalan kaynak durumunu gösteren bir ekran çıktısıdır. Şekil 6.9 : Optimum Çözüm Bilgileri Aynı çizelgeleme problemi için algoritmanın her bir koşumunda (run) aynı sonuçları elde etme garantisi mevcut değildir. Problemin, sadece Şekil 6.7 de gösterilen KYM sonuç bilgileri deterministik yöntemle hesaplandığından aynı sonuçlar elde edilebilmektedir. Farklı koşumlarda, aynı optimum değerler elde edilse bile olsa, farklı çözümler elde edilebilmektedir. Bu farklılıklar, GA nın rastgele işlemler içermesinden kaynaklanmaktadır.

141 Performans Ölçümüne İlişkin Yaklaşımlar Geliştirilen algoritmanın üstünlük/eksikliklerinin saptanmasının objektif olarak yapılabilmesi için literatürde araştırmacılar değişik yöntemler ve test problemleri kullanmışlardır. Algoritmanın değerlendirilmesinde söz konusu olan asıl unsur, algoritmanın genel olarak nasıl davranış gösterdiğidir. Sezgisel yöntemler kullanıldığından ve belli bir kesinlik söz konusu olmadığından, algoritmanın hangi şartlar altında iyi sonuçlar ürettiği konusunda yapılan tespitler, sonuç kısmında aktarılmaya çalışılacaktır. Literatürde yer alan çalışmalar incelendiğinde, GA ların test edilmesinde kullanılan yöntemlerin özde birbirinden pek farklı olmadığı görülmektedir. GA lar bilgisayarda herhangi bir programlama dili ile yazılan programlardır. Dolayısıyla GA ların performansının değerlendirilmesinde, programın ürettiği çözüm alternatifinin optimuma ne kadar yakın olup olmadığı tartışma konusu edilmektedir. Algoritmanın performansının ölçümü ve değerlendirilmesinde, literatürde kullanılan yöntemler dört temel başlık altında toplanabilmektedir: 1. En iyi çözümü bilinen bir ya da birkaç problemle test edilmesi ve sonuçların karşılaştırılması. 2. Değişik genetik parametreler ile test edilerek sonuçların karşılaştırılması. 3. Elde edilen çözüm için yapılan çabanın dikkate alınması. 4. Karmaşık problem kümesi üzerinde test edilerek sonuçların istatistiksel analize tabii tutulması. Yukarıda ifade edilen yöntemlerden özellikle (1), (2), (3) nolu yöntemler, GA nın proje çizelgeleme konusunda yapılan başlangıç çalışmalarında çok yoğun olarak kullanılmıştır. (3) nolu performans ölçüm yöntemi, bilgisayar teknolojisindeki gelişmeler nedeniyle, değişik bilgisayarlarda (işlemci) yapılan test sonuçlarını karşılaştırmayı imkânsız kılabilmektedir. Çünkü bu çaba, genellikle, CPU-saniye (işlem süresi) olarak kullanılmaktaydı. Bunun yerine, belli iterasyon sonucunda elde edilen çözüm

142 127 kalitesini karşılaştırmak, daha etkin sonuç vereceğinden daha yaygın kullanılmaktadır (Ulusoy,2006,s.4). Günümüzde GA nın, proje çizelgeleme alanında etkinliğini araştırma çalışmaları daha da gelişerek, tek tipte ve basit problemler dışında özellikle karmaşık problemlerde algoritmanın etkin çözümler üretip üretmediği araştırmaları devam etmektedir. Bu nedenle, Kolisch ve arkadaşları tarafından araştırma amaçlı geliştirilen yapay problem kümesi üzerinde test çalışmaları daha da önem kazanmıştır. Karmaşık olarak hazırlanan bu test problemleri, aynı zamanda araştırmacıların geliştirdikleri algoritmaların performansını, literatürde aynı veri kümelerini kullanan çalışmalar ile kıyaslama/karşılaştırma imkânı tanımaktadır. Bu nedenle (4) nolu performans ölçüm yöntemi son yıllarda yaygın kullanılmaktadır. Bunu yanın sıra, destekleyici içerikte diğer yöntemlere de yer verilmektedir. Bu tez çalışmasında da, Kolisch ve arkadaşlarının geliştirdiği test problemleri kullanılarak, daha önce literatürde yayınlanan GA ların sonuçları ile karşılaştırma yapılarak, geliştirilen GA nın performansı değerlendirilmektedir En İyi Çözümü Bilinen Problem ile Test Edilmesi Geliştirilen algoritma, en iyi çözümü bilinen bir problem ile test edilerek, algoritmanın sonucu ile en iyi bilinen çözüm karşılaştırılmaktadır. Yöntemin kullanılmasında amaç, geliştirilen algoritmanın elle çözülen problemlere ve çözümlerine bir yakınsama yapıp yapmadığını irdelemek, geliştirilen GA nın bir çözüm alternatifi olup olmadığını araştırmaktır. Bu nedenle GA ile problem çözme çalışmalarının başlangıç dönemlerinde, araştırmacıların çok sık kullandığı bir yöntem olmuştur. Ancak günümüzde GA larla yapılan çalışmalarda amaçlar gelişerek değişmiş, kapsamlı ve ortak niteliklere sahip problemlerin çözümünde bir yöntem olarak kullanılması söz konusu edilmeye başlamıştır.

143 128 Optimum çözümü bilinen karmaşık problemlerin çözümünü üreten tek ve kesin bir algoritma henüz mevcut olmadığından, yöntemin karmaşık problemlerde uygulanabilmesine yönelik çalışmalar devam etmektedir. Dolayısıyla bu tarz problemleri temel alan algoritma, sadece test konusu edilen basit problemlerde etkin sonuçlar üretebilmekte ve çözümü bilinmeyen karmaşık çizelgeleme problemleri için kesin çözüm alternatifi olamamaktadır. Geliştirilen algoritmanın başlangıç testlerinde, çözümü bilinen problemler üzerinde test edilmesi halen kullanılan bir yöntemdir. Ancak algoritmayı değerlendirmek açısından yeterli bir yöntem değildir. Çünkü yapılan çalışmalar; basit ve bilinen problemlerde optimum sonuç veren algoritmaların, karmaşık problemlerde optimum çözümden oldukça uzak değerler verebildiğini göstermektedir. Literatür incelendiğinde, geliştirilen algoritmaların çözümü bilinen örneklerle test edildiğine sıkça rastlanmaktadır. Ancak, çalışmamız kapsamında da görülmüştür ki, bir problemde en iyi çözüm bulan bir algoritma, diğer problemlerde en iyi çözümü bulamayabilmektedir. Bu nedenle, çözümü bilinen ya da rahatlıkla çözülebilen problemler algoritmanın performansının başarılı bir şekilde değerlendirilmesinde yeterli olamayacaktır. Sonuç olarak, algoritmanın testi aşamasında; öncelikle bilinen problemlerle test edilmesi, algoritmanın başarılı bir şekilde izlenmesi açısından bir gereklilik olmaktadır. Ancak yeterli olduğu söylenememektedir. Dolayısıyla GA ların performans değerlendirilmesinde tek başına kullanılması yanıltıcı sonuçlar verebilecektir Değişik Genetik Parametreler ile Test Edilmesi Algoritmada kullanılan parametre değerleri çözümü ya da çözüme erişim süresini, dolayısıyla algoritmanın sonucunu da etkileyecektir. Bazen mevcut iterasyon sayısı artırıldığında, genetik işlemler ya da oranlar değiştiğinde algoritmadan etkin sonuç elde edilebilmektedir. Parametrelerin seçiminde, literatürde henüz herhangi bir kriter söz konusu olamadığından, algoritmanın hangi şartlar altında, başka bir deyişle, hangi parametrelerin kullanımında daha etkin sonuca ulaştığını belirlemek gerekebilir. Söz konusu edilen problem/problemler, GA

144 129 parametrelerinin değişik değerlerinde test edilerek, geliştirilen algoritmanın hangi parametreler ile daha etkin sonuç verdiği belirlenmeye çalışılmaktadır. Problemin değşik parametrelerle test edilmesi yöntemi, daha çok GA ların başlangıç dönemlerinde ve etkin parametre tanımlarını belirlemeye yönelik yapılan çalışmalarda görülmektedir. GA ların performans ölçümünde farklı parametrelerde birçok sınama yapılması, günümüzde de de hala genel olarak izlenen yöntemlerin başında gelmektedir İstatistiksel Analizlerin Kullanılması İstatistiksel analizlerin kullanıldığı yöntemde algoritma, uygulamaya konu edilen problemler üzerinde test edilerek elde edilen sonuç ya da elde edilen en iyi çözümler, istatistiksel analizlere tabii tutulmaktadır. İstatistiksel analizlerin sonuçları doğrultusunda algoritmanın performansı değerlendirilmeye çalışılmaktadır. İstatistiksel analizlerde, aritmetik ortalamalardan başlayarak değişik analizler yapılabilmektedir. Literatürde yaygın olarak kullanılan yöntemlerden biri de en iyi çözümden ortalama sapma ve bunun standart sapması yöntemidir. Yani en iyi proje tamamlama süresinden ne kadar sapma gösterdiği bilgisi elde edilir. Bu yöntem, en iyi çözümün bilindiği problemlerde, algoritmanın performansını değerlendirmede kullanılan etkin bir yöntemdir. En iyi çözümün bilinmediği durumlarda, problemin alt sınırı ya da üst sınırı ile karşılaştırma yapılmaktadır (Ulusoy,2006,s.4). Algoritma performansını etkin bir şekilde ölçebilmek için, kullanılan alt/üst sınırların çözüme mümkün olduğunca yakın olması beklenmektedir. Ancak eldeki olanaklar, test için kullanılan problemlerin alt sınırı olarak, yine problemlerde verilen alt sınırları kullanmaya yöneliktir. Bu tez çalışması kapsamında geliştirilen algoritmaya ilave edilen yordam ile bu alt sınırların, birçok problemde, problemin kritik yol metodu ile çözüm sonucu olduğu görülmektedir. Algoritmanın sadece bir probleme bağlı kalınmadan ve daha gerçekçi bir şekilde performansının değerlendirilmesi amacıyla, istatistiksel analizler çok yoğun

145 130 kullanılmaktadır. Özellikle GA ların, karmaşık optimizasyon problemlerinin çözümünde bir yöntem olarak kullanılması fikrinin yaygınlaşması sonucunda, performans ölçümünde daha fazla önem kazanmıştır. Çalışmamızda da bu yöntem kullanılarak, literatürde yayınlanan diğer GA lar ile geliştirilen GA karşılaştırılmaktadır Algoritma Performansının Değerlendirilmesi Geliştirilen algoritmayı literatürde yer alan daha önce yapılmış çalışmalarla sağlıklı bir şekilde kıyaslayabilmek amacıyla, her birinde 480 adet çizelgeleme problemi içeren j30, j60 ve j90 veri kümesindeki problemler ile 600 örnek içeren j120 veri kümesindeki problemler test edilmektedir. Böylece, toplam 2040 adet çizelgeleme problemleri test edilerek elde edilen bilgiler değerlendirilme kapsamına alınmaktadır. Her bir veri kümesindeki tüm problemler için en uygun çözüm arayışı, 500 ve 1000 iterasyon kullanılarak iki kere test edilmiştir. Böylece, geliştirilen algoritmanın literatürde yer alan aynı iterasyon sayıları kullanılarak test edilen diğer GA sonuçları ile kıyaslanması mümkün olabilmektedir. Farklı iterasyon sayıları ile test etmenin bir diğer amacı da, iterasyon sayısı olarak belirlenen GA parametresinin, geliştirilen algoritma ile elde edilen çözümler üzerindeki etkilerini izleyebilmektir. Veri kümelerindeki problemlerin test sonuçları, Ekler listesinde sunulmuştur. Örneğin j301 2 örnek problemi; j30 olarak anılan 30 faaliyetli örnek problemlerin listesi olan Ek-1 de, parametre sütununda 1 ve örnekler sütununda 2 değerini içeren satırdaki problemi temsil etmektedir. Benzer şekilde j örnek problemi, aynı listede parametre sütunu 10 ve örnekler sütununda 4 değerini içeren satırdaki problemi temsil etmektedir. Dolayısıyla Ekler de gösterilen tabloların ilk iki sütunu, problemin etiketine yönelik olarak kullanılmaktadır. 30 faaliyetli örnek problemlerin optimum değerleri 3. sütunda gösterilmektedir. Bu değerler, şimdiye kadar geliştirilmiş ve revize edilebilmiş optimum değerlerdir. Ancak diğer örnek kümelerinde durum biraz farklılık

146 131 göstermektedir. Faaliyet sayısının daha fazla olduğu j60, j90 ve j120 veri kümelerinde, optimum değerler için alt ve üst sınırlar gösterilmektedir. Ek 1 den Ek 8 e kadar yer alan eklerdeki bilgiler, koyu çizgi ile iki kısma ayrılmıştır. Soldaki bilgiler literatürde yayınlanan bilgileri içerirken, sağdaki bilgiler geliştirilen GA dan elde edilen bilgilerdir J30 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J30 veri kümesinin özelliği, 30 faaliyetli ve yenilenebilir 4 kaynak kullanan çizelgeleme problemlerini içermesidir. İnternet ortamında kullanıma sunulan ve Kiel Üniversitesi nin PSPLIB inden, ftp://ftp.bwl.uni-kiel.de/pub/operationsresearch/psplib adresinden alınan bu problemlerin yine aynı ortamda optimum proje tamamlama süreleri de mevcuttur. Dolayısıyla bu kümedeki problemler kullanılarak, geliştirilen algoritmanın optimal çözümden sapmaları analiz edilebilmektedir. Veri kümesindeki her bir proje çizelgeleme probleminin optimal çözüm değerleri ve geliştirilen algoritma ile 500 ve 1000 iterasyon sonucunda elde edilen değerler Ek 1 ve Ek 2 de gösterilmektedir. Ek 1 de ilk iki sütun, problemin etiketi olarak kullanılmaktadır. Optimum sütunu ise bu veri kümesi için yayınlanmış optimum değerleri içermektedir. Optiumum değerleri hesaplanmayan örneklerde, kritik yol değerlerinin verildiği beyan edilmiştir. Problemlerin çözüm sonuçları, genel olarak bu değer ile kıyaslanarak, diğer araştırmacıların yaptıkları çalışmalarla karşılaştırılabilmektedir. Ek 1 de de gösterildiği gibi; geliştirilen algoritma ile j305 3 ve j305 7 gibi örnek problemlerde, yayınlanan optimum değerden az da olsa (%1 oranında) daha iyi çözümler üretmektedir. Yani bu örneklerde literatürde yayınlanan en iyi proje süresi 76 birim iken, geliştirilen algoritma 75 birimlik bir proje süresine erişmiştir. J örneğinde ise elde edilen çözüm, %5 oranında daha iyidir. Örnekte optimum proje süresi 81 olarak yayınlanmış iken, geliştirilen algoritma 77 birim ile daha açık bir iyileşmeye neden olmuştur.

147 132 Algoritmanın, ilgili veri kümesindeki tüm örnek problemleri için yukarıda bahsedildiği gibi düzenli bir şekilde literatürde yayınlanan değerlerden daha iyi sonuçlar vermediği gözlenmektedir. Bazı örnek problemlerin geliştirilen algoritmada elde edilen çözüm değerleri, yayınlanan iyi çözümlerden oldukça büyük sapmalar gösterdiği ve daha uzun proje süresi ürettiği görülmektedir. Örneğin; j302 7 ve j gibi örneklerde %51, j probleminde de %46 lık sapma ile optimum değerden daha büyük çözümler elde edilmektedir Tablo 6.1 de, literatürde daha önce yayınlanan en iyi sezgisel algoritmaların optimum çözümden ortalama sapma yüzdeleri gösterilmektedir. Geliştirilen algoritmada elde edilen çözüm değerlerinin, optimal değerlerden ortalama sapması Tablo 6.1 in son satırında gösterilmektedir. Tablonun son iki sütununda, algoritmaların 500 ve 1000 iterasyon sonucunda elde edilen çözümlerinin, yayınlanan optimal çözümden ortalama sapmaları gösterilmektedir. Tablo 6.1 de 500 iterasyonda elde edilen en iyi proje sürelerinin, optimal değerlerden ortalama %26 sapma ile literatürde yayınlanan en iyi çalışmaların gerisinde kaldığı görülmektedir. Tormos ve Lova nın 2001 ve 2003 yıllarında yapmış oldukları çalışmalarında %0.23 değeri ile en iyisi olduğu görülmektedir. Tablo 6.1 de de görüldüğü gibi, geliştirilen algoritma diğer araştırmalar ile kıyaslandığında; %25 sapma değeri ile optimum çözümden en fazla sapan algoritmadır. Kıyaslamada temel alınan diğer algoritmalar, %0.23 ile %2.08 arasında sapma değerleri ile optimuma oldukça yakın değerler üretirken, çalışmamız çerçevesinde geliştirilen algoritmada sapmanın oldukça yüksek olduğu gözlenmektedir iterasyon ile çalıştırılan algoritmamızın sonuç değeri de 500 iterasyonlu sonuçlardan pek farklı çıkmamıştır. Elde edilen çözümler, optimal çözümlerden ortalama %25 sapma göstermektedir.

148 133 Tablo 6.1. Sezgisel Yöntemlerin Performansları (j30 veri kümesi) Yıl Araştırmacılar Çizelge Sezgisel yöntemler Yöntemi 2003 P.Tormos ve A.Lova P/S Pişmanlığa dayalı Optimum çözümden ortalama sapma % örnekleme (çok geçişli) 2001 P.Tormos ve A.Lova P/S Pişmanlığa dayalı örnekleme 2000 S.Hartmann P/S GA K.Bouleimen ve H.Lecocq S Benzetim tavlama S.Hartmann S Faaliyet listesi A.Schirmer P/S Adapte edilmiş T.Baar, P.Brucker ve - Tabu arama S.Knust 1998 S.Hartmann S Rastgele anahtar S.Hartmann S Öncelik kuralı R.Kolisch ve A.Drexl P/S Adapte edilmiş R.Kolisch S Min LFT R.Kolisch P Min LFT R.Kolisch P WCS R.Kolisch S Rastgele R.Kolisch P Rastgele V.Leon ve B.Ramamoorty - GA Geliştirilen algoritma S Rastgele anahtar ve öncelik kuralı Kaynak : Tormos ve Lova,2003,s.1082 Ek 1 de, işlem süreleri sütununda, genetik işlemlerin çalışma süresi gösterilmektedir. Ancak daha sonraki eklerde, bu sürenin hesaplanması değiştirilerek çizelgeleme süresi temel alınmıştır. Bu nedenle tekrarlanan testler sonucunda, geliştirilen GA nın karmaşık proje çizelgeleme problemlerine ortalama 29 saniye gibi kısa bir sürede optimuma yakın değer verdiği gözlenmektedir. Bu da, geliştirilen GA nın 30 faaliyet gibi az faaliyetli proje çizelgeleme problemlerinde, kısa sürede genel bir fikir verebilmesi açısından önemlidir. Ek 1 ve Ek 2 de görüldüğü gibi, farklı iterasyonlar sonucunda ortalama sapmada %1 gibi daha az bir ortalama sapma gözlenmektedir.

149 134 Aynı veri kümesindeki örnekler 1000 iterasyonda test edildiğinde, bazı örneklerde daha iyi sonuçlar elde edilmiştir. Örneğin j305 2 örnek problemde 500 iterasyonda en iyi süre 82 birim iken, 1000 iterasyonda %21 sapma ile 65 birim proje süresinin elde edildiği görülmüştür. Benzer iyileşme j305-3 probleminde de gözlenmektedir. J305-3 probleminde 500 iterasyon ile yapılan uygulama %1 oranında iyi çözüme yakınsama yaparken, 1000 iterasyonda %4 oranında bir yakınsama ile daha iyi çözüm elde edilmiştir. Ancak diğer örneklerde incelendiğinde, çalışmamızda iterasyon sayısını artırmak her zaman daha iyi çözüm elde edileceği anlamını taşımadığı görülmektedir. Örneğin, j305 7 de %1 sapma ile 75 birim proje süresi elde edilirken, 1000 iterasyonda 80 birim olarak elde edilmiştir. Böylece 1000 iterasyon ile yapılan deneme sonucu elde edilen en iyi çözümün, 500 iterasyon ile yapılan deneme sonucunda elde edilen en iyi çözümden daha az yakınsama yaptığı gözlenmektedir. Ek 1 ve Ek 2 de sunulan sonuçlar incelendiğinde, daha başka problem örneklerinde de bu durumlara rastlamak mümkün olacaktır. Ancak her iki duruma uymayan, yani 500 ve 1000 iterasyon sonucunda da aynı optimum proje sürelerinin elde edildiği örneklerde söz konusudur. Örneğin j301 3, j301 6, j301 7 vb. Ek 1 ve Ek 2 de, * işareti bulunan satırlarda, literatürde bulunan optimum değerlerden daha iyi sonuçların elde edildiği örnekler de söz konusu olmaktadır. Daha iyi sonuçların alındığı örnek sayısının; 500 iterasyonda ve 1000 iterasyonda 6 adet olduğu görülmektedir. Kıyaslama sonucu göstermektedir ki: (1) Daha iyi çözüm elde etmek amacıyla iterasyon sayısını artırmak, bazı algoritmalar için etkili olurken, bu çalışmada etkili olmamıştır. İterasyon sayısını artırmak her zaman/ her algoritmada fayda sağlayamamaktadır. (2) Çözüm uzayındaki arama sonuçlarını doğrudan almak yerine, kromozomları iyileştirme ya da tekrarlı olanları ayıklama gibi çözüm tercihlerine algoritmada yer verilmesi gerekebilmektedir.

150 J60 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J60 veri kümesinin özelliği, 60 faaliyetli ve 4 kaynak kullanan çizelgeleme problemlerini içermesidir. İnternet te kullanıma sunulan ve PSPLIB den alınan bu problemlerin optimum çözümleri hala mevcut olmamakta ve araştırma konusu olmaya devam etmektedir. Araştırmacılar tarafından geliştirilmiş sezgisel algoritmalar ile elde edilen, proje tamamlama sürelerinin alt ve üst sınırları mevcuttur. Bu alt ve üst sınırlar, şimdiye kadar yapılan çalışmalardan elde edilen sonuçlardan oluşturulmuş sınırlardır. Ancak yine de her problemin alt ve üst sınırları belirlenmemiştir. Belirlenmeyen sınırlar için kritik yol metoduyla elde edilen proje tamamlama süresi kullanılmaktadır. J60 kümesindeki problemler test amaçlı kullanıldığında, geliştirilen algoritmanın konu edilen bu sınır değerlerinden sapmaları analiz edilebilmektedir. Çalışmamızın analiz sonuçları, literatürde daha önce yayınlanan sezgisel algoritmalar ile kıyaslanarak Tablo 6.2 de gösterilmektedir. Tablodaki boş hücreler, bulundukları satırdaki çalışmaların bu verilere yönelik yayınlanmış bilgileri olmadığını ifade etmektedir. Tablo 6.2 de görüldüğü gibi, geliştirilen algoritmanın, gerek 500 iterasyonda gerekse 1000 iterasyonda üst sınır değerlerinden, ortalama %37 sapma ile çözüm bulan algoritma olduğu gözlenmektedir. Yine aynı tablonun son iki sütununda da görüldüğü gibi, her iki iterasyon sonucunda, alt sınır değerlerinden ortalama %39 sapma ile yine bu tabloda gösterilen algoritmalar içinde optimum çözümden en fazla sapan algoritma olduğu gözlenmektedir. Ek 3 ve Ek 4 de de her örneğin sonuçları gösterilmektedir. 500 ve 1000 iterasyonda yapılan testler sonucunda, ortalama sapma değerlerinin her ikisinde de aynı ve 0,37 olduğu gözlenmektedir. Bu da iterasyon sayısının artırılması ile optimum çözüme yaklaşma arasında bir bağın olmadığının göstergesidir.

151 iterasonda j605 5 de, proje tamamlama süresi 103 olarak bulunmuş ve yayınlanan optimum değerden daha iyi sonuç elde edilmiştir iterasyonda aynı problem için proje tamamlama süresi 99 olarak hesaplanarak daha iyi sonuç elde edilmiştir. Ancak bu iyileşme sistematik şekilde, her örnek için söz konusu olamamaktadır. Örneğin, j605 2 de durum tersidir. Yani 500 iterasyonda geliştirilen algoritma proje süresini 130 olarak bulurken, 1000 iterasyonda proje tamamlama süresi 132 olarak bulunmuştur. Dolayısıyla daha iyi çözümler elde etmek amacıyla, salt iterasyon sayısını artırmak, bu veri kümesindeki veriler için bazen etkili olabilmekte ancak yeterli bir unsur olamamaktadır. Algoritma, 60 faaliyetli verilere ortalama 3 4 dakika gibi bir sürede çözüm üretebilmektedir. İşlem süresi, örnek problem için kullanılan iterasyon sayısı, çaprazlama noktası sayısı ve toplum büyüklüğü gibi parametrelerden doğrudan etkilenmektedir. Ancak çalışmamız boyunca, genel bir fikir oluşturması açısından bu parametreler sabit tutulmuştur. Kıyaslama sonucu göstermektedir ki: (1) Daha iyi çözüm elde etmek amacıyla iterasyon sayısını artırmak, bazı algoritmalar için etkili olurken, bu çalışmada etkili olmamıştır. İterasyon sayısını artırmak her zaman fayda sağlayamamaktadır. (2) Çözüm uzayındaki arama sonuçlarını doğrudan almak yerine, kromozomları iyileştirme ya da tekrarlı olanları ayıklama gibi çözüm tercihlerine algoritmada yer verilmesi gerekebilmektedir. Böylece arama esnasında, optimum çözümlere erişme olasılığı artırılacaktır.

152 137 Tablo 6.2. Sezgisel Yöntemlerin Performansları (j60 veri kümesi) Üst sınırdan Kritik yol temelli alt ortalama sapmalar sınırdan ortalama sapmalar Yıl Araştırmacılar Çizelge Sezgisel yöntemler Yöntemi 2003 P.Tormos ve A.Lova P/S Pişmanlığa dayalı örnekleme-çok geçişli P.Tormos ve A.Lova P/S Pişmanlığa dayalı örnekleme S.Hartmann P/S GA K.Bouleimen ve H.Lecocq S Benzetim tavlama S.Hartmann S Faaliyet listesi A.Schirmer P/S Adapte edilmiş T.Baar, P.Brucker ve S.Knust - Tabu arama S.Hartmann S Rastgele anahtar S.Hartmann S Öncelik kuralı R.Kolisch ve A.Drexl P/S Adapte edilmiş R.Kolisch S Min LFT R.Kolisch P Min LFT R.Kolisch P WCS R.Kolisch P Rastgele R.Kolisch S Rastgele V.Leon ve B.Ramamoorty - GA Geliştirilen algoritma S Rastgele anahtar ve öncelik kuralı Kaynak : Tormos ve Lova,2003,s.1082

153 J90 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J90 veri kümesinin özelliği, 90 faaliyetli ve yenilenebilen 4 kaynak kullanan çizelgeleme problemlerini içermesidir. İnternet te kullanıma sunulan ve PSPLIB den alınan bu problemlerin optimum çözümleri hala mevcut bulunmamaktadır. Optimum çözümleri yerine, araştırmacıların geliştirdikleri algoritmalarla elde edilen en iyi proje tamamlama sürelerinin alt ve üst sınırları bulunmaktadır. J90 veri kümesindeki problemlerin optimum çözümleri hala araştırma konusu olmaya devam etmektedir. Geliştirilen algoritmanın bu veri kümesinden elde edilen test sonuçları ve diğer veri kümesinden 500 ve 1000 iterasyon ile elde edilenlerin en iyi sonuçları, Tablo 6.3 de literatürde en iyi sonuç elde edilen algoritmalarla karşılaştırılarak gösterilmektedir. Tablo 6.3 de 5000 iterasyonlu test sonuçlarının, optimal sonuçlardan ortalama sapmalar gösterilmektedir. Rank sütunu, kendi veri kümesi içinde iyiden kötüye doğru sıralamaları göstermektedir. Tablodaki boş hücreler, bulundukları satırdaki çalışmaların bu verilere yönelik yayınlanmış bilgileri olmadığını ifade etmektedir. Çalışmamızda 500 ve 1000 iterasyonda test edilen verilerin sapmaları mevcuttur ve dolayısı ile bu iterasyonlarda elde edilen ortalama sapma değeri tabloda kıyaslama amaçlı kullanılmaktadır. Ek 1 ile Ek 8 arasındaki sonuçların son satırları yani ortalama sapmaları incelendiğinde; iterasyon sayısını artırmak, daha iyi sonuçların elde edilmesini garanti edememektedir iterasyonda yapılan test sonuçları ile 500 iterasyonda elde edilen sonuçlar kıyaslandığında, bazı problemlerde aynı ya da bazen de daha kötü çözüm sonuçları elde edilmektedir. Elde edilen bu sonuçlardan sonra 5000 iterasyonla tekrar test edilme gereği görülmemektedir.

154 139 Tablo 6.3. Sezgisel Yöntemlerin Performansları (j90 veri kümesi) J30 J60 J90 Araştırmacılar Sapma% Rank Sapma% Rank Sapma% Rank S.Hartmann (1998) Alcaraz ve Maroto (2001) S.Hartmann (2002) Bouleimen ve Lecocq (2003) Debels vd. (2003) Çalışmada geliştirilen algoritma Kaynak : Debels vd.,2003,s.29 Tablo 6.3 ün son satırında gösterildiği gibi, bu çalışma kapsamında geliştirilen algoritmanın, özellikle j90 veri kümesi için oldukça fazla sapma gösterdiği görülürken, diğer çalışmalarda olduğu gibi j60 ve j30 verilerinde bu sapma değeri giderek azalmaktadır. Yapılan literatür araştırmalarında, j90 verileri için pek fazla karşılaştırma yapılabilecek sonuç değerlerine rastlanamamıştır. Araştırmacıların genellikle j30, j60 ve j120 veri kümelerini tercih ettikleri saptanmıştır. Bu nedenle, Tablo 6.3 de de görüldüğü üzere, j90 verileri için sadece bir yayınlanmış algoritma ile kıyaslanmaktadır. Geliştirilen algoritma, j90 veri kümesindeki projeleri %41 sapma değeri ile çizelgeleyebilmektedir. Ancak, literatürde %11 sapma ile daha iyi çizelgeleme çözümü bulan algoritmanın mevcut olduğu görülmektedir. Kıyaslama sonucu, algoritmaya daha sonraki çalışmalarda çok daha etkin arama tekniklerinin ilave edilmesi gerekliliğini göstermektedir. Çözüm sonuçlarını doğrudan almak yerine, iyileştirme ya da tekrarlı olanları ayıklama gibi çözüm tercihlerine algoritmada yer verilmesi gerekebilmektedir. Böylece arama esnasında, optimum çözümlere erişme olasılığı artırılacaktır.

155 J120 Veri Kümesi ile Elde Edilen Sonuçların Değerlendirilmesi J120 veri kümesinin özelliği, 120 faaliyetli ve yenilenebilen 4 kaynak kullanan çizelgeleme problemlerini içermesidir. İnternet te kullanıma sunulan ve PSPLIB den alınan bu problemlerin optimum çözümleri hala mevcut bulunmamaktadır. Optimum çözümleri yerine, araştırmacıların geliştirdikleri algoritmalarla elde edilen en iyi proje tamamlama sürelerinin alt ve üst sınırları bulunmaktadır. J120 veri kümesindeki problemlerin optimum çözümleri de hala araştırma konusu olmaya devam etmektedir. Tablo 6.4 de görüldüğü üzere, son satırda gösterilen test sonuçları ile geliştirilen algoritmanın 500 ve 1000 iterasyonlu denemeler sonucunda, üst sınırdan 0,48 sapma ile proje çizelgeleme çözümleri ürettiği saptanmaktadır. Ancak Tormos ve Lova nın 2003 de geliştirdikleri algoritma, artan iterasyon sayısı ile daha iyi çözümler üretmektedir. Ancak geliştirilen algoritma ile aynı veri kümesine yapılan farklı iterasyon denemeleri, iterasyon sayısının artışı ile daha iyi çözümler elde edilemediğini göstermektedir. Ek 7 ve Ek 8 deki j120 örnek problem sonuçları incelendiğinde; diğer veri kümelerinde olduğu gibi bazı örneklerde iterasyon sayısının artışı ile daha iyi çözümler elde edilmektedir. Ancak genel olarak açık bir farkın olmadığı, ortalama sapma değerlerinden de anlaşılmaktadır. Bu sonuçlarda, iterasyon sayısının artışının, iyi çözümler elde edilmesinde yeterli olmadığını ancak gerekebileceğini göstermektedir. Sonuç olarak geliştirilen algoritma, j120 olarak adlandırılan 120 faaliyetli projelerde literatürün en iyisi olan diğer algoritmalara göre daha iyi sonuçlar üretememiştir. Ancak algoritma, ortalama 8-10 dakika gibi bir sürede çizelgeleme probleminin tamamlanma süresi hakkında genel bir fikir oluşturmaktadır.

156 141 Tablo 6.4. Sezgisel Yöntemlerin Performansları (j120 veri kümesi) Üst sınırdan ortalama sapmalar Kritik yol temelli alt sınırdan ortalama sapmalar Yıl Araştırmacılar Çizelge Sezgisel yöntemler Yöntemi Rank 2003 P.Tormos ve A.Lova P/S Pişmanlığa dayalı örnekleme-çok geçişli 2001 P.Tormos ve A.Lova P/S Pişmanlığa dayalı örnekleme S.Hartmann P/S GA S.Hartmann S Faaliyet listesi K.Bouleimen ve H.Lecocq S Benzetim tavlama-activity list S.Hartmann S Öncelik kuralı S.Hartmann S Rastgele anahtar A.Schirmer P/S Adapte edilmiş R.Kolisch P Min LFT R.Kolisch P WCS R.Kolisch ve A.Drexl P/S Adapte edilmiş R.Kolisch S Min LFT Leon ve Ramamoorty P GA R.Kolisch P Rastgele anahtar R.Kolisch S Rastgele anahtar Geliştirilen algoritma S Rastgele anahtar ve öncelik kuralı Kaynak : Tormos ve Lova,2003,s.1083

157 142 Değişik veri kümelerine yapılan testler sonucunda geliştirilen GA da aşağıda belirtilen sonuçlara ulaşılmaktadır: 1. İterasyon sayısını artırmak, bazen oldukça iyi çözümler elde edilmesini sağlamaktadır. Ancak sistematik bir şekilde ve her zaman iyi çözümlere ulaşılacağı anlamına gelmemektedir. Örneğin Ek 1 de, j örnek probleminde 500 iterasyonda 91 birimlik proje süresi bulunurken, 1000 iterasyonda 52 birim olarak oldukça iyileşmiş bir proje süresi elde edilmiştir. Ancak bu durumun karşıtını, yine bariz bir örnek olarak j örnek probleminde görmek mümkün olmuştur. j örnek probleminde 500 iterasyonda 78 birim olan proje süresi, 1000 iterasyonda 93 birim olarak arttığı görülmektedir. Dolayısıyla Ek 1 ve Ek 2, Ek 3 ve Ek 4 vb. ekler ikilisinde de gösterildiği gibi gibi; aynı veri kümesi için iterasyon sayısını artırma yolu ile çözüm uzayını genişletme yöntemi, daha iyi çözümleri elde edebilmek açısından yeterli olamamaktadır. 2. Daha iyi çözümler elde etmek amacıyla çözüm uzayını genişletmek, yani iterasyon sayısını artırmak yeterli bir şart olamamakla birlikte, gerekli bir unsur olarak değerlendirilebilmektedir. Böylece rastgele genişletilen çözüm uzayında en iyiye rastlama olasılığı değerlendirilerek, etkin çözüm arayışlarına imkan tanınabilmektedir. Bu nedenle, çizelgeleme problemlerine çözüm arayışları esnasında kullanılması gerekmektedir. 3. Yine çalışmada özellikle optimum çözümden büyük sapmalar gösteren örnek problemlerin çözümünde çaprazlama noktası sayısını artırarak yapılan denemelerde de sistematik bir iyileşmeye rastlanamamış, rastsal olarak daha iyi ya da daha kötü çözümlere rastlanmıştır. 4. Geliştirilen algoritmada, farklı parametrelerle yapılacak testlerle elde edilen çözümlerden en iyisini seçmek gerekmektedir. Çizelgeleme probleminin en

158 143 iyi çözümünün elde edilmesi arayışında; farklı çaprazlama noktası, artırılan iterasyon ve toplum sayıları ile yapılan denemeler sonucunda elde edilen çözümler içerisinden en iyisini seçmek gerekmektedir. Bu amaçla, yapılan denemelerde, parametrelerin farklı kombinasyonları ile de deneme yapılması tavsiye edilebilmektedir. 5. Çok faaliyetli ve çözümü zor j30, j60, j90 ve j120 çizelgeleme problemlerinde, yine aynı sırada ortalama 29 saniye, 4 dakika, 5 dakika ve 8,5 dakika gibi kısa işlem süreleri sonucunda çözüm alternatiflerinin elde edilmesi, GA kullanımının önemini artırmaktadır. Geliştirdiğimiz algoritma, optimuma çok yakın sonuçlar vermese bile bu kadar kısa bir sürede, çizelgeleme projesinin tamamlanma süresi hakkında global bir bilgiye erişim söz konusu olabilmektedir. Dileğimiz, daha sonraki çalışmalarımızda algoritmaya, optimum çözüme daha fazla yakınsama yapacak işlemlerin ilave edilmesi ile bu ve benzeri sürede daha etkin çözümler üretebilmektir.

159 144 YEDİNCİ BÖLÜM SONUÇ Birçok işletme, özellikle fazla sayıda kaynak kullanan ve faaliyet sayısı çok olan proje çizelgeleme problemlerini çözümlemek durumuyla karşı karşıya kalmaktadır. Ancak işletmelerde var olan ve çözülmesi gereken bu tür problemler, çözümü zor olan problemlerdir. KKPÇP leri son yıllarda genellikle optimum ve sezgisel olmak üzere iki yaklaşım dikkate alınarak çözülmeye çalışılmaktadır. Optimum yaklaşımlar, uyulması gereken çözüm aşamalarından oluşan yöntemlerdir. Çözümü zor olan problemler olarak adlandıran karmaşık problemlerde optimum yöntemlerin kullanılması bir yandan güçleşirken diğer bir yandan da çözüm esnasında sıkıntı ve zorlukların yaşanmasına neden olmaktadır. Bu nedenle sezgisel yaklaşımlara ihtiyaç duyulmaktadır (Tormos ve Lova,2003,s.1071). Faaliyet sayısı ve faaliyetlerin kullandığı kaynak türleri sayısı arttıkça, çizelgeleme problemlerinin zorluk derecesi de doğrusal bir şekilde artış göstermektedir. Ancak yöneticiler, problemin zorluğuna bakmaksızın; işletme faaliyetlerini zaman, kaynak ve karlılık açısından en iyileyecek çizelgeyi belirlemek ve buna göre planlama yapmak zorundadırlar. Bu nedenle, işletme verimliliğinin artışına doğrudan katkısı olacak iyi çizelgeyi elde etme çalışmaları sürekli olarak gelişme göstermektedir. Ticari paketlerin, literatürde j30 diye anılan 30 faaliyetli çizelgeleme problemlerinde bile optimal çözümlerden %4.3-%9.8 arasında ortalama sapma ile çizelge ürettiği görülmektedir (Hartmann,1998,s.733). Bu durum ise, optimum ya da optimuma yakın çizelgeleme sonuçlarını elde etmek için sezgisel yöntemlerin araştırma konusu olma ihtiyacını artırmaktadır. Bu çalışmanın amacı; daha iyi çözüm alternatifi bulma çabası temelinde, çağdaş optimizasyon tekniklerinden olan GA ları kullanarak kaynak kısıtlı projelerin

160 145 çizelgelenmesini sağlamaktır. Buna ilaveten, daha iyi çizelgeleme yapılabilen bir GA geliştirme çabasında bulunarak, etkin bir çizelgeleme yöntemi oluşturulması için katkı sağlamaktır. Günümüzde, proje çizelgeleme problemlerine yönelik en son geliştirilen sezgisel yöntemlerden biri olan GA lar, çözüm amaçlı kurallar dizisinden oluşmamaktadır. Evrim teorisinden esinlenerek hazırlanan GA lar, kromozom adı verilen mümkün çözüm alternatifleri üretmeye çalışır. Oluşturulan çözüm alternatifleri, bulundukları toplum içerisinde adım adım evrim yaşamaktadırlar. Her bir adım; iterasyon ya da yineleme olarak adlandırılmaktadır. Her bir iterasyonda, mevcut toplumdaki kromozomların evrim geçirebilmesi için kromozomlar birbirleri ile bir takım sezgisel yöntemlerle eşleştirilerek genetik işlemler uygulanmaktadır. Çaprazlama ve mutasyon olarak anılan genetik işlemler, mevcut çözümlerin değişmesi, evrim geçirmesi amacına yönelik olarak kullanılan genetik işlemlerdir. Mevcut çözüm alternatiflerine genetik işlemlerin uygulanması ile eski toplumdaki kromozomlardan yararlanarak, yeni ve başkalaşmış toplumlar oluşturulmaktadır. Böylece toplum ya da toplumu oluşturan bireyler evrim geçirmiş olacaklardır. Her iterasyonda başkalaştırılan toplum, daha önceki toplumlarda bulunan en iyi kromozomları (çözüm alternatiflerini) içlerinde barındırmaktadırlar. Bu şekilde, başlangıçtan beri elde edilen en iyiler ve başkalaştırılma yoluyla daha iyilerin aranması işlemi, algoritmada belirlenen iterasyon sayısı kadar yapılarak, en son toplumdaki en iyi çözüm, algoritmanın sonucu olarak belirlenmektedir. Oluşturulan yeni toplumlar içerisinde en iyi çözüm arayışı, karmaşık problemlerin çizelgelenmesinde; mümkün çözüm alternatiflerini uzun uzun çizelgeleme yapmadan bulma çabası sonucu ortaya çıkmaktadır. Bu da karmaşık ve kapsamlı proje çizelgeleme konusunda, GA nın önemini ve kullanılması gerekliliğini daha da artıran bir özelliktir. Genellikle kısıtlara uyan mümkün çizelgelerden başlayarak yapılan en iyiyi bulma çabasının; bu nedenle devam edeceği beklenmektedir.

161 146 Şimdiye kadar yapılan çalışmalar, GA lar la en iyi olmasa bile en iyiye yakın çizelgelerin daha hızlı elde edildiğini göstermektedir. Kaldı ki, kaynak kısıtlı proje çizelgeleme problemlerini çözen ve standart kurallar içeren bir yöntemin halen geliştirilemediği görülmektedir. Bu nedenle, son yıllarda özellikle karmaşık problemlerde bazen optimum, bazen de optimuma yakın mümkün çizelgeler elde edilebilen GA geliştirilme çalışmaları devam etmektedir. Çalışma kapsamında geliştirilen algoritmanın, basit ve çözümü bilinen problemlerde optimum sonuç verdiği gözlenmektedir. Bizim amacımız; karmaşık problemlerde optimum/optimuma yakın çözüm üretebilen algoritmayı geliştirmeye çalışmaktır. Yapılan deneylerde örnek problem; farklı genetik operatörler ve genetik parametreler ile çözümlenebilmektedir. Yapılan testler, algoritmanın bulduğu en iyi çizelge alternatifinin, yöneticiler için en iyi proje tamamlanma süresi olarak en azından bir fikir verebileceği sonucunu doğurmaktadır. Çünkü bir problemde, GA ile üretilen en iyi çözümlerin statik olmadığı, her denemede değişebileceği görülmektedir. Bu çalışmada yapılmak istenen, optimum çözüme mümkün olduğunca yaklaşılabilen bir algoritma geliştirmektir. GA mantığı ve prensipleri oldukça açık olmasına rağmen, algoritmanın bir probleme uygulanması ve etkin çözümün elde edebilmesi salt genetik işlemlere bağlı olmamaktadır. Bunu nedeni de genetik işlemlerde ratgeleliğin (rastsallığın) ön plana çıkmış olmasıdır. Rastgele arayışlarda iyi çözümlere ulaşmak amacıyla değişik iterasyon sayıları, çaprazlama ve mutasyon oranları ile farklı denemeler yapılması yaygın olarak tercih edilmektedir (Ulusoy,2006,s.4). GA sonucunda elde edilen çözümün, çizelgeleme problemlerinde anlamlı bir fikir oluşturması açısından kullanılan algoritmanın farklı genetik oranlarının yanı sıra, farklı genetik işlemler ile denenmesi yararlıdır sonucu çıkarılmaktadır. Bu

162 147 nedenle bundan sonraki çalışmalarda, gerek çizelgeleme gerekse genetik işlem ve oranlar açısından, sezgisel modellerin birçok kombinasyonunu, kullanıcının tercih edebilmesini sağlayan algoritmaların geliştirilmesi daha yararlı olabilecektir. Bundan sonraki proje çizelgeleme çalışmalarında, GA ya dâhil edilmesi önerilen ek çalışmalar aşağıda maddeler halinde belirtilmektedir. Bu ek çalışmaların; 1 den 3 e kadar olan maddeleri daha iyi çözüme yaklaşım açısından değerlendirilirken, 4 den 6 ya kadar olanları çizelgeleme problemlerinde daha fazla ihtiyacı karşılayabilecek düzeyde değerlendirilmektedir. Bunlar: 1. Genetik işlemler olarak isimlendirilen; seçme, çaprazlama ve mutasyon işlemlerinde çok çeşitliliğin sağlanabilmesi. Parametrik olarak kullanıcının tercihine bağlı olarak yapılması halinde, farklı seçimlerle yapılan denemelerde farklı ve daha iyi çözümlere erişme olasılığı artırılabilir. 2. Genetik işlemlerin çeşitliliği ile optimum çözüme erişme ya da yaklaşma olasılığını artırma. Çalışmamızda kısmen yapılan bu çeşitliliğin daha da artırılması fayda sağlayabilir. 3. Toplumun farklılaştırılması. Toplumu oluşturan bireylerde ikiz ya da çoğul oluşumlardan kaçınarak, toplumu farklılaştırmak çözüme yakınsama sağlayabilecek bir unsur olabilir. İterasyon sayısının ve toplum büyüklüğünün yüksek alınması gereken karmaşık problemlerde; çalışmamızda da yapıldığı gibi, rastgele oluşumlara yer verilmesi nedeniyle benzer çözümlerin tekrarı söz konusu olabilmektedir. Alternatif çözümlerdeki bu tekrarlı oluşumlar, arama işleminde, aramayı yavaşlatıcı ya da etkin çözüme yakınsamayı geciktirici/engelleyici etkiye sahip olabilmektedir. Toplumlarda tekrarlanan çözümler elde edilmesi halinde; bu çözümlerin değişime uğratılarak toplum içerisinde değişik çözümlerin varlığının artırılması yolu ile çözüm uzayı genişletilebilir. Çözüm uzayının daha

163 148 etkin aranmasını sağlayan bu tür yöntemlerin algoritmaya ilave edilmesi ile daha iyi çözüm elde olasılığı artırılabilir. Toplumun farklılaştırılmasında, toplumu oluşturan bireylerin farklılaştırılması gerekmektedir. Bireylerin yani kromozomların farklılaştırılmasında, genlerin rastgele ya da bir sistem çerçevesinde farklılaştırılması söz konusu olabilecektir. Ancak değişime uğrayan bu yeni bireyin çözüme yakınsaması için, birey bazında istatistiki değerler tutularak (örneğin, oluşan bireyin optimum çözümden sapma değeri), toplumun değişimi kontrol altında tutulabilir. 4. Farklı kaynak türlerinin kullanılması. Algoritmalarda farklı kaynak türlerini kullanılması, algoritmanın genelleştirilmesinde faydalı olacaktır. Çünkü çalışmamızda biz sadece yenilenebilir kaynak türü kullanmaktayız. Bunu nedeni de, başlangıçta test amaçlı kullanmayı planladığımız ve literatürde yaygın olarak kullanılan yapay test programlarının, sadece bu kaynak türünü kullanmış olmasından kaynaklanmaktadır. 5. Amaç fonksiyonunun opsiyonel yapılabilmesi. Proje çizelgeleme problemleri, sadece proje süresini en az sürede tamamlamayı amaç edinmeyebilmektedir. Projede için gerekli net nakit akışının minimize edilmesi, maliyet minimizasyonu, proje bütçesinin belirli bir sınırda tutulması gibi amaçlar söz konusu olabilmektedir. Bu amaçları da destekleyen, her bir durumu tek başına irdelenebileceği gibi istenilen çoklu amacı en iyileyen algoritmaların geliştirilmesi, GA ların fonksiyonelliğini artırarak daha fazla ihtiyacı karşılar düzeye çıkmasına neden olabilecektir. 6. Çok mod lu olarak anılan; alternatif faaliyet süreleri ve/ya da alternatif kaynak türü ve miktarları kullanılabilmesi de algoritmaların işlevselliğini daha da artıracaktır.

164 149 Kaynak kısıtlı problemlerde, bir faaliyetin her bir süre - kaynak tanımı tek bir mod olarak tanımlanmaktadır. Faaliyetlere alternatif süre ve/ya da kaynak tanımı yapılması halinde çok mod (multi-mode) anlamını taşımaktadır. Faaliyetlere atanacak her bir süre-kaynak şeklinde atanan alternatifler farklı bir mod olarak değerlendirilmektedir. (Erenguç,2001,s.108). Faaliyetlere mod olarak atanan değerler, değişen ya da değişebilecek şartlardan ya da olası gelişmelerden kaynaklanabilmektedir. Çok mod un tanımından da anlaşıldığı üzere, proje çizelgeleme aşamasında, öngörülebilen olası alternatiflerin değerlendirmeye katılması ile yapılan en iyi çözüm arayışı, çizelge çözümünün daha gerçekçi olmasını sağlayacaktır. Bu nedenle, değişebilecek şartlara hazırlıklı olunması amacıyla alternatif çözüm olarak, algoritmalarda değerlendirilmeye alınabilir bir özelliktir. Çok mod un uygulandığı algoritmalarda, mod değerlerinin seçimi rastgele ya da içlerinden en iyi değeri temsil eden durum seçilerek yapılabilmektedir. Faaliyet süresi ya da kullanılan kaynakların seçiminden sonraki işlemler, tek mod lu algoritmalarda olduğu gibi devam etmektedir. Böylece öngörülen alternatiflerde değerlendirmeye katılarak, değişen koşullara en uygun çözümler aranabilecektir. Yukarıda altı madde halinde belirtilen bu öneriler, GA larda isteğe bağlı (opsiyonel) olarak seçilebilir bir yapıda hazırlanmalıdır. Böylece algoritma, birçok çizelgeleme projelerinde gereksinim duyulabilecek amaç ve işlevleri destekler hale gelecektir. İsteğe bağlı seçimlerin tek ya da çoklu yapılabilmesi ise algoritmanın etkinliğini daha da artıracaktır. Bu şekilde çeşitlendirilmiş arama ve genetik işlemler neticesinde üretilen toplumlarda, çözüm uzayındaki farklı çözümleri bulma olasılığı artarken, en iyi ya da en iyiye çok yakın proje çizelgelerinin elde edilmesi söz konusu olabilecektir.

165 150 Ancak önerilen bu ek çalışmalar, algoritmanın kodlanmasını daha da güçleştirirken test süresinin artmasına da neden olacaktır. Bilgisayar teknolojisinde yaşanan ve yaşanmakta olan gelişmeler ise, çözüme erişme süresindeki kaygılarımızı hafifletme eğilimindedir.

166 151 KAYNAKÇA Artigues, Christian, Philippe Michelon ve Stephane Reusser (2003), Insertion techniques for static and dynamic resource-constrained project scheduling, European Journal of Operational Research, Volume 149, No. 2, 1 September, ss Atalağ, Koray (2001), Yaşam, genler ve bilgisayarlarımız,tbd Bilişim Kültürü Dergisi, Mart. Aytaç, A.Aslı (1998), İki kriterli çizelgeleme için bir genetik algoritma, Yüksek Lisans Tezi, Orta Doğu Teknik Üniversitesi Fen Bilimleri Enstitüsü, Ankara Aytug, H, M. Khouja ve F.E.Vergara (2003), Use of genetic algorithms to solve production and operations management problems: a review, International Journal of Production Research,Vol 41, No 17, ss Biroğul, Serdar (2005), Genetik algoritma yaklaşımıyla atölye çizelgeleme, Yüksek Lisans Tezi, Gazi Üniversitesi Fen Bilimleri Enstitüsü, Ankara. Boctor, Fayez F. (1996), A new and efficient heuristic for scheduling projects with resource restrictions and multiple execution modes, European Journal of Operational Research, Volume 90, No. 2, 19 April, ss Bolat, Berna, K.Erol Osman ve Erdem C.İmsak (2004), Mühendislik uygulamalarında genetik algoritma ve operatörlerin işlevleri, Mühendislik ve Fen Bilimleri Dergisi, Sigma 2004/4, ss Brochmann, Harold (2005), A genetıc algorithm, Brucker Brucker pring.com/brochmann/math/ga/ga html [ ]. Brucker, Peter, Andreas Drexl, Rolf Möhring, Klaus Neumann ve Erwin Pesch (1999), Resource-constrained project scheduling: Notation, classification, models, and methods, European Journal of Operational Research, Volume 112, No. 1, 1 January 1999, ss Buckles, Bill P. ve Frederick E. Petry (Derl.) (1992), Genetic Algorithms, Washington: IEEE Computer Society Press, Technology Series.

167 152 Chan, Felix T.S., S.H Chung ve Subhash Wadhwa (2005), A hybrid genetic algorithm for production and distribution, The International Journal of Management Sciense, Omega 33, ss Chen, Mingwu ve Ali M. S. Zalzala (1997), A genetic approach to motion planning of redundant mobile manipulator systems considering safety and configuratinon, Journal of Robotic Systems, 14(7), ss Chen, Ting-Yu ve Chung-Jei Chen (1997), Improvements of simple genetic algorithm in structural design, Int. Journal for Numerical Methods in Engineering, Vol.40, ss Cheng, Runwei ve Mitsuo Gen (1994); Evolution program for resource constrained project scheduling problem, Evolutionary Computation, IEEE World Congress on Computational Intelligence, Proceedings of the First IEEE Conference,27-29 June 1994, Vol.2, ss Çetin, Nurdan (2002), Genetik algoritma, Yüksek Lisans Tezi, Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul. Debels, Dieter, Bert De Reyck, Roel Leus ve Mario Vanhoucke (2003), A hybrid scatter search/electromagnetism meta-heuristic for project planning, Vierick Leuven Gent Management School Working Paper, (Seri No:25). Debels, Dieter ve Mario Vanhoucke (2005), A bi-population based genetic algorithm for the resource constrained project scheduling problem, Vierick Leuven Gent Working Paper, (Seri No: 8). Düğenci, Muharrem (1996), Genetik algoritmalarla permütasyon tipi iş sıralama, Yüksek Lisans Tezi, Sakarya Üniversitesi Fen Bilimleri Enstitüsü, Adapazarı-Sakarya. Erenguc, S.Selçuk, Taeho Ahn ve Daniel G. Conway (2001), The resource constrained project scheduling problem with multiple crashable modes: an exact solution method, Naval Research Logistics, Vol.48. Fığlalı, Alpaslan ve Orhan Engin (2002), Akış tipi çizelgeleme problemlerinin genetik algoritma ile çözüm performansının artırılmasında deney tasarımı uygulaması _makale.htm, [ ].

168 153 Gen, Mitsuo ve Runwei Cheng (2003), Evolutionary network design: Hybrid genetic algorithms approach, International Journal of Computational Intelligence & Application; December, Vol. 3 No. 4, ss Güldoğan, Evrim (2003), Çizelgeleme problemlerinin çözümlenmesinde genetik algoritma yaklaşımı, Yüksek Lisans Tezi, Ege Üniversitesi Fen Bilimleri Enstitüsü, İzmir. Goldberg, David E. (1992), Sizing populations for seral and paralel genetic algorithms, Derl.: Bill P.Buckles and Frederick E. Petry, Washington: IEEE Computer Society Press, Technology Series, ss Güvenç, Burak (2000), A Genetik algorithm for multi-mode resource constrained project scheduling, Yüksek Lisans Tezi, Orta Doğu Teknik Üniversitesi Fen Bilimleri Enstitüsü, Ankara. Harper, Paul R., Valter de Senna, Israel T. Vieira ve Arjan K..Shahani (2005), A genetic algorithm for the project assignment problem., Computers & Operations Research, May2005, Vol. 32 No. 5, ss Hartmann, Sönke (1998), A competitive genetic algorithm for resource constrained project scheduling, Naval Research, Vol. 45, ss Hartmann, Sönke ve Rainer Kolisch (2000), Experimental evaluation of state-of-art heuristics for the resource constrained project scheduling problem, European Journal of Operational Research,127, ss Hartmann, Sönke (2001), Project scheduling with multiple modes: a genetic algorithm, Annals of Operations Research,102, ss Haupt, Randy L. ve Sue Ellen Haupt (2004), Practical Genetic Algorithms, New Jersey: Second edition, Jhon Wiley & Sons Inc. Herroelen, Willy, Bert De Reyck ve Erik Demeulemeester (1998), Resourceconstrained project scheduling: A survey of recent developments, Computers & Operations Research, Volume 25, No. 4, April, ss Hindi, S.Khalil, Hongbo Yang ve Krzysztof Fleszar (2002), An evolutionary algorithm for resource constrained project scheduling,ieee Transactions on Evolutionary Computation,Vol.6, No.5, October. Hoşşerbetçi, K.H. (1997), Genetik algoritmaların yöneylem araştırmasında kullanımı, Yüksek Lisans Tezi, İstanbul Üniversitesi Sosyal Bilimler Enstitüsü, İstanbul.

169 154 Huang, Min-Wei, Ching C. Hsieh ve Jasbir S. Arora (1997), A genetic algorithm for sequencing type problems in engineering design, International Journal for Numerical Methods in Engineering, Vol.40. ss Huang, George D., X. Y. Zhang ve L. Liang (2005), Towards integrated optimal configuration of platform products, manufacturig proceses and supply chains, Journal of Operations Management, Vol.23, No. 3-4, April, ss Icmeli-Tukel, Oya ve Walter O. Rom (1997), Ensuring quality in resource constrained project scheduling, European Journal of Operational Research, Volume 103, No. 3, 16, December, ss Ikeuchi, Tomoya., Y Ikkai., D. Araki, T. Ohkawa ve N. Komoda (1998), Project scheduling using a genetic algorithm with adaptable changing genetic operators, Electrial Engieering in Japan, Vol. 124, No.2, ss Kahvecioğlu, Ayşe (2004), Onarılabilir elemanlara önleyici bakımın etkisi ve optimizasyonu, Mühendis ve Makine, Cilt.45, Sayı: 531, ss Kaya, Mustafa (1999), Genetik algoritma ve gezgin satıcı probleminin çözümü, Yüksek Lisans Tezi, Fırat Üniversitesi Fen Bilimleri Enstitüsü, Elazığ. Ke, Hua ve Baoding Liu (2004), Project scheduling problem with stochastic activity duration times, Applied Mathematics and Computation, In Press, Corrected Proof, Available online 17 November. Keha, A. Burak (1999), GA kullanarak iki kriterli çizelgeleme, Yüksek Lisans Tezi, Orta Doğu Teknik Üniversitesi Fen Bilimleri Enstitüsü, Ankara. Kim, Kwan Woo, Young Su Yun, Jung Mo Yoon, Mitsuo Gen ve Genji Yamazaki (2005), Hybrid genetic algorithm with adaptive abilities for resourceconstrained multiple project scheduling, Computers in Industry, Volume 56, No. 2, February, ss Kılıç, Murat, Gündüz Ulusoy ve Funda Sivrikaya Şerifoğlu (2004), Risk altında proje çizelgelemeye iki amaçlı genetik algoritma yaklaşımı, YA/EM 2004, Yöneylem Araştırması/Endüstri Mühendisliği XXIV. Ulusal Kongresi,15-18 Haziran. Kıraç, Furkan (2002), Makine toplam artı gecikme problemine genetik algoritma yaklaşımı, Yüksek Lisans Tezi, Boğaziçi Üniversitesi Fen Bilimleri Enstitüsü, İstanbul.

170 155 Kolisch, Rainer, Arno Sprecher ve Andreas Drexl (1995), Characterization and generation of a general class of resource constrained project scheduling problems, Management Science, Volume 41, No. 10, October, ss Kolisch, Rainer (1996a), Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation, European Journal of Operational Research, Volume 90, No. 2, 19 April, ss Kolisch, Rainer (1996b), Efficient priority rules for the resource-constrained project scheduling problem, Journal of Operations Management, Volume 14, No. 3, September, ss Kolisch, Rainer ve Arno Sprecher (1997), PSPLIB - A project scheduling problem library : OR software - ORSEP operations research software exchange program, European Journal of Operational Research, Volume 96, No. 1, 10 January, ss Kolisch, Rainer ve Sönke Hartmann (1999), Heuristics algorithms for solving the resource-constrained project scheduling problem: classification and computational analysis, Kluwer Academic Publishers In: Weglarz. J.(ed.).Project Scheduling-Recent Models, Algorithms and Applications, ss , Boston. Kolisch, Rainer ve Sönke Hartmann (2005), Experimental investigation of heuristics for resource-constrained project scheduling: An update, European Journal of Operational Research, In Press, Corrected Proof, Available online 23 May. Koza, John R. (1995), Two ways of discovering the size and shape of a computer program to solve a problem, Proceedings of the Sixth International Conference on Genetic Algorithm, ss Kurt, Mustafa ve Cumali Semetay (2001), Genetik algoritma ve uygulama alanları, ma.htm, [ ]. Mendes, Jorge Jose de Magalhaes, Jose Fernando Gonçalves ve Mauricio G.C. Resende (2005), Random key based genetic algorithm for the resource constrained project scheduling problem, AT&T Labs Research Technical Report TD-6DUK2C, June 30.

171 156 Mika, Marek, Grzegorz Waligóra ve Jan Weglarz (2005), Simulated annealing and tabu search for multi-mode resource-constrained project scheduling with positive discounted cash flows and different payment models, European Journal of Operational Research, Volume 164, No. 3, 1 August, ss Mitchell, Melanie ve Charles E. Taylor (1999), Evolutionary computations: an overview, Annual Review of Ecology ad Systematics, 30: ss Mitchell, Melanie (1999), An Introduction to Genetic Algorithms, USA: Massachusetts Institute of Technology. Mori, Masao ve Ching Chih Tseng (1997), A genetic algorithm for multi-mode resource constrained project scheduling problem, European Journal of Operational Research, Volume 100, No. 1, 1 July, ss Moumin, Ali (1995), Yapay sinir ağları ve genetik algoritmaların uçuş kontrol sistemlerine uygulanması, Yüksek Lisans Tezi, İstanbul Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul. Nakamura, Morikazu., N.Yamashiro, Y.Gong, T.Matsumura ve K.Onaga (2005), Iterative parallel genetic algorithms based on biased inital population, IEICE Trans. Fundamentals, (April),Vol.E88-A, No.4, ss Naphade, Kedar S., S. David Wu ve Robert H. Storer (1997), Problem space search algorithms for resource constrained project scheduling, Annals of Operations Research, 70,ss Nearchou, Andreas C. (1998), Path planning of mobile robot using genetic heuristics, Robotica, Cambridge University Pres, Vol.16, ss Neely, Christoper, Paul Weller ve Rob Dittmar (1997), Is technical analysis in the foreign exchange market profitable? A genetic programming approach, The Journal of Financial and Quantitative Analysis, Vol.32, No.4(December), ss Nudtasomboon, Nudtapon ve Sabah U. Randhawa (1997), Resource-constrained project scheduling with renewable and non-renewable resources and timeresource tradeoffs, Computers & Industrial Engineering, Vol. 32, No. 1, January, ss

172 157 Özdamar, Linet (1999), A genetic algorithm approach to a general category project scheduling problem, Systems, Man and Cybernetics, Part C, IEEE Transactions, Vol. 29, No 1, February, ss Pet-Edwards, Julia. ve M. Mollaghesemi (1995), Aplication of genetic algorithms in resource constrained network optimization, IEEE, ss Pet-Edwards, Julia. ve M. Mollaghesemi (1996), A simulation and genetic algorithm approach to stochastic research constrained project scheduling, Southcon/96. Conference Record, June, ss Reeves, Colin R. ve Jonathan E. Rowe (2003), Genetic Algorithms-Principles and Perspectives: A Guide to GA Theory, Kluwer Academic Publishers, Boston. Ren, Lihong, Yongsheng Ding, Hao Ying ve Shihuang Shao (2003), Emergence of self-learning fuzzy systems by a new virus DNA-based evolutionary algorithm, International Journal of Intellegent Systems,Vol.18, ss Reyck, Bert De ve Willy Herroelen (1998), An optimal procedure for the resourceconstrained project scheduling problem with discounted cash flows and generalized precedence relations, Computers & Operations Research, Volume 25, No. 1, January, ss Salewski, Frank, Andreas Schirmer ve Andreas Drexl (1997), Project scheduling under resource and mode identity constraints: Model, complexity, methods, and application, European Journal of Operational Research, Volume 102, No. 1, 1 October, ss Simpson, Wendell P.III, ve James H. Patterson (1996), A multiple-tree search procedure for the resource-constrained project scheduling problem, European Journal of Operational Research, Volume 89, No. 3, 22 March, ss Solomon, Michael R. (2005), Activity planning-from WBS to project schedule,understanding the Project Management Institute's Project Planning Process Group, rl=1, [ ]

173 158 Sorenson, Tremblay (1976), An Introduction to Data Structures with Applications, Computer Science Series, International Student Edition, McGraw Hill. Şen, Zekai (2004), Genetik Algoritmalar ve En İyileme Yöntemleri, İstanbul: Su Vakfı. Şerifoğlu, Funda Sivrikaya ve G. Ulusoy (1999), Paralel machine scheduling with earliness and tardiness penalties, Computers and Operations Research, 26, No. 8, ss Şerifoğlu, Funda Sivrikaya ve G. Ulusoy (2002), Çok işlemcili işlerin, çok katmanlı paralel işlemcili akış atölyelerinde çizelgelenmesi, Endüstri Mühendisliği Dergisi, Cilt 13, Sayı 4, ss Talbot, F. Brian (1982), Resource constrained Project scheduling with timeresource tradeoffs: the nonpreemptive case, Management Science, Vol.28, No.10. Taşkın, Çağatan (2003), Araç rotalama problemlerine genetic algoritma yaklaşımı ve bir uygulama, Yüksek Lisans Tezi, Uludağ Üniversitesi Sosyal Bilimler Enstitüsü, Bursa. Tavakkoli-Moghaddam, R. ve M. Daneshmand-Mehr (2005), A computer simulation model for job shop scheduling problems minimizing makespan, Computers & Industrial Engineering, Jun2005, Vol. 48 No. 4, ss Tormos, P. ve Antonio Lova (2003), An efficient multi-pass heuristic for project scheduling with constrainet resources, International Journal of Production Research, Vol.41, No.5, ss Uçaner, M. Erhan ve Osman N. Özdemir (2002), Genetic algoritmalar ile içme suyu şebekelerinde ek klorlama optimizasyonu, Gazi Üniversitesi Mühendislik Mimarlık Fakültesi Dergisi, Cilt: 17, No.4, ss Ulusoy, Gündüz (2006), Proje planlamada kaynak kısıtlı çizelgeleme, Sabancı Üniversitesi, Mühendislik ve Doğa Bilimleri Fakültesi, [ ]. Wall, Mathew Bartschi (1996), A genetic algorithm for resource constrained scheduling, Doktora Tezi, Massachusetts Institute of Technology, Cambridge.

174 159 Wang, Peng-Yi ve Ming Lu (2002), Genetic algorithm optimized resource activity critical path method, Proceedings of the First Conference on Machine Learning and Cybernetics, Vol.. 4, 4-5 November, ss Watanabea, Masato, Kenichi Ida ve Mitsuo Gen (2005), A genetic algorithm with modified crossover operator and search area adaptation for the job-shop scheduling problem, Computers & Industrial Engineering, Jun2005, Vol. 48 No. 4, ss Vanhoucke, Mario, Erik Demeulemeester ve Willy Herroelen (2001), An exact procedure for the resource constrained weighted earlines-tardiness project scheduling problem, Annals of Operations Research,102, ss Vose, Michael D. (1999), The Simple Genetic Algorithm: Foundations and Theory, Cambridge: Massachusetts Institute of Technology Press. Yeo, M. F. ve E. O. Agyei (1998), Optimising engineering problems using genetic algorithms, Engineering Computations, Vol.15, No.2, ss Zamani, M. Reza (2001), A high-performance exact method for the resourceconstrained project scheduling problem, Computers & Operations Research, Volume 28, No.14, December, ss

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA i GENETİK ALGORİTMA YAKLAŞIMIYLA ATÖLYE ÇİZELGELEME Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ OCAK 2005 ANKARA ii Serdar BİROĞUL tarafından hazırlanan

Detaylı

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Genetik algoritmalar, Darwin in doğal seçim ve evrim teorisi ilkelerine dayanan bir arama ve optimizasyon yöntemidir.

Detaylı

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA GENETİK ALGORİTMA ÖZNUR CENGİZ 201410306014 HİLAL KOCA 150306024 GENETİK ALGORİTMA Genetik Algoritma yaklaşımının ortaya çıkışı 1970 lerin başında olmuştur. 1975 te John Holland ın makine öğrenmesi üzerine

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Genetik Algoritma (Genetic Algorithm) Doç.Dr. M. Ali Akcayol Genetik Algoritma 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik

Detaylı

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta: Genetik Algoritmalar Bölüm 1 Optimizasyon Yrd. Doç. Dr. Adem Tuncer E-posta: adem.tuncer@yalova.edu.tr Optimizasyon? Optimizasyon Nedir? Eldeki kısıtlı kaynakları en iyi biçimde kullanmak olarak tanımlanabilir.

Detaylı

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR Sınıflandırma Yöntemleri: Karar Ağaçları (Decision Trees) Örnek Tabanlı Yöntemler (Instance Based Methods): k en yakın komşu (k nearest

Detaylı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım Mehmet Ali Aytekin Tahir Emre Kalaycı Gündem Gezgin Satıcı Problemi GSP'yi Çözen Algoritmalar Genetik Algoritmalar

Detaylı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Fonksiyon Optimizasyonunda Genetik Algoritmalar 01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu

Detaylı

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR GENETİK ALGORİTMALAR BÜŞRA GÜRACAR 201420404036 İÇERİK Genetik Algoritmanın, Amacı Kullanım Alanları Kavramları Uygulama Adımları Parametreler Genetik Algoritma Kodlama Türleri Genetik Algoritma Genetik

Detaylı

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar METASEZGİSEL YÖNTEMLER Genetik Algoritmalar 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik Genetik Algoritma Algoritma Uygulamaları üzerine klasik eser

Detaylı

BİRİNCİ BASIMA ÖN SÖZ

BİRİNCİ BASIMA ÖN SÖZ BİRİNCİ BASIMA ÖN SÖZ Varlıkların kendilerinde cereyan eden olayları ve varlıklar arasındaki ilişkileri inceleyerek anlamak ve bunları bilgi formuna dökmek kimya, biyoloji, fizik ve astronomi gibi temel

Detaylı

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics 2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics Özet: Bulanık bir denetleyici tasarlanırken karşılaşılan en önemli sıkıntı, bulanık giriş çıkış üyelik fonksiyonlarının

Detaylı

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması Özay CAN, Nedim TUTKUN Düzce Üniversitesi Elektrik/Elektronik Mühendisliği Kapsam Giriş Hibrit Sistem ve Güç

Detaylı

İÇİNDEKİLER BİRİNCİ KISIM: TASARIM PAZARLAMA ARAŞTIRMASINA GİRİŞ

İÇİNDEKİLER BİRİNCİ KISIM: TASARIM PAZARLAMA ARAŞTIRMASINA GİRİŞ İÇİNDEKİLER ÖNSÖZ... v TEŞEKKÜR... vi İKİNCİ BASKIYA ÖNSÖZ VE TEŞEKKÜR... vii İÇİNDEKİLER... ix ŞEKİLLER LİSTESİ... xviii TABLOLAR LİSTESİ... xx BİRİNCİ KISIM: TASARIM BİRİNCI BÖLÜM PAZARLAMA ARAŞTIRMASINA

Detaylı

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri Onur KARASOY 1, Serkan BALLI 2 1 Muğla Sıtkı Koçman Üniversitesi Bilgi İşlem Dairesi Başkanlığı 2 Muğla Sıtkı Koçman Üniversitesi Bilişim Sistemleri

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği

Detaylı

İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama

İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama Dr. Özgür Kabak 2016-2017 Güz } Gerçek hayattaki bir çok problem } tam sayılı değişkenlerin ve } doğrusal kısıt ve amaç fonksiyonları ile

Detaylı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Tabu Arama (Tabu Search) Doç.Dr. M. Ali Akcayol Tabu Arama 1986 yılında Glover tarafından geliştirilmiştir. Lokal minimum u elimine edebilir ve global minimum u bulur. Değerlendirme

Detaylı

GENETİK ALGORİTMA İLE KAYNAK KISITLI PROJE ÇİZELGELEME

GENETİK ALGORİTMA İLE KAYNAK KISITLI PROJE ÇİZELGELEME GENETİK ALGORİTMA İLE KAYNAK KISITLI PROJE ÇİZELGELEME Öğr. Gör. Dr. Semin PAKSOY Çukurova Üniversitesi İktisadi ve İdari Bilimler Fakültesi Ekonometri Bölümü spaksoy@cu.edu.tr Yrd. Doç. Dr. Arzu UZUN

Detaylı

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN 1995 yılında Dr.Eberhart ve Dr.Kennedy tarafından geliştirilmiş popülasyon temelli sezgisel bir optimizasyon tekniğidir.

Detaylı

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D. Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ Ders 1- Yapay Zekâya Giriş Erhan AKDOĞAN, Ph.D. Yapay Zekâ nedir?! İnsanın düşünme ve karar verme yeteneğini bilgisayarlar aracılığı ile taklit etmeye

Detaylı

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü Karınca Koloni Algoritması Bilim adamları, böcek davranışlarını inceleyerek

Detaylı

AKARSULARDA KİRLENME KONTROLÜ İÇİN BİR DİNAMİK BENZETİM YAZILIMI

AKARSULARDA KİRLENME KONTROLÜ İÇİN BİR DİNAMİK BENZETİM YAZILIMI AKARSULARDA KİRLENME KONTROLÜ İÇİN BİR DİNAMİK BENZETİM YAZILIMI *Mehmet YÜCEER, **Erdal KARADURMUŞ, *Rıdvan BERBER *Ankara Üniversitesi Mühendislik Fakültesi Kimya Mühendisliği Bölümü Tandoğan - 06100

Detaylı

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI Hatice YANIKOĞLU a, Ezgi ÖZKARA a, Mehmet YÜCEER a* İnönü Üniversitesi Mühendislik Fakültesi Kimya Mühendisliği

Detaylı

MONTE CARLO BENZETİMİ

MONTE CARLO BENZETİMİ MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle

Detaylı

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden Genetik Algoritmalar Nesin Matematik Köyü Evrim Çalıştayı 20-23 Nisan, 202 Genetik Algoritmalar (GA Đçerik Biyolojiden esinlenme GA nın özellikleri GA nın unsurları uygulama Algoritma Şema teoremi Mustafa

Detaylı

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak EM302 Yöneylem Araştırması 2 Dr. Özgür Kabak TP Çözümü TP problemlerinin çözümü için başlıca iki yaklaşım vardır kesme düzlemleri (cutting planes) dal sınır (branch and bound) tüm yaklaşımlar tekrarlı

Detaylı

KALİTE SİSTEM YÖNETİCİSİ EĞİTİMİ

KALİTE SİSTEM YÖNETİCİSİ EĞİTİMİ FMEA-HATA TÜRLERİ VE ETKİ ANALİZİ Tanımlama Mevcut veya olası hataları ortaya koyan, bu hataların yaratabileceği etkileri göz önünde bulunduran ve etkilerine göre hataları önceliklendirerek oluşmalarının

Detaylı

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü YMH114 - Yazılım Mühendisliğinin Temelleri Dersi Proje Uygulaması ve Dokümantasyonu AKILLI ŞEHİR UYGULAMALARININ İNCELENMESİ VE ÖRNEK

Detaylı

Geçmişten Günümüze Kastamonu Üniversitesi Dergisi: Yayımlanan Çalışmalar Üzerine Bir Araştırma 1

Geçmişten Günümüze Kastamonu Üniversitesi Dergisi: Yayımlanan Çalışmalar Üzerine Bir Araştırma 1 Mart 2017 Cilt:25 No:2 Kastamonu Eğitim Dergisi xii-xxi Geçmişten Günümüze Kastamonu Üniversitesi Dergisi: Yayımlanan Çalışmalar Üzerine Bir Araştırma 1 Lütfi İNCİKABI, Samet KORKMAZ, Perihan AYANOĞLU,

Detaylı

A. BIÇIME İLIŞKIN ANALIZ VE DEĞERLENDIRME

A. BIÇIME İLIŞKIN ANALIZ VE DEĞERLENDIRME Y. Mimar Işılay TEKÇE nin Doktora Tez Çalışmasına İlişkin Rapor 18 Ocak 2010 A. BIÇIME İLIŞKIN ANALIZ VE DEĞERLENDIRME 1. Çalışmanın Bölümleri Aday tarafından hazırlanarak değerlendirmeye sunulan doktora

Detaylı

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon OPTİMİZASYON TEKNİKLERİ Kısıtsız Optimizasyon Giriş Klasik optimizasyon yöntemleri minimum veya maksimum değerlerini bulmak için türev gerektiren ve gerektirmeyen teknikler olarak bilinirler. Bu yöntemler

Detaylı

T.C. YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ÇOK KAYNAK KISITLI PROJELERİN SEZGİSEL YÖNTEMLERLE ÇİZELGELENMESİ UĞUR SATIÇ

T.C. YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ÇOK KAYNAK KISITLI PROJELERİN SEZGİSEL YÖNTEMLERLE ÇİZELGELENMESİ UĞUR SATIÇ T.C. YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ÇOK KAYNAK KISITLI PROJELERİN SEZGİSEL YÖNTEMLERLE ÇİZELGELENMESİ UĞUR SATIÇ YÜKSEK LİSANS TEZİ ENDÜSTRİ MÜHENDİSLİĞİ ANABİLİM DALI SİSTEM MÜHENDİSLİĞİ

Detaylı

YÖNEYLEM ARAŞTIRMASI - I

YÖNEYLEM ARAŞTIRMASI - I YÖNEYLEM ARAŞTIRMASI - I 1/19 İçerik Yöneylem Araştırmasının Dalları Kullanım Alanları Yöneylem Araştırmasında Bazı Yöntemler Doğrusal (Lineer) Programlama, Oyun Teorisi, Dinamik Programlama, Tam Sayılı

Detaylı

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI ÖZEL EGE LĠSESĠ GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI HAZIRLAYAN ÖĞRENCĠLER: Berkin ĠNAN Doğa YÜKSEL DANIġMAN ÖĞRETMEN: Aslı ÇAKIR ĠZMĠR 2014 ĠÇĠNDEKĠLER 1. PROJENĠN AMACI. 3

Detaylı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati Kredi AKTS (T+U+L) ŞEBEKE MODELLERİ EN-413 4/I 3+0+0 3 5 Dersin Dili : İngilizce Dersin Seviyesi : Lisans

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. SEQUENCE ALGORİTMASI Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. Bir dizi yapısı içinde, bir eylem ya da bir olay, geçmiş

Detaylı

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) Genetik Algoritma

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) Genetik Algoritma 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 3 Genetik Algoritma Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web:

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA BG-213 2/1 2+0+2 2+1 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

GİRİŞ BİRİNCİ BÖLÜM KAVRAMSAL VE KURAMSAL ÇERÇEVE: İŞLETME KULUÇKASI KAVRAMI 1.1. İŞLETME KULUÇKALARININ TANIMI... 24

GİRİŞ BİRİNCİ BÖLÜM KAVRAMSAL VE KURAMSAL ÇERÇEVE: İŞLETME KULUÇKASI KAVRAMI 1.1. İŞLETME KULUÇKALARININ TANIMI... 24 iv İÇİNDEKİLER ÖNSÖZ VE TEŞEKKÜR... İ ÖZET... İİ ABSTRACT... İİİ İÇİNDEKİLER... İV KISALTMALAR DİZİNİ... X ŞEKİLLER DİZİNİ... Xİ ÇİZELGELER DİZİNİ... Xİİİ GİRİŞ GİRİŞ... 1 ÇALIŞMANIN AMACI... 12 ÇALIŞMANIN

Detaylı

Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi

Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi Özet Dr. Sevgi Özkan ve Prof. Dr Semih Bilgen Enformatik Enstitüsü, Orta Doğu Teknik Üniversitesi, Ankara Tel: (312) 210 3796 e-posta:

Detaylı

yönetimi vb. lisans ve yüksek lisans programlarındaki öğrenciler için kapsamlı bilgilenme imkânı sağlamaktadır.

yönetimi vb. lisans ve yüksek lisans programlarındaki öğrenciler için kapsamlı bilgilenme imkânı sağlamaktadır. Önsöz Günümüzde, hemen hemen her tür ve boyutta organizasyonda, görevleri proje olarak organize etmek yaygınlaşmıştır. Bunun en temel nedenlerinden biri çağdaş yönetim anlayışının hiyerarşik örgüt yapısından

Detaylı

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III YÖNEYLEM ARAŞTIRMASI - III Prof. Dr. Cemalettin KUBAT Yrd. Doç. Dr. Özer UYGUN İçerik Bu bölümde eşitsizlik kısıtlarına bağlı bir doğrusal olmayan kısıta sahip problemin belirlenen stasyoner noktaları

Detaylı

Üstel Öğrenme ve Genel Bozulma Etkili Akış Tipi Çizelgeleme Problemi: Maksimum Tamamlanma Zamanı Minimizasyonu

Üstel Öğrenme ve Genel Bozulma Etkili Akış Tipi Çizelgeleme Problemi: Maksimum Tamamlanma Zamanı Minimizasyonu Üstel Öğrenme ve Genel Bozulma Etkili Akış Tipi Çizelgeleme Problemi: Maksimum Tamamlanma Zamanı Minimizasyonu Tamer Eren Kırıkkale Üniversitesi, Mühendislik Fakültesi, Endüstri Mühendisliği Bölümü, 71451,

Detaylı

EKONOMETRİ. Yöneylem araştırması ile ilgili temel kavramları öğrenebilecekler. Yöneylem araştırması tekniklerini uygulamayı öğrenebilecekler.

EKONOMETRİ. Yöneylem araştırması ile ilgili temel kavramları öğrenebilecekler. Yöneylem araştırması tekniklerini uygulamayı öğrenebilecekler. EKONOMETRİ Amaç: Yöneylem Araştırması-I dersine ilaveten bu ders şebeke modelleri, ulaştırma modelleri ve proje planlama konularını ele almaktadır. Ders öğrencilere optimalın yanı sıra heuristic çözüm

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA DİLLERİ BG-324 3/2 3+0+0 3+0 4 Dersin Dili : TÜRKÇE Dersin Seviyesi

Detaylı

İÇİNDEKİLER. Birinci Bölüm Üretim Yönetiminde Temel Kavramlar

İÇİNDEKİLER. Birinci Bölüm Üretim Yönetiminde Temel Kavramlar İÇİNDEKİLER Birinci Bölüm Üretim Yönetiminde Temel Kavramlar 1.1. Giriş... 2 1.2. Üretim Faktörleri ve Üretim... 3 1.3. Üretim ve İşlemler Yönetimi... 6 1.4. Üretim ve İşlemler Yönetiminin Kapsamı... 7

Detaylı

FMEA. Hata Türleri ve Etkileri Analizi

FMEA. Hata Türleri ve Etkileri Analizi FMEA Hata Türleri ve Etkileri Analizi 2007 FMEA Tanımı FMEA (HTEA), bir ürün veya prosesin potansiyel hatalarını ve bunların sonucu olabilecek etkilerini tanımlama, değerlendirme, potansiyel hatanın ortaya

Detaylı

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K); 2009-2010 BAHAR DÖNEMİ MC 689 ALGORİTMA TASARIMI ve ANALİZİ I. VİZE ÇÖZÜMLERİ 1. a) Böl ve yönet (divide & conquer) tarzındaki algoritmaların genel özelliklerini (çalışma mantıklarını) ve aşamalarını kısaca

Detaylı

Bulanık Mantık Tabanlı Uçak Modeli Tespiti

Bulanık Mantık Tabanlı Uçak Modeli Tespiti Bulanık Mantık Tabanlı Uçak Modeli Tespiti Hüseyin Fidan, Vildan Çınarlı, Muhammed Uysal, Kadriye Filiz Balbal, Ali Özdemir 1, Ayşegül Alaybeyoğlu 2 1 Celal Bayar Üniversitesi, Matematik Bölümü, Manisa

Detaylı

Ekonometri. yöneylem araştırması ile ilgili temel kavramları öğrenebilecekler. bazı yöneylem araştırması tekniklerini uygulamayı öğrenebilecekler.

Ekonometri. yöneylem araştırması ile ilgili temel kavramları öğrenebilecekler. bazı yöneylem araştırması tekniklerini uygulamayı öğrenebilecekler. Ekonometri Amaç: Öğrencilere gerçek yaşam problemlerini modelleme ve rasyonel ve optimal çözüm metotları sunmaktır. Dersin sonunda öğrenciler problemleri anlama, modelleme, temel algoritmalarla çözme ve

Detaylı

PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ

PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ Ege Akademik BakıĢ / Ege Academic Review 10 (1) 2010: 199-210 PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ EFFICIENCY OF MUTATION RATE FOR PARALLEL MACHINE SCHEDULING

Detaylı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Giriş. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak

Detaylı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı Erol Şahin Bilgisayar Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi Ankara, Türkiye 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK,

Detaylı

Esnek Hesaplamaya Giriş

Esnek Hesaplamaya Giriş Esnek Hesaplamaya Giriş J E O L O J İ M Ü H E N D İ S L İ Ğ İ A. B. D. E S N E K H E S A P L A M A Y Ö N T E M L E R İ - I DOÇ. DR. ERSAN KABALCI Esnek Hesaplama Nedir? Esnek hesaplamanın temelinde yatan

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. ALGORİTMA ANALİZİ VE TASARIMI Ders Saati (T+U+L) Kredi AKTS BG-315 3/1 3+0+0 3+0 5 Dersin Dili : TÜRKÇE Dersin

Detaylı

2013-2014 Bahar Y.Y. E-Mühendislik Yönetimi Proje Dersi Danışman Listesi ve İlgi Alanları

2013-2014 Bahar Y.Y. E-Mühendislik Yönetimi Proje Dersi Danışman Listesi ve İlgi Alanları 2013-2014 Bahar Y.Y. E-Mühendislik Yönetimi Proje Dersi Danışman Listesi ve İlgi Alanları Prof. Dr. Orhan TORKUL 1. Bilişim Sistemleri Analiz ve Tasarımı 2. İş Zekası Sistemleri 3. Ortak Çalışma Sistemleri

Detaylı

SAYISAL YÖNTEMLERDE PROBLEM ÇÖZÜMLERİ VE BİLGİSAYAR DESTEKLİ UYGULAMALAR

SAYISAL YÖNTEMLERDE PROBLEM ÇÖZÜMLERİ VE BİLGİSAYAR DESTEKLİ UYGULAMALAR SAYISAL YÖNTEMLERDE PROBLEM ÇÖZÜMLERİ VE BİLGİSAYAR DESTEKLİ UYGULAMALAR Prof. Dr. Hülya H. Tütek Prof. Dr. Şevkinaz Gümüşoğlu Doç. Dr. Ali Özdemir Dr. Aslı Yüksek Özdemir II Yayın No : 2371 İşletme-Ekonomi

Detaylı

Deneysel Verilerin Değerlendirilmesi. Dersi Veren Öğretim Üyeleri: Yrd. Doç. Dr. Özge ANDİÇ ÇAKIR. Prof. Dr. Murat ELİBOL FİNAL SINAVI

Deneysel Verilerin Değerlendirilmesi. Dersi Veren Öğretim Üyeleri: Yrd. Doç. Dr. Özge ANDİÇ ÇAKIR. Prof. Dr. Murat ELİBOL FİNAL SINAVI Deneysel Verilerin Değerlendirilmesi Dersi Veren Öğretim Üyeleri: Yrd. Doç. Dr. Özge ANDİÇ ÇAKIR Prof. Dr. Murat ELİBOL FİNAL SINAVI Ödevi Hazırlayan: Özge AKBOĞA 91100019124 (Doktora) Güz,2012 İzmir 1

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms)

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 2017-2018 Güz Yarıyılı EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 4 Genetik Algoritma Örnek Uygulamalar (Sırt Çantası Problemi, Sınav Programı Çizelgeleme) Yrd. Doç. Dr. İbrahim

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing

Detaylı

3. sınıf. Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste

3. sınıf. Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste 3. sınıf 5. Yarıyıl (Güz Dönemi) Bilgi Kaynaklarının Tanımlanması ve Erişimi I (AKTS 5) 3 saat Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste Kütüphane Otomasyon

Detaylı

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ 127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ Veri Madenciliği : Bir sistemin veri madenciliği sistemi olabilmesi

Detaylı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ T.C. SAKARYA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÇALIŞMASI TEZ BAŞLIĞI HAZIRLAYAN Adı Soyadı DANIŞMAN Ünvanı Adı Soyadı MAYIS 2017 2 İÇİNDEKİLER İçindekiler Sayfası

Detaylı

Neden Endüstri Mühendisliği Bölümünde Yapmalısınız?

Neden Endüstri Mühendisliği Bölümünde Yapmalısınız? Lisansüstü Eğitiminizi Neden Endüstri Mühendisliği Bölümünde Yapmalısınız? Uludağ Üniversitesi Mühendislik-Mimarlık Fakültesi Endüstri Mühendisliği Bölümü, 1990 yılında kurulmuş ve ilk mezunlarını 1994

Detaylı

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: END 4916

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: END 4916 Dersi Veren Birim: Endüstri Mühendisliği Dersin Türkçe Adı: ÜRETİM ÇİZELGELEME Dersin Orjinal Adı: ÜRETİM ÇİZELGELEME Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora) Lisans Dersin Kodu: END 9

Detaylı

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ Engin Sansarcı İ.T.Ü. İşletme Fakültesi, İSTANBUL enginsansarci@gmail.com Abdullah Aktel İ.T.Ü. İşletmeFakültesi, İSTANBUL abdullahaktel@gmail.com

Detaylı

Tedarik Zinciri Yönetimi

Tedarik Zinciri Yönetimi Tedarik Zinciri Yönetimi -Tedarikçi Seçme Kararları- Yrd. Doç. Dr. Mert TOPOYAN Satın Alma Bir ișletme, dıșarıdan alacağı malzeme ya da hizmetlerle ilgili olarak satın alma (tedarik) fonksiyonunda beș

Detaylı

Kredi Limit Optimizasyonu:

Kredi Limit Optimizasyonu: Kredi Limit Optimizasyonu: «Teorik Değil Pratik" Simge Danışman Analitik Direktörü, Experian EMEA Kar Gelişimi Kredi Limit Optimizasyonu Optimizasyona Genel Bakış Profilleme Modelleme Karar Matrisleri

Detaylı

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ Özgür ARMANERİ Dokuz Eylül Üniversitesi Özet Bu çalışmada, bir montaj hattı

Detaylı

KONU İLGİ. NutriOpt TERCÜME VE DERLEME KAYNAKÇA YAYININ KAPSAMI

KONU İLGİ. NutriOpt TERCÜME VE DERLEME KAYNAKÇA YAYININ KAPSAMI NIR NutriOpt KONU Nutreco nun en güncel projesi NutriOpt ile getirdiği yenilikler İLGİ NutriOpt TERCÜME VE DERLEME KAYNAKÇA YAYININ KAPSAMI Formülasyon ve Fiyatlandırma Uzmanı Burak GÜLHAN NutriOpt Poultry

Detaylı

KOMBİNATORYAL OPTİMİZASYON

KOMBİNATORYAL OPTİMİZASYON KOMBİNATORYAL OPTİMİZASYON İnsanların, daha iyi nasıl olabilir ya da nasıl elde edilebilir?, sorusuna cevap aramaları, teknolojinin gelişmesini sağlayan en önemli etken olmuştur. Gerçek hayatı daha kolay

Detaylı

BİTİRME ÖDEVİ KONU BİLDİRİM FORMU

BİTİRME ÖDEVİ KONU BİLDİRİM FORMU Öğretim Elemanın Adı Soyadı: Prof. Dr. Ali KOKANGÜL BİTİRME ÖDEVİ 1 Yalın üretim a, b, c, d 2 Malzeme stok optimizasyonu a, b, c, 3 Yaratıcı düşünce ve fikir üretme a, b, c, d 4 Matematiksel modelleme

Detaylı

CETP KOMPOZİTLERİN DELİNMELERİNDEKİ İTME KUVVETİNİN ANFIS İLE MODELLENMESİ MURAT KOYUNBAKAN ALİ ÜNÜVAR OKAN DEMİR

CETP KOMPOZİTLERİN DELİNMELERİNDEKİ İTME KUVVETİNİN ANFIS İLE MODELLENMESİ MURAT KOYUNBAKAN ALİ ÜNÜVAR OKAN DEMİR CETP KOMPOZİTLERİN DELİNMELERİNDEKİ İTME KUVVETİNİN ANFIS İLE MODELLENMESİ MURAT KOYUNBAKAN ALİ ÜNÜVAR OKAN DEMİR Çalışmanın amacı. SUNUM PLANI Çalışmanın önemi. Deney numunelerinin üretimi ve özellikleri.

Detaylı

2.1 Bir Sınıfı Örneklerinden Öğrenme... 15 2.2 Vapnik-Chervonenkis (VC) Boyutu... 20 2.3 Olası Yaklaşık Doğru Öğrenme... 21

2.1 Bir Sınıfı Örneklerinden Öğrenme... 15 2.2 Vapnik-Chervonenkis (VC) Boyutu... 20 2.3 Olası Yaklaşık Doğru Öğrenme... 21 İçindekiler Önsöz İkinci Basım için Önsöz Türkçe Çeviri için Önsöz Gösterim xiii xv xvii xix 1 Giriş 1 1.1 Yapay Öğrenme Nedir?......................... 1 1.2 Yapay Öğrenme Uygulamalarına Örnekler...............

Detaylı

DEPREM KONUMLARININ BELİRLENMESİNDE BULANIK MANTIK YAKLAŞIMI

DEPREM KONUMLARININ BELİRLENMESİNDE BULANIK MANTIK YAKLAŞIMI DEPREM KONUMLRININ BELİRLENMESİNDE BULNIK MNTIK YKLŞIMI Koray BODUR 1 ve Hüseyin GÖKLP 2 ÖZET: 1 Yüksek lisans öğrencisi, Jeofizik Müh. Bölümü, Karadeniz Teknik Üniversitesi, Trabzon 2 Yrd. Doç. Dr., Jeofizik

Detaylı

RÜZGAR YÜKÜNÜN BİR TİCARİ ARAÇ SERVİS KAPISINA OLAN ETKİLERİNİN İNCELENMESİ

RÜZGAR YÜKÜNÜN BİR TİCARİ ARAÇ SERVİS KAPISINA OLAN ETKİLERİNİN İNCELENMESİ RÜZGAR YÜKÜNÜN BİR TİCARİ ARAÇ SERVİS KAPISINA OLAN ETKİLERİNİN İNCELENMESİ Melih Tuğrul, Serkan Er Hexagon Studio Araç Mühendisliği Bölümü OTEKON 2010 5. Otomotiv Teknolojileri Kongresi 07 08 Haziran

Detaylı

AKILLI KAVŞAK YÖNETİM SİSTEMİ

AKILLI KAVŞAK YÖNETİM SİSTEMİ AKILLI KAVŞAK YÖNETİM SİSTEMİ 1 1. PROJE ÖZETİ Dünya nüfusu, gün geçtikçe artmaktadır. Mevcut alt yapılar, artan nüfusla ortaya çıkan ihtiyaçları karşılamakta zorlanmaktadır. Karşılanamayan bu ihtiyaçların

Detaylı

İş Sıralama ve Çizelgeleme. Gülşen Aydın Keskin

İş Sıralama ve Çizelgeleme. Gülşen Aydın Keskin İş Sıralama ve Çizelgeleme Gülşen Aydın Keskin 1. Tabu arama 2. Tavlama benzetimi 3. Genetik algoritmalar (GA) 4. Karınca kolonileri 5. Yapay sinir ağları (YSA) 6. Yapay bağışıklık sistemleri 7. Aç gözlü

Detaylı

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar Mühendisliği Bölümü Balcalı-ADANA İçerik Çalışmanın

Detaylı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati Kredi AKTS (T+U+L) YÖNEYLEM ARAŞTIRMA İÇİN ALGORİTMALAR EN-312 3/I 3+0+0 3 5 Dersin Dili : Türkçe Dersin

Detaylı

Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4129 ÇİZELGELEME

Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4129 ÇİZELGELEME 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4129 ÇİZELGELEME (Moore Algoritması, Öncelik Kısıtları, Lawler Algoritması, Öne Geçmeli Durum) Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ

Detaylı

Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir.

Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir. PROJE YÖNETİMİ Proje: Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir. Proje Yönetimi: Kısıtlı zaman, maliyet ve teknik durumları dikkate alarak, projenin en etkin

Detaylı

Genel Graf Üzerinde Mutlak 1-merkez

Genel Graf Üzerinde Mutlak 1-merkez Genel Graf Üzerinde Mutlak 1-merkez Çözüm yöntemine geçmeden önce bazı tanımlara ihtiyaç vardır. Dikkate alınan G grafındaki düğümleri 1 den n e kadar numaralandırın. Uzunluğu a(i, j)>0 olarak verilen

Detaylı

Deniz ERSOY Elektrik Yük. Müh.

Deniz ERSOY Elektrik Yük. Müh. Deniz ERSOY Elektrik Yük. Müh. AMACIMIZ Yenilenebilir enerji kaynaklarının tesis edilmesi ve enerji üretimi pek çok araştırmaya konu olmuştur. Fosil yakıtların giderek artan maliyeti ve giderek tükeniyor

Detaylı

Önsöz... XIII Önsöz (Hava Harp Okulu Basımı)...XV BÖLÜM 1 1. YÖNEYLEM ARAŞTIRMASINA GİRİŞ... 1

Önsöz... XIII Önsöz (Hava Harp Okulu Basımı)...XV BÖLÜM 1 1. YÖNEYLEM ARAŞTIRMASINA GİRİŞ... 1 İÇİNDEKİLER Önsöz... XIII Önsöz (Hava Harp Okulu Basımı)...XV BÖLÜM 1 1. YÖNEYLEM ARAŞTIRMASINA GİRİŞ... 1 1.1. Yöneticilik / Komutanlık İşlevi ve Gerektirdiği Nitelikler... 2 1.1.1. Yöneticilik / Komutanlık

Detaylı

Yöneylem Araştırması III

Yöneylem Araştırması III Yöneylem Araştırması III Doç. Dr. Hakan ÇERÇİOĞLU cercioglu@gazi.edu.tr Yöneylem Araştırması III 1 BÖLÜM I: Hedef Programlama HEDEF PROGRAMLAMAYA GİRİŞ ÖNCELİKSİZ HEDEF PROGRAMLAMA ÖNCELİKLİ HEDEF PROGRAMLAMA

Detaylı

BÖLÜM I: Hedef Programlama. Prof.Dr. Bilal TOKLU. HEDEF PROGRAMLAMAYA GİRİŞ HEDEF PROGRAMLAMA MODELLERİNİN ÇÖZÜMÜ

BÖLÜM I: Hedef Programlama. Prof.Dr. Bilal TOKLU. HEDEF PROGRAMLAMAYA GİRİŞ HEDEF PROGRAMLAMA MODELLERİNİN ÇÖZÜMÜ Yöneylem Araştırması III Prof.Dr. Bilal TOKLU btoklu@gazi.edu.tr Yöneylem Araştırması III BÖLÜM I: Hedef Programlama HEDEF PROGRAMLAMAYA GİRİŞ ÖNCELİKSİZ HEDEF PROGRAMLAMA ÖNCELİKLİ HEDEF PROGRAMLAMA HEDEF

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Sınıflandırma yöntemleri Karar ağaçları ile sınıflandırma Entropi Kavramı ID3 Algoritması C4.5

Detaylı

ÜRETİM ÇİZELGELEME. Yrd. Doç. Dr. Pınar Mızrak Özfırat. Celal Bayar Üniversitesi Yayınları Yayın No: 0010

ÜRETİM ÇİZELGELEME. Yrd. Doç. Dr. Pınar Mızrak Özfırat. Celal Bayar Üniversitesi Yayınları Yayın No: 0010 ÜRETİM ÇİZELGELEME Yrd. Doç. Dr. Pınar Mızrak Özfırat Celal Bayar Üniversitesi Yayınları Yayın No: 0010 2013 Celal Bayar Üniversitesi Yönetim Kurulu'nun 2013/13 sayılı ve X no'lu kararı ile basılmıştır.

Detaylı

İçindekiler vii Yazarların Ön Sözü xiii Çevirenin Ön Sözü xiv Teşekkürler xvi Semboller Listesi xvii. Ölçme, İstatistik ve Araştırma...

İçindekiler vii Yazarların Ön Sözü xiii Çevirenin Ön Sözü xiv Teşekkürler xvi Semboller Listesi xvii. Ölçme, İstatistik ve Araştırma... İçindekiler İçindekiler vii Yazarların Ön Sözü xiii Çevirenin Ön Sözü xiv Teşekkürler xvi Semboller Listesi xvii BÖLÜM 1 Ölçme, İstatistik ve Araştırma...1 Ölçme Nedir?... 3 Ölçme Süreci... 3 Değişkenler

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr Genel İçerik Veri Madenciliğine Giriş Veri Madenciliğinin Adımları Veri Madenciliği Yöntemleri Sınıflandırma

Detaylı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı 1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi

Detaylı

KAYNAK KISITLI PROJE ÇĐZELGELEMEDE ĐNDĐRGENMĐŞ NAKĐT AKIŞI MAKSĐMĐZASYONU ĐÇĐN BĐR GENETĐK ALGORĐTMA YAKLAŞIMI. Funda Sivrikaya Şerifoğlu

KAYNAK KISITLI PROJE ÇĐZELGELEMEDE ĐNDĐRGENMĐŞ NAKĐT AKIŞI MAKSĐMĐZASYONU ĐÇĐN BĐR GENETĐK ALGORĐTMA YAKLAŞIMI. Funda Sivrikaya Şerifoğlu KAYNAK KISITLI PROJE ÇĐZELGELEMEDE ĐNDĐRGENMĐŞ NAKĐT AKIŞI MAKSĐMĐZASYONU ĐÇĐN BĐR GENETĐK ALGORĐTMA YAKLAŞIMI Funda Sivrikaya Şerifoğlu Abant Đzzet Baysal Üniversitesi Đşletme Bölümü, Gölyaka Mevkii,

Detaylı