ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ

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

Download "ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ"

Transkript

1 ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ GENEL ATAMA PROBLEMLERİNİN ÇÖZÜMÜNDE DETERMİNİSTİK, OLASILIK TEMELLİ VE SEZGİSEL YÖNTEMLERİN UYGULANMASI Çağatay SEL ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ ANABİLİM DALI ANKARA 2013 Her hakkı saklıdır

2 TEZ ONAYI Çağatay SEL tarafından hazırlanan Genel Atama Problemlerinin Çözümünde Deterministik, Olasılık Temelli ve Sezgisel Yöntemlerin Uygulanması adlı tez çalışması 30/05/2013 tarihinde aşağıdaki jüri tarafından oy birliği ile Ankara Üniversitesi Fen Bilimleri Enstitüsü Elektrik Elektronik Mühendisliği Ana Bilim Dalı nda YÜKSEK LİSANS TEZİ olarak kabul edilmiştir. Danışman: Doç. Dr. Asım Egemen YILMAZ Jüri Üyeleri: Başkan : Prof. Dr. Orhan Arıkan İhsan Doğramacı Bilkent Üniversitesi Elektrik-Elektronik Mühendisliği Anabilim Dalı Üye : Doç. Dr. Asım Egemen YILMAZ Ankara Üniversitesi Elektrik-Elektronik Mühendisliği Anabilim Dalı Üye : Yrd. Doç. Dr. Aykut Kalaycıoğlu Ankara Üniversitesi Elektrik-Elektronik Mühendisliği Anabilim Dalı Yukarıdaki sonucu onaylıyorum. Prof. Dr. İbrahim DEMİR Enstitü Müdürü

3 ÖZET Yüksek Lisans Tezi GENEL ATAMA PROBLEMLERİNİN ÇÖZÜMÜNDE DETERMİNİSTİK, OLASILIK TEMELLİ VE SEZGİSEL YÖNTEMLERİN UYGULANMASI Çağatay SEL Ankara Üniversitesi Fen Bilimleri Enstitüsü Elektrik-Elektronik Mühendisliği Anabilim Dalı Danışman: Doç. Dr. Asım Egemen YILMAZ Kaynakların ve zamanın öneminin arttığı günümüzde; kişi-görev, unsur-görev, vb. eşleştirmeleri yapılarak sonuca ulaşılmaya çalışılan problemlere atama problemi adı verilmektedir. Atama problemlerinin çözümünde kullanılan algoritmaların bazıları her unsurun bir görevle eşleştirileceği ve boşta görev kalmamasını amaçlarken, bazıları sonuca ulaşırken olasılık prensibini göz önünde bulundurarak sonuca ulaşmakta, bazı algoritmalar ise çözüme ulaşırken doğadan ilham almaktadır. Görevin başarımı, zaman, maliyet kıstaslarını göz önünde bulundurarak en iyi çözüme ulaşan algoritmanın belirlenmesi amacı ile algoritmalar aynı veriler ışığı altında denenerek sonuçlar kıyaslanmıştır. Bilim, Sanayi ve Teknoloji Bakanlığının desteklemiş olduğu San-Tez Projesi kapsamında projede belirlenen kıstaslar (Hava aracı-görev eşleştirilmeleri yapılırken bütün görevlerin yapılması amacı güdülerek her bir hava aracına maksimum iki görev ataması yapılması) altında en iyi sonucu veren algoritma belirlenmiştir. Atama problemlerinin çözümünde belirlenen kısıtlar altında sezgisel yöntemler ile en iyi sonuca ulaşılabileceği gösterilmiştir. Mayıs 2013, 103 sayfa Anahtar Kelimeler: Genel Atama Problemleri, Optimizasyon, Macar Algoritması, Genetik Algoritma, Karınca Koloni Optimizasyon Algoritması, Dağılım Kestirim Algoritması. i

4 ABSTRACT Master Thesis APPLICATION OF DETERMINISTIC, PROBABILISTIC AND HEURISTIC METHODS FOR THE SOLUTION OF GENERALIZED ASSIGNMENT PROBLEMS Çağatay SEL Ankara University Graduate School of Natural and Applied Sciences Department of Electrical and Electronics Engineering Supervisor: Assoc. Prof. Dr. Asım Egemen YILMAZ As the sources and time increase their priority nowadays; the problems, which can be solved by matching person-task, machine- task etc. are called assignment problems. Some algorithms, which can be used for the solution of assignment problems, aim that each asset match with a task and all assets are covered. By solving the assignment problems, some algorithms take account of probability principle and some other algorithms solve them heuristically. In order to decide the algorithm with the best solution, the algorithms are compared using the same dataset with respect to performance, time and cost criteria. This thesis is supported by the Turkish Ministry of Science, Industry and Technology under the SANTEZ program, the algorithm with the best solution is decided under some specified criteria (While making air asset task matching, each air component is assigned with maximum two tasks in order to all the tasks are covered). It is shown that heuristic methods perform the best performance for the solution of assignment problems under these specified criteria. May 2013, 103 pages Key Words: Assignment Problems, Optimization, Hungarian Algorithm, Genetic Algorithm, Ant Colony Optimization Algorithm, Estimation of Distribution Algorithm. ii

5 TEŞEKKÜR Tez çalışmasının her aşamasında, bilgisi ve tecrübesi ile bana yol gösteren, ortaya çıkan problemlerin aşılmasında yaptığı öneriler ile çalışmanın bu noktaya gelmesinde büyük payı olan danışman hocam sayın Doç. Dr. Asım Egemen YILMAZ a (Ankara Üniversitesi Elektrik-Elektronik Mühendisliği Anabilim Dalı) teşekkür ederim. Tez çalışması süresince yapılan toplantılarda fikirleri ile katkıda bulunan Sayın Doç. Dr. Murat EFE ye (Ankara Üniversitesi Elektrik-Elektronik Mühendisliği Anabilim Dalı), Sayın Tayfur YAYLAGÜL e (HAVELSAN A.Ş.) ve Sayın Sadi Uçkun EMEL e (HAVELSAN A.Ş.) teşekkür ederim. Ayrıca Yüksek Lisans eğitimim sırasındaki çalışmalarımı, SANTEZ projesi kapsamında maddi yönden destekleyen Bilim, Sanayi ve Teknoloji Bakanlığı ve HAVELSAN A.Ş. ye teşekkür ederim. Her koşulda yanımda olup desteğini esirgemeyen ve her konuda bana güvenen annem Leyla SEL e, babam Cengiz SEL e ve canım kardeşim Buğra SEL e sonsuz teşekkür ederim. Bu tez çalışması, T.C. Bilim, Sanayi ve Teknoloji Bakanlığı destekli "Çoklu Hava Unsurları İçin Görev Planlaması ve Optimizasyonu" başlıklı ve STZ numaralı San-Tez projesi kapsamında desteklenmiştir. Çağatay SEL Ankara, Mayıs 2013 iii

6 İÇİNDEKİLER ÖZET... i ABSTRACT... ii TEŞEKKÜR... iii ŞEKİLLER DİZİNİ... vi ÇİZELGELER DİZİNİ... viii 1 GİRİŞ KAYNAK ÖZETLERİ Atama Problemi MATERYAL VE YÖNTEM Deterministik Yöntemler Kaba Kuvvet Algoritması Adım Adım Algoritması Macar Algoritması Olasılık Temelli Yöntemler Açık Artırma Algoritması Açgözlü Algoritma Rastgele Atama Algoritması Sezgisel Yöntemler Genetik Algoritma Karınca Koloni Optimizasyonu Algoritması Dağılım Kestirim Algoritması ARAŞTIRMA BULGULARI Benzetim Sonuçları Deterministik Yöntemlere ait Sonuçlar Adım Adım Algoritması Macar Algoritması Kaba Kuvvet Algoritması Olasılık Temelli Yöntemlere ait Sonuçlar Açık Artırma Algoritması Açgözlü Algoritma Rastgele Atama Algoritması Sezgisel Yöntemlere ait Sonuçlar Genetik Algoritma iv

7 Karınca Koloni Optimizasyon Algoritması Değişken Parametreli Karınca Kolonisi Optimizasyon Algoritması Dağılım Kestirim Algoritması Nihai Ürün (Java) Görsel Arayüz Nihai Üründeki Algoritmalar Nihai Üründeki Kaba Kuvvet Algoritması Nihai Üründeki Genetik Algoritma Nihai Üründeki Karınca Kolonisi Optimizasyon Algoritması TARTIŞMA ve SONUÇ KAYNAKLAR ÖZGEÇMİŞ v

8 ŞEKİLLER DİZİNİ Şekil 3.1 Kaba Kuvvet Algoritması akış diyagramı Şekil 3.2 Macar Algoritması akış diyagramı Şekil 3.3 Genetik Algoritma akış diyagramı Şekil 3.4 Tek noktalı çaprazlama örneği Şekil 3.5 İki noktalı çaprazlama örneği Şekil 3.6 Sıralı mutasyon örneği Şekil 3.7 Öncü karıncaların besin maddesine giden yolu belirlemesi Şekil 3.8 Öncü karıncaların besin maddesine ulaşması Şekil 3.9 Karıncaların besin maddesine kısa yoldan ulaşması Şekil 3.10 Toplam Maliyet kriterine göre Karınca Koloni Algoritması akış diyagramı 37 Şekil 3.11 Yerel Maliyet kriterine göre Karınca Koloni Algoritması akış diyagramı.. 39 Şekil 3.12 Toplam Maliyet kriteri ve öncü karıncaların rastgele atandığı Karınca Koloni Algoritması akış diyagram Şekil 3.13 Yerel Maliyet kriteri ve öncü karıncaların rastgele atandığı Karınca Koloni Algoritması akış diyagramı Şekil 4.1 Açgözlü Algoritmaya ait 100 birey için histogram Şekil 4.2 Rastgele Atama Algoritmasına ait 100 birey için histogram Şekil 4.3 Çaprazlama Oranı = %10, %30, %50, %70, %90 değerleri için sonuçlar Şekil 4.4 Mutasyon Oranı = %10, %30, %50, %70, %90 değerleri için sonuçlar Şekil 4.5 Elitizm Oranı = %10, %30, %50, %70, %90 değerleri için sonuçlar Şekil 4.6 Nüfus Büyüklüğü = 5, 10, 30, 50, 100 değerleri için sonuçlar Şekil 4.7 Nüfus Büyüklüğü = 5, 10, 30, 50, 100 değerlerine ait; toplam 3000 defa Uygunluk Fonksiyonu hesaplanan konfigürasyona ilişkin sonuçlar Şekil 4.8 Birey ve gen bakımından rulet çarkı yönteminin kıyaslanması Şekil 4.9 α = 0.1, 1, 2, 5, 20 değerleri için sonuçlar Şekil 4.10 β = 0.1, 1, 2, 5, 20 değerleri için sonuçlar Şekil 4.11 =0.1, 0.3, 0.5, 0.9, 1 değerleri için sonuçlar Şekil 4.12 Karınca Sayısı = 3, 10, 20, 50, 100 değerleri için sonuçlar Şekil 4.13 İterasyon Sayısı = 5, 10, 30, 50, 100 değerleri için sonuçlar Şekil 4.14 Q = 0.01, 1, 100, değerleri için sonuçlar Şekil 4.15 α = 5, 2, 1 değerleri için sonuçlar Şekil 4.16 β = 5, 2, 1 değerleri için sonuçlar Şekil 4.17 = 0.9, 0.5, 0.1 değerleri için sonuçlar Şekil 4.18 Eşik seviyesi =10 için limit seviyesi değeri kıyaslaması Şekil 4.19 Eşik seviyesi =10 için birey sayısı kıyaslaması Şekil 4.20 Eşik seviyesi =30 için limit seviyesi değeri kıyaslaması Şekil 4.21 Eşik seviyesi =30 için birey sayısı kıyaslaması Şekil 4.22 Eşik seviyesi =50 için limit seviyesi değeri kıyaslaması Şekil 4.23 Eşik seviyesi =50 için birey sayısı kıyaslaması Şekil 4.24 Eşik seviyesi =90 için limit seviyesi değeri kıyaslaması Şekil 4.25 Eşik seviyesi =90 için birey sayısı kıyaslaması Şekil 4.26 Görsel Arayüz (Dünya Haritası) Şekil 4.27 Görsel Arayüz (Türkiye Haritası) Şekil Senaryoya ait koordinat görselleri ekranı Şekil Senaryoya ait Kaba Kuvvet Algoritması sonuç görseli ekranı vi

9 Şekil Senaryoya ait Kaba Kuvvet Algoritması sonuç görseli ekranı Şekil Senaryoya ait Genetik Algoritma sonuç görseli ekranı Şekil Senaryoya ait Genetik Algoritma sonuç görseli ekranı Şekil Senaryoya ait Karınca Kolonisi Optimizasyon Algoritması sonuç görseli ekranı Şekil Senaryoya ait Karınca Kolonisi Optimizasyon Algoritması sonuç görseli ekranı vii

10 ÇİZELGELER DİZİNİ Çizelge 2.1 Genel Maliyet Matrisi... 4 Çizelge 3.1 Kişi-Görev atamalı örnek bir maliyet matrisi... 9 Çizelge adet görev ve 4 adet kişiye ait alternatif çözümler Çizelge 3.3 Görev_1 in H.Aracı_1 e atanmış olması durumuna karşılık olası çözümler Çizelge 3.4 Görev_1 in H.Aracı_2 ye atanmış olması durumuna karşılık olası çözümler Çizelge 3.5 Görev_1 in H.Aracı_3 e atanmış olması durumuna karşılık olası çözümler Çizelge 3.6 Görev_1 in H.Aracı _4 e atanmış olması durumuna karşılık olası çözümler Çizelge 3.7 Adım Adım Algoritması örneği Çizelge 3.8 Macar Algoritması örneği Çizelge 3.9 Macar Algoritması Adım Çizelge 3.10 Macar Algoritması Adım Çizelge 3.11 Macar Algoritması Adım Çizelge 3.12 Macar Algoritması Adım Çizelge 3.13 Kişi-Görev Açık Artırma Algoritması A* maliyet matrisi Çizelge 3.14 i. görevin j. hava aracı tarafından gerçeklenebilme olasılık matrisi Çizelge 3.15 i. görevin j. hava aracı tarafından gerçeklenebilme olasılık matrisi Çizelge popülasyon bireyi ve 6 hava aracına ait veri seti için ilk atamalar Çizelge görev 6 hava aracına ait veri seti için ilk atamalara karşılık gelen maliyet değerleri Çizelge 3.18 Eşik seviyesi 50 için oluşan matris Çizelge 3.19 Bireylerdeki eşik seviyesinden küçük değerlerin toplamı Çizelge 3.20 Kesme Limiti (0.667=4/6) olmak üzere oluşan matris Çizelge 3.21 Görevlerin yapılabilme olasılığı Çizelge numaralı Maliyet Matrisi (Görev Sayısı = 18 ve Hava Aracı Sayısı = 15 ) Çizelge numaralı Maliyet Matrisi (Görev Sayısı = 4 ve Hava Aracı Sayısı = 5 ) 50 Çizelge 4.3 Adım Adım Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu Çizelge 4.4 Adım Adım Algoritmasının 2 numaralı Maliyet Matrisi için atama sonucu Çizelge 4.5 Macar Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu Çizelge 4.6 Macar Algoritmasının 2 numaralı Maliyet Matrisi için atama sonucu Çizelge 4.7 Kaba Kuvvet Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu Çizelge 4.8 Görev Sayısı = 8, Hava Aracı Sayısı = 9 için rastgele oluşturulmuş Maliyet Matrisi Çizelge 4.9 Kaba Kuvvet Algoritmasının çizelge 4.8 deki Maliyet Matrisi için atama sonucu Çizelge 4.10 Açık Artırma Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu viii

11 Çizelge 4.11 Açık Artırma Algoritmasının 2 numaralı Maliyet Matrisi için atama sonucu Çizelge 4.12 Nüfus Büyüklüğü = 5, 10, 30, 50, 100 değerlerinde algoritmanın gerçeklenme süresi Çizelge 4.13 Karınca Kolonisi Optimizasyon Algoritması çeşitleri Çizelge 4.14 Karınca Sayısına göre algoritmaların gerçeklenme süresi Çizelge 4.15 İterasyon Sayısına göre algoritmaların gerçeklenme süresi ix

12 1 GİRİŞ Rekabetin ve kaynakların öneminin arttığı günümüzde; en verimli bir şekilde sonuca ulaşmak için görevlerin bazı kişi veya nesnelere en az miktarda kaynak kullanılarak eşleştirilmesi büyük önem kazanmıştır (Tokgöz 2008, Çolak ve Güler 2009). Diğer bir deyişle, en küçük toplam maliyeti doğuracak kişi-görev, hava aracı-görev veya makinegörev eşleşmeleri sonucunda, tüm görevlerin en kazançlı şekilde yapılması amaçlanmaktadır. Bu tarz problemlerin eşleştirmeleri yapılarak, en iyi çözümü bulmaya yarayan problemlere "Atama Problemi" adı verilmektedir. Atama problemlerinde kişi, makine, hava aracı vb. (Tezin bundan sonraki kısımlarında hava aracı olarak ele alınacaktır.) unsurların görevleri eldeki kısıtlı kaynakları en etkin şekilde kullanarak yapması beklenmektedir. Bu görevlerin, eldeki kaynaklar en verimli şekilde kullanılarak icra edilmesi, önemli bir husustur. Görev uygun hava aracı eşleştirme işlemi, atama probleminin çözümünün bulunması ile gerçeklenir. T.C. Bilim, Sanayi ve Teknoloji Bakanlığı destekli "Çoklu Hava Unsurları İçin Görev Planlaması ve Optimizasyonu" başlıklı ve STZ numaralı San-Tez projesi kapsamında desteklenen bu yüksek lisans tezinde San-Tez Projesi ile farklı noktalardan havalanmakta olan farklı tipteki hava araçları ile bu araçların kullanmakta olduğu farklı özelliklere sahip sensörler ile görevlerin yapılacağı platformların özelliklerini göz önünde bulundurarak yapılması istenilen görevlerin en verimli şekilde eşleştirilmesi amacı ile kullanılacak olan optimizasyon algoritmalarının geliştirilmesi amaçlanmaktadır. Komuta Kontrol ve Savaş Yönetim Sistemlerinin bir parçası olarak farklı özelliklere sahip hava araçlarının farklı görevlere atanmasına yarayan optimizasyon algoritmalarının, HAVELSAN ın halihazırda geliştirmekte olduğu ürünlere entegre edilerek görev planlama ürünlerindeki yeteneklerini geliştirip nihai ürün haline getirmek istenmektedir. Bu işlemler sırasında kullanılmakta olan optimizasyon algoritmaları ile yapılmak istenen keşif/gözetleme/arama-kurtarma gibi görevler, hava aracının yeteneklerine (hız, menzil, taşıma kapasitesi, sensör, silah, vb.) göre; görevin 1

13 gerçekleştirileceği platformun özellikleri de göz önünde bulundurularak görevin başarımı, tamamlanma süresi, tamamlanma maliyeti unsurları dikkate alınarak bir çıkarım yapılmaya çalışılmaktadır. Örnek verecek olursak, gece görüş özelliği olmayan sensörler kullanan bir hava aracı ile bir bölgede gece keşfi yapılması isteği anlamsızlık teşkil edecektir. Bu gibi kriterleri göz önünde bulundurarak Türk Silahlı Kuvvetlerinde bulunan arama-kurtarma uçakları, İnsansız Hava Araçları (İHA) gibi hava araçlarının görevlere atanması işlemini yürütecek optimizasyon algoritmaları oluşturularak; benzetimi yapılan algoritmanın çözümü elde etme zamanı ve oluşturulan atamanın gerçeklenmesi sonucunda oluşacak olan maliyet kıstasları göz önünde bulundurularak performans kıyaslamaları yapılıp, ele alınan kıstaslara göre en iyi çözüme ulaşılmasını sağlayan algoritma seçilerek proje kapsamında üretilen ürüne entegre edilmiştir. Tez kapsamında optimizasyon algoritmaları ile sonuç elde edilmeye çalışılan problem, daha önceden de belirtildiği gibi bir atama problemine indirgenmiştir. Bu atama problemi ile, belirli sayıdaki hava araçları ile görevlerin eşleştirilmesi istenmektedir. Hava araçlarına eşleştirme işlemi yapılırken, uygun hava araçları arasında mümkün olduğunca eşit görev dağılımı yapılması esas alınacak olup; bu eşleştirme işleminde her hava aracına maksimum iki adet görev verilmesi planlanmaktadır. Bu kriterler ışığında atama problemleri ve çözüm yöntemlerinden bahsedilecek ve en iyi çözüme ulaşılmasını sağlayan optimizasyon algoritması elde edilmeye çalışılacaktır. Belirlenen kriterler (görevin başarımı, zaman, maliyet) ışığında sonuçlar hesaplanarak istenilen şartlara en uygun sonuç uygulanarak envanterdeki hava araçlarının en verimli şekilde kullanılması sağlanacaktır. Bu amaçlar dahilinde önce Atama Problemi hakkında bilgi verilip daha sonra Atama Problemlerinin çözüm yöntemlerine değinilecek daha sonra bu çözüm yöntemleri ile oluşturulan çözüm algoritmalarının sonuçları kıyaslanarak en iyi çözümü veren optimizasyon algoritması belirtilecektir. Bu sayede atama problemleri uygulanabilecek problemlerde belirlenen kriterler (görevin başarımı, zaman, maliyet, vb.) dahilinde en iyi sonuca ulaşılmasında kullanılabilecek algoritmalar hakkında sonuç çıkarımı yapılacaktır. Elde edilen sonuç çıkarımları ile oluşturulan atama algoritmaları Java yazılım ortamında oluşturulan nihai ürüne entegre edilecektir. Bu sayede elde edilen 2

14 ürün ile hava araçları-görev eşleştirmesi yapılacak olan atama problemlerinde en iyi çözüm veya en kısa zamanda en iyi sonuca yakın bir sonuç elde edilebilecektir.. Bu amaç ile öncelikle Matlab 2011a platformunda algoritmalar derlenmiş ve benzetim sonuçları verilmiştir. Daha sonra ise algoritmalar Java ortamında derlenerek nihai bir ürün içine entegre edilip verimli bir şekilde kullanılabileceği gösterilmiştir. 3

15 2 KAYNAK ÖZETLERİ 2.1 Atama Problemi Atama probleminde Maliyet Matrisi oluşturulurken hava araçlarının görevleri yapma yeteneklerine göre genelde her bir satır görevleri, sütunlar ise kişi veya hava araçlarını belirtecek şekilde yerleştirme yapılır. Bu matris oluşturulurken her bir i. görevin j. hava aracı tarafından yapılabilme kabiliyetine bakılarak maliyet hesaplanır ve matristeki (i, j) koordinatına gerekli değer yazılarak matris oluşturulur. Genel olarak atama problemlerinde istenilmekte olan; maliyeti minimize etmek olduğundan maliyet matrisi oluşturulurken değerler buna göre hesaplanarak yerleştirilir. Bir başka deyişle, maliyet matrisinin (i, j) koordinatına, i. görevin j. hava aracı tarafından yapılmasının maliyeti yazılır (Akbulut ve Yılmaz 2009). Bazı görevlerin bazı hava araçları tarafından yapılamıyor olması durumunda ise atama probleminde seçilmemesini sağlamak amacı ile i. hava aracının j. görevi yapma maliyetine sonsuz değeri veya çok büyük bir değer atanarak atama yöntemi tarafından seçilmemesi sağlanmaktadır. Örnek verecek olursak i. görevin j. hava aracı tarafından yapılmasına karşılık oluşan maliyet değeri c ij dir. Buna göre her bir j. hava aracının i. görevi yapma maliyetleri olan c ij değerleri ile oluşturulan Maliyet Matrisi çizelge 2.1 deki gibi olacaktır. Çizelge 2.1 Genel Maliyet Matrisi 4

16 Aynı durumu matematiksel olarak göstermek gerekirse (2.1), (2.2), (2.3) ve (2.4) deki eşitlikler gibi olmaktadır. m m min( c ) c x ; i 1,2,..., m; j 1,2,..., n ij ij ij i 1 j 1 (2.1) x ij 1; j.ucaginin i. gorevi yapmasi 0; j.ucaginin i. gorevi yapamamasi (2.2) Söz konusu kısıtın, bir özel durumu şu şekilde de olabilir (Şener 2007): m i 1 n j 1 x 1; i 1, 2,..., m., j.ucagin sadece bir gorevi yapmasi ij x 1; j 1, 2,..., m., i.gorevin sadece bir ucak tarafindan yapilmasi ij (2.3) (2.4) Atama problemleri minimum maliyet ile maksimum kazanç sağlamak amacı ile kullanılmaktadır. Bu bazen bir sanayi kuruluşunda üretim hattındaki makineler ile maksimum verimle üretim işlemi olurken, bazen de bir filodaki hava araçlarının maksimum verim ile verilen görevleri gerçekleştirmesi işlemi olabilmektedir. Yukarıda belirtilen üretim hattı kavramını biraz açmak gerekirse; endüstri devriminin yüz elli yıl önce gerçekleşmesiyle sermaye sahipleri için fabrikaların düzenlenmesi ekonomik bir anlam kazanmıştır. İlk gelişmeler, mekanik alanda daha iyi ürünlerin geliştirilmesi ile olmuştur. Yüzyılın sonlarına doğru işgücünün uzmanlaşması o denli artmıştır ki, malzemelerin işlemler sırasında taşınması büyük bir önem kazanmaya başlamıştır. Bu arada mal sahipleri, işyeri düzenleme sorunlarını incelemek için uzmanlardan yararlanmaya başlamışlardır. İşte bu çalışmalarla birlikte teknikler gelişmeye başlamıştır. Atama problemi de bu tekniklerden biridir (Çakır 2006). Tesis yerleşim düzeni tasarımından kastedilen, bir üretim tesisinde; tesisteki bölüm, makine ve çalışanların en verimli şekilde tesiste konumlandırılmış olmasıdır. Bu şekilde tesis maliyet ve zaman gibi faktörler bakımından verimli bir üretime sahip 5

17 olabilecektir. Atama Probleminin tesis yerleşiminde yaptığı ise tesisteki makine ve çalışanların en verimli şekilde konuşlandırılarak düzenlenmesidir (Yiğit ve Türkbey 2004, Duman 2007). Tesis yerleşimi; malzeme hareketi, depolama, dolaylı işçilikler veya tüm diğer destek ve hizmetler gibi alanları içermektedir. Tesis yerleşimi kavramı bazen var olan yerleşim, bazen önerilen yeni yerleşim planı ve sıklıkla da çalışma alanı veya tesis yerleşimi yapma işini belirtmek için kullanılır (Yiğit ve Türkbey 2004). Daha önceden belirtildiği gibi hava araçları için de atama problemi kullanılabilir. Bu problemde hava araçlarının özellikleri, kullanılabilirlikleri, operasyonel maliyetleri temel alınarak farklı kapasitedeki ve farklı özelliklere sahip hava araçlarının görevlere atanması planlanır. Hava aracı atama modelinde amaç, kişi ve görev atama problemlerindekine benzer bir şekilde uçuş rotasındaki işletme maliyetleri ile sivil hava araçları için bir uçuşta, atanan hava aracının koltuk kapasitesinin talebi karşılayamadığı durumdaki gelir kayıplarının oluşturduğu maliyetlerin toplamının en küçük değere çekilmesi istenirken; bu olay, askeri hava araçlarında ise planlanan görevleri gerçekleştirme maliyetini en küçük değere çekmektir (Akyıldız ve Gürsoy 2007). Hava gücü, kısıtlı kaynaklardan oluşan, mali açıdan değeri oldukça yüksek, harekata sağladığı katkı açısından ise vazgeçilmez bir kuvvet unsurudur. Hava gücüne ait her bir silah sisteminin harekat esnasında tüm operasyonun kaderini değiştirebilecek kabiliyete sahip olmasından dolayı, bu gücün kullanımının planlamasının da en etkin şekilde gerçekleştirilmesi gerekmektedir (Arslan ve Yücel 2012). Bu yüzden Hava araçlarının görevlere atanması işlevinde de atama problemi kullanılmaktadır. Atama Problemleri nin çözümünde kullanılan yöntemler, üç ana başlık altında incelenebilir: Deterministik Yöntemler, Olasılık Temelli Yöntemler ve Sezgisel Yöntemler. 6

18 Literatürdeki bazı yöntemler, görev ve unsur (işçi) sayısının birbirine eşit olduğu en temel atama probleminin çözümüne yönelik olarak geliştirilmiştir. Ancak uygulamada, eldeki görev ve unsur sayısının her zaman birbirlerine eşit olması pek mümkün değildir. Bu durumda atama problemi, Genel Atama Problemi olarak adlandırılır. Genel Atama Problemi nin, klasik atama problemleri için geliştirilmiş olan klasik yöntemlerle çözümünde şu prosedür takip edilir: Problem çözümüne başlanmadan önce, maliyet matrisindeki görev sayısı m ve unsur sayısı n olmak üzere eğer m n ise m=n olacak şekilde sanal 0 değerleri atanır ve yeni oluşan maliyet matrisine göre işlemler yapılır. Burada sanal 0 değerlerini koymaktaki amaç yapılması istenen görev sayısı ile unsur sayısını örtüştürmektir. Bir başka deyişle amaç, unsur sayısı ile görev sayısını eşitleyerek her bir görevin bir adet unsur ile eşleştirilmesi istenmektedir. Daha sonra, söz konusu sanal 0 değerlerinin olduğu sanal unsurlara yapılan atamalar, aslında atama yapılamamış görev olarak değerlendirilmektedir. Daha genel çözüm üretme yeteneğine sahip olan sezgisel yöntemlerde ise, söz konusu algoritmaların öncelikli olarak her görevi bir hava aracı yapacak şekilde uyarlanması gerekmektedir. Daha sonra ise her hava aracının maksimum iki görev yapabileceği şekilde uyarlama yapılacaktır. 7

19 3 MATERYAL VE YÖNTEM 3.1 Deterministik Yöntemler Bu çeşit yöntemler tahmine veya olasılığa dayalı olmayan, belirsizlik içermeyen bir matematik ifade kullanılarak kesin sonuca ulaşan hesaplama yöntemleridir. Deterministik yöntemlerde giriş olarak verilen değerlere karşılık elde edilecek sonuçlar aynı işlem sonsuz defa tekrarlansa dahi aynıdır Kaba Kuvvet Algoritması Atama probleminin çözümü birçok değişik yolla elde edilebilir. Çeşitli alternatiflerden oluşan kombinasyonel çözümler Kaba Kuvvet Algoritmasının temelini oluşturmaktadır. Bu alternatif çözümler arasından her bir işlem sonucunda oluşmakta olan toplam maliyeti minimum yapan değer, problemin toplam maliyet fonksiyonunu oluşturur. Bir başka deyişle; kısıtlara uyan tüm alternatifler belirlenerek aralarından en küçük maliyete sahip olan durum seçilirse; problemin çözümü elde edilmiş olur. Dikkat edilirse, atama probleminde probleme ait olan değerlerin yazılı olduğu maliyet matrisinin boyutu m m olmak üzere; atama probleminde m! uygun geçerli çözüm bulunmaktadır. Problemin büyüklüğü (m değeri) arttıkça, uygun geçerli çözüm sayısı çok büyük bir hızla artacaktır. Örnek verecek olursak m = 5 için alternatif çözüm sayısı 120 iken; m = 10 için alternatif çözüm sayısı olur; m = 100 olduğunda ise alternatif çözüm sayısı 100! = olacaktır. Bu çok sayıdaki uygun alternatiflerin her birinin teker teker belirlenmesi bilgisayarda dahi oldukça uzun bir zaman gerektirecektir. Bu yüzden tüm alternatif çözümleri göz önünde bulundurarak işlem yapan Kaba Kuvvet Algoritması matris boyutu arttıkça kullanılamaz hale gelmektedir. 8

20 j. hava aracının i. görevi yapması durumunda olası durumlara karşılık gelen örnek bir maliyet matrisi aşağıdaki çizelge 3.1 de gösterilmektedir. Çizelge 3.1 Kişi-Görev atamalı örnek bir maliyet matrisi H.Aracı_1 H.Aracı_2 H.Aracı_3 H.Aracı_4 Görev_ Görev_ Görev_ Görev_ Bu maliyet matrisindeki değerler arasında atama problemini minimum yapan olası çözümlerden; en küçük olan değer problemin çözümü olacaktır. Örnek problemdeki m değeri 4 olduğundan, probleme ait olan kaba kuvvet algoritmasındaki alternatif çözüm sayısı 24 adettir. Buna göre oluşacak olası eşleştirmeleri göstermek gerekirse çizelge 3.2 deki gibi olacaktır. Buradaki her bir satırdaki değerler olası eşleşmeleri belirtmektedir. Eşleşmelerden kastedilen her görevi yapacak olan hava aracını göstermektedir. Örnek vermek gerekirse 1342 eşleştirmesinde 1. görevi 1. hava aracı, 2. görevi 3. hava aracı, 3. görevi 4. hava aracı ve 4. görevi 2. hava aracı yapacak şekilde olası çözüm belirtilmektedir. Atama probleminde kullanılmakta olan maliyet matrisinde bu eşleşmelere karşılık gelen değerler toplanarak sistemin olası çözüm değeri hesaplanır. 4 hava aracı ve 4 görev ile oluşturulmuş olan atama probleminde 24 adet olası çözüm değeri kendi aralarında kıyaslanarak en küçük maliyete sahip olan çözüm seçilir ve bu atama problemimizin kaba kuvvet algoritmasına göre minimum değerli çözümüdür. Bu olası görevleri çizelge 3.1 de verilmekte olan atama problemi için uygulayacak olursak toplamda 24 adet olan çözüm kümesi çizelge daki gibi olacaktır. 9

21 Çizelge adet görev ve 4 adet kişiye ait alternatif çözümler Görev_1 Görev_2 Görev_3 Görev_4 1.H.Aracı 2.H.Aracı 3.H.Aracı 4.H.Aracı 1.H.Aracı 2.H.Aracı 4.H.Aracı 3.H.Aracı 1.H.Aracı 3.H.Aracı 2.H.Aracı 4.H.Aracı 1.H.Aracı 3.H.Aracı 4.H.Aracı 2.H.Aracı 1.H.Aracı 4.H.Aracı 2.H.Aracı 3.H.Aracı 1.H.Aracı 4.H.Aracı 3.H.Aracı 2.H.Aracı 2.H.Aracı 1.H.Aracı 3.H.Aracı 4.H.Aracı 2.H.Aracı 1.H.Aracı 4.H.Aracı 3.H.Aracı 2.H.Aracı 3.H.Aracı 1.H.Aracı 4.H.Aracı 2.H.Aracı 3.H.Aracı 4.H.Aracı 1.H.Aracı 2.H.Aracı 4.H.Aracı 1.H.Aracı 3.H.Aracı 2.H.Aracı 4.H.Aracı 3.H.Aracı 1.H.Aracı 3.H.Aracı 1.H.Aracı 2.H.Aracı 4.H.Aracı 3.H.Aracı 1.H.Aracı 4.H.Aracı 2.H.Aracı 3.H.Aracı 2.H.Aracı 1.H.Aracı 4.H.Aracı 3.H.Aracı 2.H.Aracı 4.H.Aracı 1.H.Aracı 3.H.Aracı 4.H.Aracı 1.H.Aracı 2.H.Aracı 3.H.Aracı 4.H.Aracı 2.H.Aracı 1.H.Aracı 4.H.Aracı 1.H.Aracı 2.H.Aracı 3.H.Aracı 4.H.Aracı 1.H.Aracı 3.H.Aracı 2.H.Aracı 4.H.Aracı 2.H.Aracı 1.H.Aracı 3.H.Aracı 4.H.Aracı 2.H.Aracı 3.H.Aracı 1.H.Aracı 4.H.Aracı 3.H.Aracı 1.H.Aracı 2.H.Aracı 4.H.Aracı 3.H.Aracı 2.H.Aracı 1.H.Aracı Çizelge 3.3 Görev_1 in H.Aracı_1 e atanmış olması durumuna karşılık olası çözümler 10

22 Çizelge 3.4 Görev_1 in H.Aracı_2 ye atanmış olması durumuna karşılık olası çözümler Çizelge 3.5 Görev_1 in H.Aracı_3 e atanmış olması durumuna karşılık olası çözümler 11

23 Çizelge 3.6 Görev_1 in H.Aracı _4 e atanmış olması durumuna karşılık olası çözümler Çizelge 3.3, çizelge 3.4, çizelge 3.5 ve çizelge 3.6 da probleme ait olan bütün alternatif çözümler gösterilmiş ve toplam atama maliyeti hesaplanmıştır. Dikkat edilecek olursa atama problemimizin çözümü 1432 eşleşmesi ile optimum sonuca ulaşmaktadır. Bu eşleşmeye karşılık gelecek minimum toplam maliyet ise 15 (= ) olacaktır. Bu problem için kaba kuvvet algoritması ile elde edilecek olan en optimum maliyet değeri 15 olmaktadır ve bu maliyetin oluşması için 1. görevi 1. hava aracı, 2.görevi 4. hava aracı, 3. görevi 3. hava aracı ve 4. görevi 2. hava aracı yapacak şekilde problemimiz için atama yapmamız gerekmektedir. Kaba Kuvvet Algoritmasına ait olan akış diyagramı Şekil 3.1 de verildiği gibidir. 12

24 Basla Satir sayisi belirle ve m ye ata. Sutun sayisi belirle ve n ye ata. i=1 satir_min(i)= Evet i<=m Hayir j=1 Evet j<=n Hayir Evet satir_min(i)<deger(i) i=i+1 Hayir satir_min(i)=deger(i) j=j+1 Bitis Şekil 3.1 Kaba Kuvvet Algoritması akış diyagramı Adım Adım Algoritması Bu algoritma ile atama işleminde her bir görevi en minimum maliyet ile yapmakta olan hava aracına eşleştirme yapılarak en optimum sonuca ulaşılmaya çalışılmaktadır. Bu algoritma ile yapılmakta olan atama işleminde eşleştirme çok hızlı olmasına rağmen, yapılması istenen bütün görevler adil olmayacak bir şekilde aynı kişiye de atanabilmektedir. Bu da, atama probleminde yapılmak istenen görevlerin hava araçlarına adil ve dengeli bir şekilde paylaştırılması kriterinin göz ardı edilmesi anlamına gelmektedir. Bu algoritmayı diğer algoritmalardan ayıran temel özellik şu şekilde özetlenebilir: diğer algoritmalar, herhangi bir görev için eşleştirme yaparken diğer görevler için yapılan atamaları da göz önünde bulundurmaktadır; ancak Adım 13

25 Adım Algoritması, böyle bir hususu göz önünde bulundurmadan atama işlemini gerçekleştirmektedir. çizelge 3.7 den de görüleceği üzere Görev_1 in Hava Aracı_1 tarafından gerçekleştirilmesi, Görev_2 nin Hava Aracı_1 tarafından gerçekleştirilmesi, Görev_3 ün Hava Aracı_3 tarafından gerçekleştirilmesi, Görev_4 ün Hava Aracı_2 tarafından gerçekleştirilmesi en minimum sonucu vermektedir. Buna göre problemin Adım Adım Algoritması ile ulaşılan toplam atama maliyet değeri 12 (= ) olacaktır. Bu örnekten de görülebileceği üzere Hava Aracı_1 iki adet görevi gerçekleştirirken Hava Aracı_4 e hiçbir atama yapılmamıştır. Bu da adil bir atama işleminin olmasını engellemektedir ve bu yüzden istenmeyen bir durumdur. Çizelge 3.7 Adım Adım Algoritması örneği Macar Algoritması Atama problemlerinin çözümünde en çok bilinen yöntem, Macar algoritmasıdır. Bu algoritmada özetle, maliyet matrisi her seferinde sistematik bir şekilde yeni bir indirgenmiş matrise dönüştürülerek çözüme gidilmeye çalışılmaktadır. Macar algoritması gereği indirgenmiş maliyet matrisindeki sıfır elemanlar en az sayıda çizgi ile kapatılmak istenir ve buna göre maliyet matrisi üzerinde işlem yapılır. Ancak problemin büyüklüğü arttıkça ve indirgenmiş maliyet matrisinde sıfır olan eleman sayısı çoğaldıkça, matristeki sıfır elemanlarını kapatmak üzere gereken en az sayıda çizgi sayısı ve bu çizgilerin nasıl çizilmesi gerektiği sorunu ortaya çıkmaktadır (Öner ve Ülengin 2003). Macar algoritmasının işleyişi, aşağıdaki 5 adımda özetlenebilir: 14

26 Adım-1: Maliyet matrisinin her satırı için, satırdaki en küçük değere sahip eleman satırdaki tüm elamanlardan çıkartılır. Adım-2: Adım-1 deki işlemden sonra maliyet matrisinin her sütunu için, sütundaki en küçük değere sahip eleman sütundaki tüm elemanlardan çıkartılır. Adım-3: Adım-1 ve Adım-2 deki işlemlerden sonra matrisin yeni durumuna indirgenmiş matris denilmektedir. İndirgenmiş matris üzerinde oluşan sıfır elemanlarını kapatmak üzere; gerekli satır ve sütunların üzerine çizgi çekilir. Bu işlemde en az sayıda çizgi kullanılmalıdır. Eğer kullanılan en az çizgi sayısı maliyet matrisinin boyutu olan "m" sayısına eşitse o takdirde en iyi çözüm bulunmuş demektir ve işlem durdurulur, aksi halde Adım-4 e gidilir. Adım-4: 0 elemanlarını kapatmak için satır ve sütunlar üzerine çizilmiş çizgilerin kapatmadığı elemanlar arasından en küçük değere sahip olanı bulunur. Bu değer, üzerinden çizgi geçmeyen tüm elemanlardan çıkarılır ve üzerinden iki çizgi geçen elemanlara eklenir. Yeni bir indirgenmiş matris elde edilmiş olur ve Adım-3 e dönülür. Adım-5: Her satırda en az bir adet 0 değeri olacak şekilde işlem tekrarlanır. Eğer yeteri kadar işlem yapılarak her satırda en az bir adet 0 olacak şekilde isleme devam edilir ise; her satırda 0 değerine ait olan koordinatta ilk başlangıçta verilen maliyet değerleri toplanır ve problemin toplam maliyet bulunmuş olur. Daha önceden kullanılmış olan problemi hatırlatmak gerekirse, ilgili problem çizelge 3.8 de verildiği gibiydi. 15

27 Çizelge 3.8 Macar Algoritması örneği Problemin maliyet fonksiyonundaki her bir satırdaki minimum değerler bulunduğu satırdaki tüm maliyet değerlerinden çıkarılınca çizelge 3.9 daki gibi bir sonuca ulaşılır. Çizelge 3.9 Macar Algoritması Adım-1 Elde edilen indirgenmiş matristeki 0 değerleri minimum sayıda çizgi ile kapatılırsa çizelge 3.10 oluşacaktır. Dikkat edilecek olursa, hala çizgiler ile kapalı olmayan değerler bulunmaktadır. Çizgi ile kapalı olmayan değerlerdeki en küçük değer olan 1 değeri Adım-4 te belirtildiği gibi çizgi ile kapatılmamış olan değerlerden çıkarılır ve iki çizginin kesiştiği değere de eklenir. Çizelge 3.10 Macar Algoritması Adım-3 16

28 Adım-4 teki işlemler sonuçta tüm satırlardaki değerler çizgi ile kapatılıncaya kadar devam eder. Çizelge 3.11 de bu duruma bir örnek verilmiştir. Çizelge 3.11 Macar Algoritması Adım-4 Çizelge 3.11 deki durum için Adım-4 işlemi tekrar uygulanırsa elde edilecek sonuç çizelge 3.12 deki gibi olacaktır. Burada koyu renkte olan değerlere karşılık gelen değer bizim problemimizin çözümü olacaktır. Yani problemin çözümü sonucu bulunan toplam maliyet, işaretli 0 değerlerine karşılık gelen değerlerin toplamı olan 15 (= ) olacaktır. Çizelge 3.12 Macar Algoritması Adım-5 Ayrıca Macar algoritmasına ait olan akış diyagramı da Şekil 3.2 deki gibidir. 17

29 Basla Satir sayisi belirle ve m ye ata. Sutun sayisi belirle ve n ye ata. Satir sayisi == Sutun sayisi Evet Hayir Satir sayisi>sutun sayisi Hayir Evet Satir sayisi=sutun sayisi olacak sekilde 0 degeri ekle Evet Satir sayisi<sutun sayisi Satir sayisi=sutun sayisi olacak sekilde 0 degeri ekle 0 degerleri m sayisindan az sayida cizgi ile kapanabiliyor mu? Evet Hayir Cizgi ile kapanmamis olan hucrelerdeki minimum degeri belirle Her bir satir ve sutunda bir adet 0 degeri olacak sekilde atama yapilir Atama yapilan 0 degerlerinin bulundugu hucrelerdeki baslangic degerleri toplanir ve problemin minimum degerli atamasi bulunmus olur Bu minimum degeri cizgi ile kapatilmayan degerlerden cikar Cizgilerin ortak kesistigi nokta var mi? Evet Minimum degeri cizgilerin kesistigi hucredeki degere ekle Hayir Bitis Şekil 3.2 Macar Algoritması akış diyagramı 18

30 3.2 Olasılık Temelli Yöntemler İstatistiki hesaplamalar ile çözüm bulunmasına yardımcı olan algoritmaların kullanıldığı yöntemler "Olasılık Temelli Yöntemler" başlığı altında incelenecektir. Bu yöntemler olasılık temeline dayandığı için verilen sabit bir problemin farklı zamanlardaki çözümünde bulunan sonuçlar farklılık gösterebilir Açık Artırma Algoritması Adını açık artırma olayından almakta olan Açık Artırma Algoritması nda amaç ürünlerin maksimum gelir ile satılmasını sağlayacak olan atama işleminin yapılmasıdır. Açık Artırma Algoritmasında atama problemi paralel bir işlevler bütünü ile çözülmeye çalışılmaktadır. Bu algoritma, rekabetçi bir ihale sürecinde alıcıların ürünleri almak için tekliflerin yükseltilmesini andırmaktadır. Teklifler verilince yüksek verilen teklif ile ürün alınmaktadır. Bu işlemin tamamlanması için tüm alıcıların alımlardan memnun ayrılması beklenmektedir (Bertsekas ve Castanon 1989). Açık artırmadaki her bir α i değeri alıcıları belirtirken, β j ise alınmak istenen ürünleri temsil etmektedir. p j değeri β j ürününün fiyatını belirtirken w ij değeri ise α i kişisinin β j ürününü almak için harcaması gereken maliyettir (Bayati et al. 2006). Buna göre problemin atama işlemi sonrasında net bir kar (kazanç) elde etmesi Eşitlik (3.1) teki gibi olmaktadır. n i 1 ( w p ) i ( i) ( i) (3.1) Burada daha önceden belirtildiği gibi p 1,, p n, değerlerinden uygun π* değerlerinin bulunarak, maksimum kazanca ulaşılmak istenmektedir. Açık Artırma Algoritması nın işleyişi aşağıdaki 4 adımda özetlenebilir: Adım-1: Atanmamış olan alıcılar I={α 1,, α n } kümesinde toplanır ve her bir j değeri için p j =0 olarak ilk fiyatlar atanarak algoritma çalışmaya başlar. 19

31 Adım-2: Teklif verme: I kümesindeki her bir α i değeri için teklif verilir. i. En büyük kazancı sağlayacak olan β j bulunur. j arg max w p, (3.2) i j ij j v max w p, en yuksek teklif (3.3) i ij j j u max w p i j j ij j i, en yuksek 2.teklif (3.4) ii. α i değeri için teklif olan bir sabittir. b i hesaplanır. Buradaki değeri pozitif j b w u (3.5) i j iji i Adım-3: Atama işlemi : Her bir β j değeri için, i. P(j) ile gösterilmekte olan, β j ürünü için alıcılar tarafından verilmiş olan teklifler kümesidir. Eğer bu küme boş kümeden farklı ise; yani P(j) ise, buradaki p j değeri en yüksek teklife kadar yükseltilir. p j max (3.6) b P( j) i i j ii. Maksimum değere sahip olan teklif olan α ij I kümesinden silinerek (, ) atama işlemi gerçekleştirilir. Eğer k i j olması şartı sağlanıyor ij j ve (, ) atama kümesinin elemanı ise; k alıcılar kümesi olan I k j kümesine tekrar konur. Adım-4: Atama işlemi tamamlanıp tüm alıcılar memnun kalıp atama işlemi tamamlanana kadar Adım-2 ve Adım-3 tekrarlanır. 20

32 Dikkat edilecek olursa, Açık Artırma Algoritmasında maksimum değere ulaşmak istemesine karşın atama problemlerinde genelde maliyeti minimize etmek istenmektedir. Bu işlemi Açık Artırma Algoritması ile gerçekleştirmek için, belli bir değerden (olabilecek en yüksek değerden daha büyük bir değer) tüm A maliyet kümesindeki değerlerden çıkartılarak yeni bir A* maliyet matrisi bulunur. Yeni oluşan A* maliyet matrisindeki en küçük değer, A matrisinde en büyük olan değere karşılık gelir. Aynı şekilde, A* maliyet matrisindeki en büyük değer ise A matrisindeki en küçük değere karşılık gelmektedir. Buna göre çizelge 3.1 deki hava aracı-görev atamalı örnek maliyet matrisi A olacaktır. Buradaki A matris değerlerinin 50 (kullanıcının seçtiği bir değer) değerinden çıkarıldığı düşünülürse; A* matrisi çizelge 3.13 deki gibi olacaktır. Buna göre problemin çözüm adımları ilerletilebilir. Çizelge 3.13 Kişi-Görev Açık Artırma Algoritması A* maliyet matrisi Algoritmanın 4 adımı uygulanınca Açık Artırma Algoritmasına ait olan atama işlemi 1432 şeklinde olacaktır. Bu atama işlemine göre; başta kullanılan çizelge 3.13 deki Kişi-Görev atamalı örnek maliyet matrisindeki değerler göz önüne alınırsa atama işlemi sonucunda toplam maliyet 15 (= ) olacaktır Açgözlü Algoritma Açgözlü Algoritma, adından da anlaşılacağı üzere atama işlemini yaparken bir sonraki adımı düşünmeden o anki en iyiyi atamayı hedefleyen bir algoritmadır (Dasgupta et al. 2006). Açgözlü Algoritmasında öncelikli olarak rastgele bir görev seçilir ve bu i. görevi 21

33 görevi yapacak olan j. hava aracı belirlenecektir. Bu belirleme işlemi için i numaralı görevi yapacak olan hava araçlarının bu görevi yapması sonucundaki maliyet değerlerinin ( c ij ) toplamı elde edilir. Buna göre çizelge 2.1 hatırlanırsa i. görevin j. hava aracı tarafından yapılması sonucunda oluşacak maliyet c ij olmak üzere değerleri hesaplanarak görevlerin hava araçları tarafından gerçeklenebilme olasılık matrisi olan çizelge 3.14 teki matris oluşturulur. c ij c i. Çizelge 3.14 i. görevin j. hava aracı tarafından gerçeklenebilme olasılık matrisi Görev/ H.Aracı j.. m 1 c11 2 c21 c 1. c 12 c 1... c1 j c 1... c1 c.. c j c2. c2. c i c21 c i.... c2 j c i... c' m cm 1 c m.... c mj c 2... c m m mm c c c 1. i. m. cij Çizelge 3.14 te elde edilen değerler i. satırı için j değerinden küçük olan c ci 1 ci 2 ci3 değerleri toplanarak elde edilen d ij (j=3 için dij c c c i. i. i. görevin j. hava aracı tarafından yapılma olasılığını göstermektedir. Buradaki m değeri için d im =1 olacaktır. Bu şekilde d ij değerleri hesaplanıp çizelge 3.15 teki i. görevin j. hava aracı tarafından gerçeklenebilme olasılık matrisi2 elde edilir. 22 ij ) değeri i.

34 Çizelge 3.15 i. görevin j. hava aracı tarafından gerçeklenebilme olasılık matrisi 2 Görev/H.Aracı j.. m 1 d 11 d.. 12 d j 2 d i d... '1 d.. 1 ij m d... m1 d.. 1 mj İlk olarak hangi görevin gerçekleştirileceğinin belirlenmesi amacı ile görevler arasından birisi rastgele seçilir; bu görevin hangi hava aracı tarafından yapılacağına karar vermek amacı ile 0-1 arasında bir p sayısı üretilir. p sayısının hangi d 1j aralığında olduğuna bakılır. Bulunduğu olasılık aralığı hangi j değerine karşılık geliyorsa bu hava aracına atama yapılır ve bir sonraki atama işlemine geçilir. Öncelikle rastgele bir görev seçilir ve bu görevin daha önce ataması yapılan görevlerden biri olup olmadığı kontrol edilir; eğer ataması yapılmış bir görev ise yeniden rastgele bir görev seçilir. Bu işlem, daha önceden ataması yapılmamış bir görev bulununcaya kadar devam eder. Bulunan görev için 0-1 aralığında rastgele bir değer atanır ve bu değerin hangi d 2j aralığında olduğuna bakılır. Söz konusu j değeri, 2 numaralı atamayı göstermektedir. Atama işlemleri, görevlerin her birine bir adet hava aracı atanana kadar aynı şekilde devam eder. Ardından, toplam maliyet değeri hesaplanır. Kullanıcı tarafından belirlenen nüfus (popülasyon) büyüklüğü kadar farklı atama kombinasyonu, yukarıda anlatılan prensip uyarınca oluşturulur. Söz konusu atama kombinasyonları içerisinden, minimum maliyete sahip olan seçilir Rastgele Atama Algoritması Belirli bir ön planlama yapılmadan bütün atamaların rastgelelik kriteri dahilinde eşleştirildiği atama algoritmasına Rastgele Atama Algoritması adı verilebilir. Bu 23

35 algoritmada öncelikli olarak birinci görevi yapması için hava araçları arasından bir hava aracı belirli bir ön koşul aranmaksızın seçilir ve bu göreve ataması yapılır. Daha sonra diğer görevler içinde aynı şekilde atamalar yapılarak bütün görevlere bir adet hava aracı atanacak şekilde atamalar yapılır. Buna göre elde edilen sonuç atamasına karşılık gelen maliyet değerleri toplanarak atamaya ait olan maliyet değeri hesaplanır ve bu şekilde kullanıcı tarafından başlangıçta belirlenen birey sayısı kadar atama yapılarak aralarından en iyi atamanın seçilmesi ile optimal sonuç yakalanmaya çalışılır. Bu algoritmada bütün atamalar rastgelelik çerçevesinde yapılacağı için algoritmanın optimal sonucu yakalayamama olasılığı oldukça yüksektir. Bu yüzden, aslında uygulamada tercih edilen bir algoritma değildir. Proje kapsamına dahil edilmesinin nedeni, sistematik çözümler üreten diğer algoritmaların, ne kadar maliyet indirimi sağladığına dair bir değerlendirme yapmak üzere referans oluşturmasıdır. 3.3 Sezgisel Yöntemler Sezgisel yöntemler, bir problem türü üzerinde yoğun, dikkatli bir araştırma ve sağduyu ile o probleme özel, çoğunlukla en iyiye yakın veya pratik değeri olan çözüm bulabildiği gösterilen yaklaşımları ifade etmek için kullanılır. Sezgisel Yöntemlerde, deterministik yöntemlerin yeterli olmadığı durumlarda, atama problemlerinin özel yöntemlerle nasıl çözülebileceği üzerinde durulur. Bu algoritmalar şu şekildedir: Genetik Algoritma Genetik algoritmalar, doğal seçim ilkelerine dayanan bir arama ve optimizasyon yöntemidir. Bir başka deyişle, çeşitli optimizasyon problemlerine uygulanabilen Genetik Algoritmalar doğal genetik ve doğal arama özelliğine sahip stokastik bir arama yöntemidir. Genetik Algoritma, optimizasyon ve arama problemleri için etkili ve yaygın olarak kullanılabilen evrimsel bir hesaplama yöntemidir (Bayrak 2010). Genetik Algoritma doğadaki biyolojik organizmalardan esinlenilerek ortaya çıkmış bir yöntemdir. Evrim kavramı, doğal popülasyonlar, doğal arama ve en iyi olanın ayakta kalması prensiplerini içermektedir. Çevrelerindeki durumlara daha çok uyum gösteren bireyler, hayatta kalmak için daha çok şansa sahip olurken, az uyum gösteren bireyler 24

36 elenirler. Bu da bireylerle en çok uyum gösteren genlerinin, sonraki nesillere daha çok aktarılacağı anlamına gelmektedir. Yüksek uyumlu ebeveynlerden iyi özellikler bileşerek, daha uyumlu çocuklar üreyebilmektedir. Bu yolla türler çevrelerine çok daha uyumlu hale gelirler ve dolayısıyla gelişirler (Akbulut ve Yılmaz 2009). Genetik algoritma doğada geçerli olan en iyinin yaşaması kuralına dayanarak sürekli iyileşen çözümler üretmektedir. Bundan dolayı iyi den kastedilenin ne olduğunu belirleyen bir uygunluk fonksiyonu ve yeni çözümler üretmek için yeniden kopyalama ve mutasyon gibi operatörleri kullanmaktadır. Genetik algoritmaların bir diğer önemli özelliği de bir grup çözümle uğraşmasıdır. Bu sayede çok sayıda çözümün içinden iyileri seçilip kötüleri elenebilmektedir, bu da problemin çözümünde en iyiye ulaşmada yardımcı olacak bir durumdur. Genetik algoritma genellikle geleneksel yöntemlerle çözümü zor veya imkansız olan problemlerin çözümünde kullanılmaktadır. Genetik Algoritma, birden fazla (nüfus büyüklüğü kadar) çözüm üzerinde çalışmaktadır. Çözümler, problemin yapısına uygun bir şekilde kodlanmış kromozomlar tarafından temsil edilirler. Genetik algoritma, bireylerin bir başlangıç popülasyonunu alarak ve her üretimde genetik operatörleri kullanarak bu durumları gözden geçirmektedir. Optimizasyon açısından, popülasyondaki her birey, verilen problemde olası çözümü gösteren bir dizi veya kromozoma kodlanarak işlem yapılır. Bir bireyin uygunluğu, verilen amaç fonksiyonuna göre değerlendirilmektedir. Uygunluk fonksiyonu, kromozomların ifade ettikleri çözümlerin ne derece iyi olduğunu ifade eder. Yüksek oranda uygunluk gösteren bireyler veya çözümler, çaprazlama prosedüründe diğer yüksek uyumlu bireylerle, genetik bilgilerindeki parçaları değiştirerek yeniden üretilme fırsatını bulurlar. Bu da ebeveynlerin her ikisinden de alınan bazı karakterleri paylaşan yeni çocuk çözümler üretir. Bu olaya çaprazlama adı verilmektedir (Konak et al. 2006). Rastgele ve diğer algoritmaların çıktılarından oluşan genetik bilgi, çaprazlama ile belli bir süre iyileştirildikten sonra kaçınılmaz olarak, yeni bilgi akışı olmadığı için, 25

37 yerel bir minimuma takılmak söz konusudur. Bu durumda genetik algoritma yönteminin mutasyon işlevi, belli bir miktar çıkış olanağı sunmaktadır. Literatürde, daha fazla çeşitlilik sağlanması için birden çok paralel popülasyonlu genetik algoritma türevi önerileri de bulunmaktadır (Tirveş 2007). Mutasyon, çoğu zaman dizilerdeki bazı genleri değiştirerek çaprazlamadan sonra uygulanır. Çocuk birey, bütün popülasyonu değiştirmekle elde edilebileceği gibi, az uyumlu özelliklerin değişmesiyle de oluşabilmektedir. Bu olaylar bütünü üretim döngüsü, istenen sayıda kuşak yaratılana veya başka bir durma kriteri sağlanana kadar tekrarlanır. Üretilen en iyi çözüm problemin çözümü olarak alınır. Genetik algoritmanın izlemiş olduğu algoritma düzeni Şekil 3.3 teki akış diyagramında görülmektedir. 26

38 Basla Kuşak 0 İlk popülasyonu oluştur ve Uygunluk değerini hesapla. Durdurma kriteri sağlanıyor mu? Hayır Evet Çoğalma işlemi Bitiş Çaprazlama işlemi Mutasyon işlemi Fitness değer hesabı Kuşak=kuşak+1 Şekil 3.3 Genetik Algoritma akış diyagramı Çizelge 3.1 deki hava aracı-görev atamalı örnek maliyet matrisine ait problem genetik algoritma ile de gerçeklenmeye çalışılabilir. Bu problem için öncelikle kromozomları, çaprazlama, mutasyon, ve toplumdaki toplam birey sayısının ne olduğundan bahsetmek gerekir. Burada kromozomlar oluşturulurken çizelge 3.2 deki alternatif çözümlerden ikisi seçilir. Örneğin Kromozom_A olarak 2341 ve Kromozom_B olarak 4132 alternatif çözümlerinin seçildiği düşünülsün (buradaki Kromozom_A ve Kromozom_B ebeveyn veya bir başka deyişle ataları temsil etmektedir). İlk olarak durdurma kriterinin sağlanıp sağlanmadığına bakılmaktadır. Buradaki durdurma kriteri; toplam maliyete ait 27

39 belli bir eşik seviyesi veya maksimum ulaşılması istenen topluluktaki birey sayısı olarak seçilebilmektedir. Problemimizde eşik seviyesinin 18 değeri olduğunu ve topluluktaki maksimum birey sayısının 10 olduğunu varsayalım. Buradaki eşik seviyesi olan 18 değerinin, yeteri kadar iyi bir çözüm olduğu varsayılmaktadır. Buna göre 2341 çözümü ile maliyet 33 olurken, 4132 çözümü ile maliyet 20 olmaktadır. Yani durdurma kriteri sağlanamamaktadır. Her bir kromozomun uygunluk değerinin hesaplanmasının ardından bir sonraki jenerasyona aktarılacak kromozomların seçilmesine yönelik olarak çaprazlama ve mutasyon işlemleri gerçekleştirilir. Bu işlemlerin amacı popülasyon üzerinde çeşitlilik yaratarak elit kromozomdan daha yüksek uygunluk değerlerine sahip yeni kromozomlar üretmeye çalışmaktır (Türker ve Sümer 2008). Buna göre algoritma öncelikli olarak çoğalma işlemini gerçekleştirecektir. Çoğalma işlemi temel olarak iki şekilde yapılabilmektedir. Tek noktalı çaprazlama: Tek bir kesme noktası seçilerek kesme noktasına kadar olan bölüm Kromozom_A dan alınırken, kesme noktasından sonraki bölüm ise Kromozom_B den alınıp çocuk bireyler (yeni bireyler) oluşturulur. Şekil 3.4 Tek noktalı çaprazlama örneği İki noktalı çaprazlama: Tek noktalı çaprazlamadaki mantıkla sadece 2 kesme noktası kullanılarak yapılır. İlk kesmeye kadar olan bölüm Kromozom_A dan alınırken ikinci kesmeye kadar olan bölüm Kromozom_B den alınır ve ikinci kesmeden sonraki bölüm ise Kromozom_A dan alınır. Şekil 3.5 İki noktalı çaprazlama örneği 28

40 Problemde çaprazlama işlemi gerçekleştirildikten sonra oluşan yeni bireylere sahip olan toplum (bireyler kümesi), mutasyon işlemini gerçekleştirecektir. Mutasyon işlemi daha önceden belirlenmiş bir mutasyon olasılığına göre bireylerin sahip olduğu genlerde değişiklik yapılacaktır. Bu oran %100 olursa tüm genler değiştirilirken, oranın %0 olması durumunda ise hiçbir gen değiştirilmeyecektir. Mutasyon yapılmasına karar verilen bireyde sıra değiştirme yöntemi ile mutasyon yapılabilir. Şekil 3.6 Sıralı mutasyon örneği Mutasyon işleminden sonra uygunluk değeri hesaplanır. Bundan sonra algoritmadaki elit olan kromozom seçilir ve bu kromozomun genleri bir sonraki kuşağa doğrudan aktarılır. Algoritma başa döner ve durdurma kriteri sağlanmaması durumunda adımlar tekrar eder. Buradaki topluluk büyüklüğünü belirlemek, tüm Genetik Algoritma kullanıcıları açısından oldukça önemli bir aşamadır. Topluluk büyüklüğü, başka bir deyişle kromozom ya da birey sayısı, Genetik Algoritmanın başarısını ya da optimum sonuca erişim süresini etkileyen önemli unsurlardan biridir. Topluluk büyüklüğünün gereğinden küçük alınması, 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, algoritmanın anlamlı sonuçlara geç ulaşmasına ve yavaş çalışmasına neden olacaktır (Goldberg 1989). Büyük toplulukta çözüm uzayı daha iyi örneklenebileceğinden arama daha etkin yapılırken, arama süresi artacaktır (Paksoy 2007) Karınca Koloni Optimizasyonu Algoritması Arılar ve karıncalar hayatta kalmak amacı ile çeşitli davranış biçimleri sergilemektedir. Günümüzde bilim adamları gerçek hayattaki hayvanların davranışlarını örnek alarak; değişik uygulamalarda kullanmışlardır. Karınca Kolonisi Optimizasyon Algoritmasında 29

41 bunlardan birisidir (Dorigo et al. 2006). İlk Karınca Kolonisi Optimizasyon Algoritması, 1991 yılında Dorigo ve çalışma arkadaşları tarafından karıncaların davranışlarının keşfi sonucunda oluşturulmuştur (Dorigo et al. 1996). Karıncalar, bulunduğu koloninin menfaatleri için beraber çalışan hayvanların en iyi örneklerindendir. Koloniler halinde yaşayan karıncalar hayatta kalmak için besin ihtiyaçlarını karşılama amacı ile ilk olarak öncü karıncaları tek başlarına gönderirler. Bu öncüler çevreyi araştırarak uygun yiyecek kaynağını bulmaya çalışırlar. Bu ilk araştırma sırasında her karınca değişik yönlere yayılarak çevredeki yiyecekleri bulmak için gezinirler. İlk olarak yollanan öncü karıncalar besin maddesi bulurlarsa, koloninin olduğu yere (başlangıç noktasına) geri dönerken arkalarında feromon adı verilen özel bir salgı maddesi bırakarak ilerler. Bu salgı maddesi sayesinde diğer karıncaların da bu besin kaynağını bulabilmesinde yardımcı olurlar. Karınca kolonisi optimizasyon algoritması pozitif geri beslemeli bir yöntemdir. Bu algoritmada karıncaların davranışını biraz açıklamak gerekirse, karıncalar yuva ile besin kaynağı arasında gidip gelmek için gidebileceği yolları belirlerler. Karıncalardan birisinin bu yolların birisinden geçtiğini düşünürsek, karınca yolun kısalığına göre (yol kısa ise daha çok olmak üzere) yola salgı maddesi bırakır. Daha sonra gelen karıncalar da aynı şekilde salgı maddesi bırakarak yolun seçilme olasılığını arttırırlar. Her bir karınca iki yolun birleştiği noktaya geldiğinde hangi yolu seçeceğini belirlemek için bir tercih yapar. Bu yol seçimini öncelikli olarak yoldaki salgı miktarı olmak üzere; salgı miktarı ve rastgeleliğe göre belirler. Burada rastgelelik olmasının nedeni ilk karınca besin maddesini bulduktan sonra geri dönüşte yaydığı salgı maddesini takip eden diğer karıncalarda aynı yoldan besin maddesine gidip besin maddesini alıp geri yuvalarına döneceklerdir. Burada salgı maddesi olmasının yanında rastgelelik kriteri de konularak karıncaların yeni yolları da keşfetmesinin önü açılmış olmaktadır. İlk karıncanın kullanmış olduğu yolun en kısa yol olmaması durumunda karıncaların uzun olan yol yerine daha kısa olan yolu bulmaları sağlanmaktadır. Görüldüğü üzere bu şekilde kısa yollarda daha fazla salgı maddesi bulunacaktır. Salgı maddesinin çok olması daha sonraki karıncaların kısa olan yolu seçme ihtimalini 30

42 artıracaktır. Salgı maddesi çok olan yollar daha çok karınca tarafından tercih edilirken, salgı maddesi daha az olan yollar daha az karınca tarafından tercih edilecektir. Salgı maddesi miktarı gerçek hayatta olduğu gibi belirli zaman süreçlerinde buharlaşma sonucunda miktarı belirli oranda azalmaktadır. Bu buharlaşma işlemi ile salgı maddesi az olan yollarında seçilmesi sağlanarak daha kısa ve daha değişik yollarında bulunması sağlanmaya çalışılacaktır. Bu şekilde en kısa yolun bulunma ihtimali doğacaktır. Oluşturulan algoritmadaki karıncalar en kısa yolu bulma amacı ile gezinmiş oldukları yolları hafızalarında tutarak en kısa yolu unutmamaları sağlanır. Bu işlemde en kısa yol için nasıl bir rota izledikleri bilgisi mevcuttur. Bir karınca bir yiyecek kaynağı bulduğu zaman kaynağın kalitesini veya miktarını değerlendirir ve bir miktar yiyecek alarak yuvasına geri döner. Bu geri dönüş sırasında, bulduğu yiyecek kaynağının kalitesi veya miktarıyla doğru orantılı olacak şekilde kullandığı yol üzerinde feromon maddesi salgılar. Böylece diğer karıncalar, söz konusu yolun sonundaki yiyecek kaynağının varlığı hususunda bilgi sahibi olurlar. Yuvaya yakın kaynaklara ulaşmak daha kolay ve hızlı olacağı için, yuvaya kısa mesafedeki yollar üzerinde feromon maddesinin yoğunluğu daha fazla olacaktır (Özdemir 2008). Yukarıda genel anlamda çalışma prensibi anlatılmış olan Karınca Kolonisi Optimizasyon Algoritması nın işleyiş prensibi, şekilsel olarak Şekil 3.7 deki gibidir. Şekil 3.7 Öncü karıncaların besin maddesine giden yolu belirlemesi 31

43 Şekil 3.7 de gösterildiği üzere karıncalar engele gelince besin kaynağına giden yolu belirlemek için rastgeleliğe göre iki ayrı yoldan birini seçerler. Karıncalardan birisi uzun yolu seçerken, diğer karıncanın kısa yolu seçtiği Şekil 3.8 de rahatça görülmektedir. Şekil 3.8 Öncü karıncaların besin maddesine ulaşması Öncü karıncalardan kısa yolu seçen besin maddesine erken ulaşırken uzun yolu seçen geç ulaşmaktadır. Şekil 3.8 da görüleceği üzere alt yolu seçen karınca besin maddesine daha erken ulaşmaktadır. Karıncalar besin maddesine ulaşıp tekrar yuvaya geri dönerken feromon maddesi salgılarlar. Kısa yolu seçen karınca geri dönerken daha yoğun miktarda salgı maddesi salarken uzun yolu seçen karınca daha az yoğunlukta salgı maddesi salacaktır. Buna göre kendinden sonra besin maddesine ulaşmaya çalışan karıncaların kısa yolu seçmesinde etkin rol üstlenecektir. Karıncalar besin maddesine gidip yuvalarına geri dönme işlemi tekrarlandıkça Şekil 3.9 da görüldüğü gibi kısa yolu seçen karınca sayısı git gide artış gösterecek ve yeterince zaman geçince karıncaların büyük bir çoğunluğu kısa yoldan besin maddesine gidip geri dönecektir. 32

44 Şekil 3.9 Karıncaların besin maddesine kısa yoldan ulaşması Bu algoritma, karıncaların doğal davranışlarını taklit ederek sürekli ve süreksiz problemleri çözmek için kullanılır. Bu algoritmaların en çok kullanıldığı uygulama alanı Gezgin Satıcı Problemi dir. Bu sistemde gerçek karıncaların birtakım özellikleri değiştirilerek yapay karıncalar tasarlanmıştır. Ancak KKO nun Genel Atama Problemi ne uyarlanması için bir takım modifikasyonlar gerekmektedir. Problem, tepe ve ayrıtların olduğu bir yol şeklinde modellenir. Bu yollar arasında karınca, aşağıda tanımı verilen olasılık fonksiyonunun değerlerine göre karar vermektedir. Yöntem, atama probleminin çözümünde kullanılırken: i, k karıncası tarafından yapılması olası görevi, j ise görev yapılırken kullanılan hava aracı veya makineyi temsil etmektedir. Olma olasılığı, Eşitlik (3.7) de verildiği üzere hesaplanmaktadır. p k ij ij ij cil il il (3.7) c il gösterilmekte olan k karıncası tarafından i. görevin yapılması için seçilebilecek olan l numaralı hava aracı veya makineye ait kümedeki elemanları göstermektedir. ij ise i. görevin j numaralı hava aracı veya makine tarafından yapılması sonucundaki salgılanacak olan salgı maddesi miktarıdır. 33

45 Karıncalar bu olasılık bağıntısına göre bir sonraki seçimlerini yaparlar. Problemdeki tüm görevler tamamlandıktan sonra bir tur veya iterasyon tamamlanmış olacaktır. İterasyon tamamlanınca salgı maddesi miktarı güncellenir. m k ij 1 ij ij k 1 (3.8) Eşitlik(12) de verilen eşitlik ile feromon maddesi miktarı güncellenir. Bu güncelleme işleminin gerçekleştirilmesinde kullanılan bazı parametrelerin ne özelliklere sahip olduğundan bahsedecek olursak: : feromon ( salgı maddesi ) buharlaşma miktarıdır ( 0< <1 ). m : toplam karınca sayısının belirtmektedir. k ij : k karıncasının i numaralı görevi yaparken j numaralı hava aracını kullanması sonucunda bıraktığı feromon miktarını belirtmektedir. k Q/ Lk i numarali gorev k karincasi tarafindan j numarali ucak tarafinda yapiliyor ise, ij (3.9) 0 aksi takdirde Q : sabit bir değerdir. L k : k. karınca tarafından taranan tur uzunluğu belirtmektedir. ij : i. görevin j. hava aracı tarafından yapılmasının yapılabilirlik amaç fonksiyonunu belirtmektedir. ij 1 d ij (3.10) d ij : i. görevin j. hava aracı tarafından yapılma maliyetini belirtmektedir. : feromon maddesi salgısının izine verilen önemi gösteren parametredir. : i. görevin j. hava aracı tarafından yapılmasının yapılabilirlik amaç fonksiyonuna verilen önemi gösteren bir parametredir. 34

46 Buradaki α ve β değerleri ayar parametreleridir ve feromon maddesi salgısı ile sezgisel fonksiyonun katılım oranlarını etkilerler. Eğer α = 0 olursa sadece yapılabilirliğe yani sezgisel fonksiyona göre bir seçim yapılır ve algoritma, stokastik bir Açgözlü Arama Algoritmasına döner (Dorigo 1991). Eğer β = 0 olursa sadece feromon izine göre seçim yapılacağından optimal bir çözüme ulaşılamaz. Bu yüzden her ikisinin de gerektiği kadar görevlerin hava araçları tarafından yapılabilirlik oranı hesabını yapmamıza yarayan fonksiyona ağırlık katması gerekir. Bununla birlikte, feromon buharlaşması olmaksızın Karınca Kolonisi Optimizasyon Algoritması güzel sonuçlar veremez. Çünkü arama uzayındaki ilk keşifler tamamen rastgele olduğundan, bu aşamada bırakılan feromonlar herhangi bir bilgi içermezler. Dolayısıyla diğer karıncaların bu işe yaramayan değerleri kolayca unutması ve iyi çözümler üzerinden yol alabilmesi için bu buharlaştırma olayı gereklidir. Diğer önemli bir parametre ise sistemde var olan karınca sayısıdır. Kullanılan karınca sayısı çok az olursa lokal sonuçlara takılma olasılığını artacaktır. Bu yüzden karınca sayının az olması feromon buharlaşması nedeniyle beklenen toplu şekilde çalışma özelliğini ortadan kaldıracaktır. Bu ana kurallar çerçevesinde çeşitli özelliklerde değişiklik yapılarak Karınca Kolonisi Algoritmasının verdiği sonuçların en iyileştirilmesine çalışılmıştır. Bu çalışmalar, aşağıdaki 4 (dört) ana başlık altında özetlenebilir. i. Toplam Maliyet kriterine göre Karınca Koloni Algoritması Algoritmada öncelikli olarak başlangıç parametreleri girilir ve gerekli değerler atanır. Bunun üzerine yapılabilirlik amaç matrisi hesaplanarak her bir i numaralı görevin j numaralı hava aracı tarafından yapılma olasılığı hesaplanır. Daha sonra Eşitlik (3.7) de verilen fonksiyon ile k numaralı karıncanın i numaralı görevi j numaralı hava aracı ile 35

47 yapma olasılığı hesaplanır. Toplam karınca sayısı m olmak üzere karıncalara ilk atamalar yapılacaktır. Buradaki her bir k numaralı karınca için i numaralı görevi yapması için elinde bulunan hava araçları arasından seçim yapması istenmektedir. Bu seçim işlemi ise her bir hava aracına düşen maliyet miktarının i numaralı görevi yapabilecek olan tüm hava araçlarının maliyet değerlerine oranı alınarak elde edilen seçilebilme olasılık oranına göre belirlenir. Bu seçme işlemi için 0-1 aralığında bir değer atanır ve bu değerin rulet çarkı prensibine göre elde edilen olasılık değerlerine göre hangi aralıkta kaldığına bakılarak i. göreve karşılık atanacak olan j numaralı hava aracı belirlenir. Bu işlem bütün görevlere birer adet hava aracı atanacak şekilde tekrarlanır. Karıncaların hepsine gerekli atamalar yapıldıktan sonra her bir i. görevin j. hava aracına atanması durumunda yapılabilirlik amaç değeri hesaplanarak yapılabilirlik amaç matrisi oluşturulur. Daha sonra Eşitlik (3.8) e göre feromon madde miktarı güncellenir ve iterasyon tamamlanır. Bu şekilde bütün iterasyonlar tamamlanınca algoritma sonuçlanır. Algoritma işlerken elde edilen atamaların toplam maliyet değerleri en iyi atama değeri ile kıyaslanarak algoritma işlemi sonucunda en iyi atama yakalanmaya çalışılır. Bu algoritmaya ait olan akış diyagramı Şekil 3.10 deki gibidir. 36

48 Basla Başlangıç parametreleri kullanıcı tarafından girilir. ( Maliyet Matrisi, α, β, ρ, Karınca sayısı, İterasyon sayısı) Başlangıç değerleri girilir. Maliyet Matrisine göre yapılabilirlik amaç matrisi oluşturulur.( ηij). Herbir I görevinin j numaralı uçak tarafından yapılma olasılığı hesaplanır. Iterasyon sayısı tamamlandı mı? HAYIR k p ij degeri hesaplanır. Karınca sayısı tamamlandı mı? HAYIR EVET i. görevin hangi uçak tarafından yapılacağını belirlemek amacı ile maliyet matrisine göre rulet çarkı hesabı yapılır ve rastgele atılan değer hangi aralığa denk gelirse o uçak I. göreve atanır. Aynı işlem tüm görevlere bir uçak atanacak şekilde tekrarlanır. ij Hesabı yapılır. (k numaralı karıncanın yapmış olduğu atamaların toplam maliyeti dij olmak üzere) 1 d ij En iyi atamadan daha iyi atama yapıldı mı? EVET m k ij 1 ij ij k 1 Denklemine göre yeni Feromon madde miktarı hesaplanır. Iterasyon Sayısı=Iterasyon Sayısı+1 HAYIR Karınca Sayısı=Karınca Sayısı+1 En iyi atamayı hafızaya al. Bitiş Şekil 3.10 Toplam Maliyet kriterine göre Karınca Koloni Algoritması akış diyagramı 37

49 ii. Yerel Maliyet kriterine göre Karınca Koloni Optimizasyon Algoritması Algoritmada öncelikli olarak başlangıç parametreleri girilir ve gerekli değerler atanır. Bunun üzerine yapılabilirlik amaç matrisi hesaplanarak her bir i numaralı görevin j numaralı hava aracı tarafından yapılma olasılığı hesaplanır. Daha sonra Eşitlik (3.7) de verilen fonksiyon ile k numaralı karıncanın i numaralı görevi j numaralı hava aracı ile yapma olasılığı hesaplanır. Toplam karınca sayısı m olmak üzere karıncalara ilk atamalar yapılacaktır. Buradaki her bir k numaralı karınca için i numaralı görevi yapması için elinde bulunan hava araçları arasından seçim yapması istenmektedir. Bu seçim işlemi ise her bir hava aracına düşen maliyet miktarının i numaralı görevi yapabilecek olan tüm hava araçlarının maliyet değerlerine oranı alınarak elde edilen seçilebilme olasılık oranına göre belirlenir. Bu seçme işlemi için 0-1 aralığında bir değer atanır ve bu değerin rulet çarkı prensibine göre elde edilen olasılık değerlerine göre hangi aralıkta kaldığına bakılarak i. göreve karşılık atanacak olan j numaralı hava aracı belirlenir. Bu işlem bütün görevlere birer adet hava aracı atanacak şekilde tekrarlanır. Burada feromon maddenin bırakılacağı miktar i numaralı görevin j numaralı hava aracına atanması durumunda oluşacak maliyet değerine göre feromon maddesi bırakılarak yapılmaktadır. Buharlaşma miktarına bağlı olarak da gerekli buharlaşan feromon maddesi her bir görevin olası hava araçları tarafından yapılmasına karşılık gelen yapılabilirlik matrisinde güncellenerek iterasyon tamamlanır. Bu işlem iterasyon adımları bitene kadar tekrarlanarak en minimum maliyete ulaşmamıza yarayan atama işlemi hafızada tutularak algoritma sonuçlanır. Algoritmaya ait olan akış diyagramı Şekil 3.11 deki gibidir. 38

50 Basla Başlangıç parametreleri kullanıcı tarafından girilir. ( Maliyet Matrisi, α, β, ρ, Karınca sayısı, İterasyon sayısı) Başlangıç değerleri girilir. Maliyet Matrisine göre yapılabilirlik amaç matrisi oluşturulur.( ηij). Herbir I görevinin j numaralı uçak tarafından yapılma olasılığı hesaplanır. Iterasyon sayısı tamamlandı mı? HAYIR k p ij degeri hesaplanır. EVET Karınca sayısı tamamlandı mı? HAYIR EVET i. görevin hangi uçak tarafından yapılacağını belirlemek amacı ile maliyet matrisine göre rulet çarkı hesabı yapılır ve rastgele atılan değer hangi aralığa denk gelirse o uçak I. göreve atanır. Aynı işlem tüm görevlere bir uçak atanacak şekilde tekrarlanır. ij Hesabı yapılır. (k numaralı karıncanın yapmış olduğu atamaların toplam maliyeti dij olmak üzere) 1 d ij En iyi atamadan daha iyi atama yapıldı mı? EVET m k ij 1 ij ij k 1 Denklemine göre yeni Feromon madde miktarı hesaplanır. Iterasyon Sayısı=Iterasyon Sayısı+1 HAYIR Karınca Sayısı=Karınca Sayısı+1 En iyi atamayı hafızaya al. Bitiş Şekil 3.11 Yerel Maliyet kriterine göre Karınca Koloni Algoritması akış diyagramı 39

51 iii. Toplam Maliyet kriteri ve öncü karıncaların rastgele atandığı Karınca Koloni Optimizasyon Algoritması Algoritmada öncelikli olarak başlangıç parametreleri girilir ve gerekli değerler atanır. Bunun üzerine yapılabilirlik amaç matrisi hesaplanarak her bir i numaralı görevin j numaralı hava aracı tarafından yapılma olasılığı hesaplanır. Daha sonra Eşitlik (3.7) de verilen fonksiyon ile k numaralı karıncanın i numaralı görevi j numaralı hava aracı ile yapma olasılığı hesaplanır. Daha sonra karıncalara atama işlemi yapılmaya başlanır. Bu atama işleminde her bir görevin yapılması için hava araçları arasından rastgele biri atanarak atama işlemi tekrarlanır. Bu şekilde öncü karıncaların hepsine atamalar yapıldıktan sonra atamaların işlem maliyetine göre feromon maddesi güncellemesi yapılır. Bu güncelleme işleminde maliyet olarak k numaralı karıncaya ait olan görev - hava aracı atamaları sonucunda elde edilen toplam maliyet hesaba katılır. Bu sayede öncü karıncalara gerekli atamalar yapılmış olur ve 1. iterasyon tamamlanır. Eşitlik (3.7) de verilen fonksiyon ile k numaralı karıncanın i numaralı görevi j numaralı hava aracı ile yapma olasılığı tekrar hesaplanır. Yeni karıncalar bu olasılık değerine göre hesaplanacaktır. Olasılık değerlerine göre her bir görev için atanacak olan hava aracı 0-1 arasında rastgele atanan değerin düştüğü aralık göz önünde bulunarak seçilir ve bu şekilde k numaralı karıncaya ait olan tüm görevlere birer adet hava aracı ataması yapılacak şekilde atamalar yapılır. Daha sonra Eşitlik (3.10) teki ij hesabı yapılır ve feromon madde güncellemesi yapılarak iterasyon tamamlanır. İterasyon sayısı maksimuma ulaşınca algoritma sonlandırılır. Algoritma çalışırken her bir iterasyon sırasında yapılmakta olan atama işlemlerinde elde edilen maliyet değerlerinden en minimum maliyet değerine ait atama hafızada tutulur. Algoritmaya ait olan akış diyagramı Şekil 3.12 deki gibidir. 40

52 Basla Başlangıç parametreleri kullanıcı tarafından girilir. ( Maliyet Matrisi, α, β, ρ, Karınca sayısı, İterasyon sayısı) Karınca sayısı tamamlandı mı? EVET HAYIR i. görevin yapılası için rastgele bir uçak atanır. Bu işlem tüm görevler için tekrarlanır. Başlangıç değerleri girilir. Maliyet Matrisine göre yapılabilirlik amaç matrisi oluşturulur.( ηij). Herbir I görevinin j numaralı uçak tarafından yapılma olasılığı hesaplanır. k p ij degeri hesaplanır. ij 1 d ij En iyi atamadan daha iyi atama yapıldı mı? HAYIR EVET En iyi atamayı hafızaya al. Hesabı yapılır. (k numaralı karıncanın yapmış olduğu atamaların toplam maliyeti dij olmak üzere) m k ij 1 ij ij k 1 Karınca Sayısı=Karınca Sayısı+1 Denklemine göre yeni Feromon madde miktarı hesaplanır. Iterasyon Sayısı=Iterasyon Sayısı+1 Iterasyon sayısı tamamlandı mı? HAYIR k p ij degeri hesaplanır. EVET Karınca sayısı tamamlandı mı? HAYIR EVET ij Hesabı yapılır. (k numaralı karıncanın yapmış olduğu atamaların toplam maliyeti dij olmak üzere) 1 d ij m k ij 1 ij ij k 1 i. görevin hangi uçak tarafından yapılacağını belirlemek amacı ile maliyet matrisine göre rulet çarkı hesabı yapılır ve rastgele atılan değer hangi aralığa denk gelirse o uçak I. göreve atanır. Aynı işlem tüm görevlere bir uçak atanacak şekilde tekrarlanır. En iyi atamadan daha iyi atama yapıldı mı? EVET Denklemine göre yeni Feromon madde miktarı hesaplanır. HAYIR En iyi atamayı hafızaya al. Iterasyon Sayısı=Iterasyon Sayısı+1 Karınca Sayısı=Karınca Sayısı+1 Bitiş Şekil 3.12 Toplam Maliyet kriteri ve öncü karıncaların rastgele atandığı Karınca Koloni Algoritması akış diyagram 41

53 iv. Yerel Maliyet kriteri ve öncü karıncaların rastgele atandığı Karınca Koloni Algoritması Algoritmada öncelikli olarak başlangıç parametreleri girilir ve gerekli değerler atanır. Bunun üzerine yapılabilirlik amaç matrisi hesaplanarak her bir i numaralı görevin j numaralı hava aracı tarafından yapılma olasılığı hesaplanır. Daha sonra Eşitlik (3.7) de verilen fonksiyon ile k numaralı karıncanın i numaralı görevi j numaralı hava aracı ile yapma olasılığı hesaplanır. Daha sonra karıncalara atama işlemi yapılmaya başlanır. Bu atama işleminde her bir görevin yapılması için hava araçları arasından rastgele biri atanarak atama işlemi tekrarlanır. Bu şekilde öncü karıncaların hepsine atamalar yapıldıktan sonra atamaların işlem maliyetine göre feromon maddesi güncellemesi yapılır. Bu güncelleme işleminde maliyet olarak k numaralı karıncaya ait olan atamadaki i numaralı görevi yapacak olan hava aracına ait olan maliyet değerine göre feromon maddesi eklenir. Aynı işlem diğer görevler içinde i numaralı görevin yapılması için atanan j numaralı hava aracına karşılık gelen maliyet değeri göz önünde bulundurulacak şekilde atamalar gerçekleştirilerek iterasyon tamamlanır. Eşitlik (3.7) de verilen fonksiyon ile k numaralı karıncanın i numaralı görevi j numaralı hava aracı ile yapma olasılığı tekrar hesaplanır. Yeni karıncalar bu olasılık değerine göre hesaplanacaktır. Olasılık değerlerine göre her bir görev için atanacak olan hava aracı 0-1 arasında rastgele atanan değerin düştüğü aralık göz önünde bulunarak seçilir ve bu şekilde k numaralı karıncaya ait olan tüm görevlere birer adet hava aracı ataması yapılacak şekilde atamalar yapılır. İterasyon sayısı maksimuma ulaşınca algoritma sonlandırılır. Algoritma çalışırken her bir iterasyon sırasında yapılmakta olan atama işlemlerinde elde edilen maliyet değerlerinden en minimum maliyet değerine ait atama hafızada tutulur. Buna göre algoritmaya ait olan akış diyagramı Şekil 3.13 teki gibidir. 42

54 Basla Başlangıç parametreleri kullanıcı tarafından girilir. ( Maliyet Matrisi, α, β, ρ, Karınca sayısı, İterasyon sayısı) Karınca sayısı tamamlandı mı? EVET HAYIR i. görevin yapılası için rastgele bir uçak atanır. Bu işlem tüm görevler için tekrarlanır. Başlangıç değerleri girilir. Maliyet Matrisine göre yapılabilirlik amaç matrisi oluşturulur.( ηij). Herbir I görevinin j numaralı uçak tarafından yapılma olasılığı hesaplanır. k p ij degeri hesaplanır. ij Hesabı yapılır. (k numaralı karıncanın yapmış olduğu atamaların toplam maliyeti dij olmak üzere) 1 d ij m k ij 1 ij ij k 1 Denklemine göre yeni Feromon madde miktarı hesaplanır. En iyi atamadan daha iyi atama yapıldı mı? HAYIR Karınca Sayısı=Karınca Sayısı+1 EVET En iyi atamayı hafızaya al. Iterasyon Sayısı=Iterasyon Sayısı+1 Iterasyon sayısı tamamlandı mı? HAYIR k p ij degeri hesaplanır. EVET Karınca sayısı tamamlandı mı? EVET HAYIR i. görevin hangi uçak tarafından yapılacağını belirlemek amacı ile maliyet matrisine göre rulet çarkı hesabı yapılır ve rastgele atılan değer hangi aralığa denk gelirse o uçak I. göreve atanır. Aynı işlem tüm görevlere bir uçak atanacak şekilde tekrarlanır. ij Hesabı yapılır. (k numaralı karıncanın yapmış olduğu atamaların toplam maliyeti dij olmak üzere) 1 d ij En iyi atamadan daha iyi atama yapıldı mı? EVET m k ij 1 ij ij k 1 HAYIR En iyi atamayı hafızaya al. Denklemine göre yeni Feromon madde miktarı hesaplanır. Karınca Sayısı=Karınca Sayısı+1 Iterasyon Sayısı=Iterasyon Sayısı+1 Bitiş Şekil 3.13 Yerel Maliyet kriteri ve öncü karıncaların rastgele atandığı Karınca Koloni Algoritması akış diyagramı 43

55 3.3.3 Dağılım Kestirim Algoritması Dağılım Kestirim Algoritması bir çeşit nüfus (popülasyon) tabanlı optimizasyon algoritmasıdır. Nüfusundaki bireylere ait sonuçlar ile belirli bir olasılıksal dağılım elde edilerek bir sonraki nesiller oluşturulmaktadır (Shakya 2006). Dağılım Kestirim Algoritması ana çalışma algoritması olarak Genetik Algoritma ile benzerlik göstermektedir. Genetik Algoritmadaki çaprazlama ve mutasyon adımları yerine Dağılım Kestirim Algoritmasında istatiksel hesaplamalar yapılarak bireylere ait sonuçlar geliştirilmeye ve optimal sonuç yakalanmaya çalışılmaktadır (Chen 2010). Dağılım Kestirim Algoritması ilk olarak k numaralı bireyin i numaralı görevi yapması için hava aracı seçilmesi ile başlamaktadır. i numaralı görevi yapmak üzere hava araçları arasından rastgele bir j hava aracı seçilir ve daha sonraki i görevlerine atama da aynı şekilde rastgele hava araçları seçilerek yapılır. k numaralı bireye ait atama işlemi bittikten sonra toplumdaki diğer bireyler içinde aynı şekilde ilk atamalar yapılır. İlk atamalara ait örnek çizelge 3.16 daki gibi olduğu düşünülürse bu atamalara karşılık gelen maliyet değerleri ise çizelge 3.17 deki gibi olduğunu düşünelim. Çizelge popülasyon bireyi ve 6 hava aracına ait veri seti için ilk atamalar 44

56 Çizelge görev 6 hava aracına ait veri seti için ilk atamalara karşılık gelen maliyet değerleri İlk atamalar bittikten sonra oluşan toplumda eşik seviyesi değerinden küçük olan değerler için 1, büyük olan değerler 0 olacak şekilde yeni bir seçim matrisi (çizelge 3.18)oluşturulur. Buradaki eşik seviyesi değeri kullanıcı tarafından belirlenen bir parametredir. Çizelge 3.18 Eşik seviyesi 50 için oluşan matris Buna göre oluşan çizelge 3.18 teki matriste her bireye ait olan atamaya karşılık gelen seçim matrisindeki 1 sayıları toplanır ve çizelge 3.19 daki matris elde edilmektedir. 1 değerlerinin çok olması optimal sonuca yakın değerlere karşılık gelindiğini belirtmektedir. 45

57 Çizelge 3.19 Bireylerdeki eşik seviyesinden küçük değerlerin toplamı Daha sonra bireylere ait atamalar kesme limitinden küçük değerlerin çokluğuna göre sıralanır. Bu sıralama çizelge 3.20 deki gibidir. Çizelge 3.20 Kesme Limiti (0.667=4/6) olmak üzere oluşan matris Kullanıcı tarafından belirlenen başlangıç parametresi olan kesme limiti değeri Genetik Algoritmadaki elitizm değerine benzer bir şekilde bir sonraki nesle kaç adet en iyi birey aktarılacağını belirlemektedir. Kesme limitine göre bir sonraki aşamaya aktarılacak birey sayısı kadar en iyi birey seçilir ve bu bireylere ait atama işlemindeki her bir i numaralı görevin yapılma olasılıkları belirlenerek çizelge 3.21 deki görevlerin yapılabilme olasılığı matrisi oluşmaktadır. 46

58 Çizelge 3.21 Görevlerin yapılabilme olasılığı Bu değerler dahilinde toplumda bir sonraki nesle aktarılacak bireyler tamamlanacaktır. çizelge 3.17 de verilen örnek veri seti için 4 adet en iyi birey bir sonraki nesle aktarılırken geriye kalan 2 birey ise çizelge 3.21 e göre tamamlanacaktır. Bu bireylerin oluşturulması her bir görev için 0-1 aralığında bir değer atılır ve eğer bu değer görevlerin atanma olasılığından küçük ise 1 yani 50 eşik seviyesinden küçük bir değer, eğer atanma olasılığından büyük bir değer ise 0 yani arasında bir değer atanacaktır. Burada atama işlemi 2 şekilde yapılmaktadır. 1.sinde eğer 1 değeri gelecek ise bu görevi yapacak hava araçlarından maliyeti 50 değerinin altında olan bir hava aracı, rastgelelik durumuna göre atanır. Aynı şekilde 0 değeri seçilecek ise bu görevi yapacak olan hava araçlarından maliyeti arasında olan bir hava aracına atama yapılır. Bir diğer atama işlemi ise 1 olması durumunda yapılacak olan atamada bu görevi yapacak hava araçlarından en minimum maliyet ile görevi gerçekleştirecek olan atanır; bu şekilde toplumda bir sonraki nesile aktarılacak olan eksik bireyler tamamlanır ve maksimum nesil sayısına ulaşılana kadar algoritma çalışarak optimal maliyete sahip olan bir atama bulunmaya çalışılır. 47

59 4 ARAŞTIRMA BULGULARI 4.1 Benzetim Sonuçları Hava araçlarının yapılması istenilen görevleri eldeki kaynakları en verimli şekilde kullanarak minimum maliyet ile eşleştirilmesi sırasında yukarıda ismi geçen algoritmalar çeşitli özellikler ve algoritmalarda kullanılan başlangıç parametrelerine göre değişik performanslar göstermektedir. Bu parametre değerlerinin uygun seçilmesi ile en verimli bir şekilde atama işlemi yapılabilecektir. Parametre değerlerine ait değişimleri gözlemleyerek yapılmak istenilen hava aracı-görev eşleştirmesi için en uygun parametre değerleri seçilerek en verimli atama işleminin elde edilmesinde kullanılabilecek olan algoritmaya ait sonuç çıkarımı yapmak gerekirse sonuçlar aşağıdaki gibi olacaktır. Bu simülasyon sonuçları Intel Core2 Quad CPU Q GHz 4GB bir masaüstü bilgisayar ile MATLAB2011a ortamında elde edilmiştir. Hava araçlarının görevleri yapma maliyetlerine ait verilerin bulunduğu bir veri seti için işlemler yapılarak sonuçların nasıl değiştiği gözlemlenebilir ve buna göre bir sonuç çıkarımı yapılabilir. Bu amaçla, bütün algoritmalarda kullanılmak üzere bir Maliyet Matris kullanılmıştır. Bu girdi matris, görev sayısı ve hava aracı sayısına göre arasında rastgele atanan değerlerden oluşmaktadır. Bu matris boyutundadır. Buradaki 18 görev sayısını belirtirken 15 değeri ise hava aracı sayısını belirtmekte olup; test sonuçları üzerinden 18 adet görevin 15 hava aracı tarafından en optimal kaynak kullanılarak en verimli nasıl atanabileceği gözlemlenmiştir. 48

60 Çizelge numaralı Maliyet Matrisi (Görev Sayısı = 18 ve Hava Aracı Sayısı = 15 ) Deterministik Yöntemlere ait Sonuçlar Adım Adım Algoritması, Macar Algoritması, Kaba Kuvvet Algoritması değişik veri setleri için nasıl sonuçlar verdiği araştırılmak istenebilir. Elde edilen sonuçlara göre de belirli özelliklere (matris boyutu,...) göre genelleme yapılabilir. Küçük boyuttaki girdi matrislerinde iyi ve hızlı sonuç veren bir algoritmanın büyük boyutlu girdiler içinde aynı sonucu verip vermediği gözlemlenmek amacı ile maliyet matrislerinden birincisi çizelge 3.17 deki görev sayısı = 4, hava aracı sayısı = 5 olacak şekilde, girdi maliyet matrislerinden ikincicisi ise çizelge 4.1 de verilmiş olan görev sayısı = 18, hava aracı sayısı = 15 olacak şekilde iki veri setine ait sonuçlar kıyaslanacaktır. 49

61 Çizelge numaralı Maliyet Matrisi (Görev Sayısı = 4 ve Hava Aracı Sayısı = 5 ) Adım Adım Algoritması, Macar Algoritması, Kaba Kuvvet Algoritmasının bu Maliyet Matrislerini girdi olarak kullanması sonucunda elde edilen atama sonuçları karşılaştırılmak istenirse şu şekilde olacaktır: Adım Adım Algoritması Adım Adım Algoritmasının 1 numaralı girdi maliyet matrisine karşılık atama sonucu 1.Görev 4. Hava Aracına, 2.Görev 4. Hava Aracına, 3.Görev 5. Hava Aracına, 4.Görev 2. Hava Aracına atanacak şekilde sonuç elde edilir. Buna göre Atama Vektörü = [ ] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet değeri 104 olmaktadır. Bu değerler ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.3 teki gibi olmaktadır. Adım Adım Algoritması bu sonuca saniyede ulaşmaktadır. Çizelge 4.3 Adım Adım Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu 50

62 Adım Adım Algoritmasının 2 numaralı Maliyet Matrisi için Atama Vektörü = [ ] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet 120 olmaktadır. Elde edilen sonuç ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.4 teki gibi olmaktadır. Algoritma bu sonuca saniyede ulaşmaktadır. Çizelge 4.4 Adım Adım Algoritmasının 2 numaralı Maliyet Matrisi için atama sonucu Macar Algoritması Macar Algoritmasının 1 numaralı girdi maliyet matrisine karşılık atama sonucu 1.Görev 2. Hava Aracına, 2.Görev 4. Hava Aracına, 3.Görev 5. Hava Aracına, 4.Görev 3. Hava Aracına atanacak şekilde sonuç elde edilir. Buna göre Atama Vektörü = [

63 3] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet 116 olmaktadır. Bu değerler ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.5 teki gibi olmaktadır. Macar Algoritması bu sonuca saniyede ulaşmaktadır. Çizelge 4.5 Macar Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu Macar Algoritmasının 2 numaralı Maliyet Matrisi için Atama Vektörü = [ ] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet 175 olmaktadır. Elde edilen sonuç ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.6 daki gibi olmaktadır. Algoritma bu sonuca saniyede ulaşmaktadır. 52

64 Çizelge 4.6 Macar Algoritmasının 2 numaralı Maliyet Matrisi için atama sonucu Kaba Kuvvet Algoritması Kaba Kuvvet Algoritmasının 1 numaralı girdi maliyet matrisine karşılık atama sonucu 1.Görev 2. Hava Aracına, 2.Görev 4. Hava Aracına, 3.Görev 5. Hava Aracına, 4.Görev 3. Hava Aracına atanacak şekilde sonuç elde edilir. Buna göre Atama Vektörü = [ ] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet 116 olmaktadır. Bu değerler ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.7 deki gibi olmaktadır. Kaba Kuvvet Algoritması bu sonuca saniyede ulaşmaktadır. 53

65 Çizelge 4.7 Kaba Kuvvet Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu Kaba Kuvvet Algoritmasının 2 numaralı Maliyet Matrisi için bellek yetersizliğinden dolayı kullanılan bilgisayar ile sonucu elde edememektedir. Bilgisayarın belleğinin yettiği en yüksek değerlerden biri olan Görev Sayısı = 8, Hava Aracı Sayısı = 9 için çizelge 4.8 deki Maliyet Matrisine ait atama sonuçları ile bir yargıya varılabilir. Çizelge 4.8 Görev Sayısı = 8, Hava Aracı Sayısı = 9 için rastgele oluşturulmuş Maliyet Matrisi Çizelge 4.8 deki Maliyet Matrisine ait Atama Sonucu 1.Görev 3. Hava Aracına, 2.Görev 4. Hava Aracına, 3.Görev 1. Hava Aracına, 4.Görev 7. Hava Aracına, 5.Görev 5. Hava Aracına, 6.Görev 6. Hava Aracına, 7.Görev 9. Hava Aracına, 8.Görev 2. Hava Aracına olacak şekilde en minimum değerler ile atama yapılmış olur. Buna göre Atama Vektörü=[ ] olacak ve buna ait olan Atama Maliyet Değer Vektörü=[

66 ] olur ve toplam maliyet 89 dur. Bu değerler ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.9 daki gibi olmaktadır. Kaba Kuvvet Algoritması bu sonuca saniyede ulaşmaktadır. Çizelge 4.9 Kaba Kuvvet Algoritmasının çizelge 4.8 deki Maliyet Matrisi için atama sonucu Genel değerlendirme yapacak olursak Adım Adım Algoritması toplam maliyet bakımından en iyi değere ulaşmaktadır ama bu değere ulaşırken aynı hava aracına birden fazla görev ataması yapabilmekte hatta tüm görevleri aynı hava aracına atanabilmektedir. Bu durumda istenmeyen bir durumdur bu yüzden Macar Algoritması, Kaba Kuvvet Algoritması ile istenen sonuca ulaşılabilmektedir. Burada da küçük boyutlu Maliyet Matrisleri için Macar Algoritması, Kaba Kuvvet Algoritması iyi sonuçlara yaklaşık olarak aynı zamanda ulaşabilirken Maliyet matris boyutu artınca Kaba Kuvvet Algoritmasının sonuca ulaşma süresi matris boyutuna bağlı olarak çok büyümektedir. Buradan çıkan sonuç ise hava araçlarına atanan görev sayısı adil olması istenirse Adım Adım Algoritmasının kullanmaması gerekmektedir. Küçük boyutlu Maliyet Matrisleri için Macar Algoritması, Kaba Kuvvet Algoritması iyi sonuç vermesine rağmen büyük boyutlu matrisler için Macar Algoritması iyi sonuca ulaşılmasında yardımcı olacaktır. Genel olarak bütün matris boyutları ile iyi sonuç vermesinin istendiği durumlarda Macar Algoritması kullanılabilir. 55

67 4.1.2 Olasılık Temelli Yöntemlere ait Sonuçlar Açık Artırma Algoritması Açık Artırma Algoritmasının 1 numaralı girdi maliyet matrisine karşılık atama sonucu 1.Görev 2. Hava Aracına, 2.Görev 4. Hava Aracına, 3.Görev 5. Hava Aracına, 4.Görev 3. Hava Aracına atanacak şekilde sonuç elde edilir. Buna göre Atama Vektörü = [ ] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet 116 olmaktadır. Bu değerler ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.10 daki gibi olmaktadır. Adım Adım Algoritması bu sonuca saniyede ulaşmaktadır. Çizelge 4.10 Açık Artırma Algoritmasının 1 numaralı Maliyet Matrisi için atama sonucu Açık Artırma Algoritmasının 2 numaralı Maliyet Matrisi için Atama Vektörü = [ ] olacak buna karşılık gelen Atama Maliyet Değer Vektörü=[ ] olmaktadır. Buna karşılık gelen atama işlemi sonucunda oluşan toplam maliyet 175 olmaktadır. Elde edilen sonuç ışığında Maliyet Matrisi üzerinde atama yapılan değerler işaretlenecek olursa çizelge 4.11 deki gibi olmaktadır. Algoritma bu sonuca saniyede ulaşmaktadır. 56

68 Çizelge 4.11 Açık Artırma Algoritmasının 2 numaralı Maliyet Matrisi için atama sonucu Açgözlü Algoritma Çizelge 4.1 de verilmekte olan veri seti için 100 birey oluşturulmak istenir ve bu 100 birey ile yapılmış olan atamalar arasında en optimal değer yakalanmak istenirse buna ait 100 Monte Carlo simülasyon koşusu sonucunda elde edilen 100 bireye ait sonuçların histogram grafiği çizilirse Şekil 4.1 deki gibi olmaktadır. Dikkat edilecek olursa adından da bilindiği gibi Açgözlü Algoritması toplam maliyet yönünden beklendiği gibi optimal sonuçlara ulaşamamaktadır. 57

69 Adet En Iyi Toplam Maliyet Şekil 4.1 Açgözlü Algoritmaya ait 100 birey için histogram Rastgele Atama Algoritması Çizelge 4.2 de verilmekte olan veri seti için 100 birey oluşturulmak istenir ve bu 100 birey ile yapılmış olan atamalar arasında en optimal değer yakalanmak istenirse buna ait 100 Monte Carlo simülasyon koşusu sonucunda elde edilen rastgelelik kriterine göre üretilen 100 bireye ait sonuçların histogramı çizilirse Şekil 4.2 deki gibi olmaktadır. Dikkat edilecek olursa rastgele üretilen atamalar toplam maliyet yönünden beklendiği gibi optimal sonuçlara ulaşamamaktadır Adet En Iyi Toplam Maliyet Şekil 4.2 Rastgele Atama Algoritmasına ait 100 birey için histogram 58

70 4.1.3 Sezgisel Yöntemlere ait Sonuçlar Genetik Algoritma Genetik Algoritma ile toplam maliyete ulaşmak için kullanılan parametrelerin değiştirilmesinin etkileri araştırılmak istenebilir. Bu kıyaslama işlemi uygulanırken Genetik Algoritmada Hava Aracı Sayısı = 15, Görev Sayısı = 18, Çaprazlama Oranı = %70, Mutasyo Oranı = %50, Elitizm Oranı = %30, Nesil Sayısı = 30, Nüfus Büyüklüğü = 30 olacak şekilde alınarak işlem yapılmaktadır. Burada başlangıç parametreleri olarak bu değerlerin alınmasının sebepleri, aşağıdaki şekilde özetlenebilir. - Literatür araştırmalarında da görüldüğü üzere Çaprazlama Oranının yüksek seçilmesi ile çeşitlilik artacağı için optimal bir sonuca ulaşmak kolaylaşacaktır. Buradaki değerin 1 veya 1 e çok daha yakın bir değer alınmamasının nedeni ise çok iyi optimal sonuçlara ulaşmaya yarayan bireylerin sürekli çaprazlama sonucunda daha kötü bireylere dönüşme ve dolayısıyla ıraksama olasılığına engel olmaktır. - Mutasyon Oranının ortalama bir değer seçilmesi, türdeki çeşitliliği koruyarak lokal optimumlardan kaçınılmasını sağlar. Bu değerin çok yüksek olmaması sayesinde, ıraksama olasılığı minimuma indirgenmektedir. - Elitizm Oranı, nüfusun en kaliteli olarak belirlenen üst (seçkin) tabakasının hangi oranda doğrudan gelecek nesle aktarılacağını belirler. Bu oranın yüksek seçilmesi, bireylerin çoğunluğunun bir sonraki nesle aktarılmasına ve dolayısıyla türdeki çeşitliliğin azalarak lokal optimuma takılınmasına neden olacaktır. 59

71 - Nüfus Büyüklüğü ile çözüm uzayının ne sıklıkta örnekleneceği kontrol edilmektedir. Bu sayının büyük seçilmesi daha iyi bir arama işlemi sağlayacaktır; öte yandan, işlem miktarı ile birlikte algoritmanın sonuca ulaşma süresi artacaktır. - Nesil Sayısı, yakınsama oranını belirleyen bir parametredir. Bu değerin küçük seçilmesi, global optimuma ulaşamadan algoritmanın kesilmesine yol açabilir. Öte yandan çok büyük seçilmesi de, optimuma ulaştıktan sonra gereksiz işlem yapılmasına sebep olabilir. Performans değerlendirmeleri yapılırken, yukarıda anılan parametre değerlerinden bir tanesi hariç diğerleri sabit tutulmuş; sadece etkisi incelenecek olan parametre değiştirilerek algoritma performansı üzerindeki etkisi gözlemlenmeye çalışılmıştır. Elde edilen sonuçlardan daha objektif bir yargıya varabilmek adına, 100 adet bağımsız Monte Carlo simülasyonu koşturulmuş, elde edilen sonuçların ortalaması alınarak sonuç grafikleri çizdirilmiştir. i. Çaprazlama Oranının Etkisi Öncelikli olarak diğer parametreler sabit tutularak Çaprazlama Oranı= %10, %30, %50, %70, %90 olacak şekilde değiştirilmiştir. Buna göre toplam maliyetteki değişimin 30 Nesil ve 100 bağımsız Monte Carlo koşusu sonrasında elde edilen sonuçların ortalaması Şekil 4.3 teki gibidir. 60

72 En iyi Toplam Maliyet Caprazlama Orani %= 10 Caprazlama Orani %= 30 Caprazlama Orani %= 50 Caprazlama Orani %= 70 Caprazlama Orani %= Nesil Şekil 4.3 Çaprazlama Oranı = %10, %30, %50, %70, %90 değerleri için sonuçlar Şekil 4.3 te görüleceği üzere diğer parametrelerin sabit tutulduğu değerler için elde edilen sonuçlarda Çaprazlama Oranı değişiminin etkisi çok fazla olmamaktadır. ii. Mutasyon Oranının Etkisi Diğer parametreler sabit tutularak Mutasyon Oranı = %10, %30, %50, %70, %90 olacak şekilde değiştirilmiştir. Buna göre toplam maliyetteki değişimin 30 Nesil ve 100 bağımsız Monte Carlo koşusu sonrasında elde edilen sonuçların ortalaması Şekil 4.4 teki gibidir. 61

73 En iyi Toplam Maliyet Mutasyon Orani %= 10 Mutasyon Orani %= 30 Mutasyon Orani %= 50 Mutasyon Orani %= 70 Mutasyon Orani %= Nesil Şekil 4.4 Mutasyon Oranı = %10, %30, %50, %70, %90 değerleri için sonuçlar Şekil 4.4 te görüleceği üzere diğer parametrelerin sabit tutulduğu değerler için elde edilen sonuçlarda Mutasyon Oranı değişiminin önemli bir etkisi olmamaktadır. iii. Elitizm Oranının Etkisi Diğer parametreler sabit tutularak Elitizm Oranı= %10, %30, %50, %70, %90 olacak şekilde değiştirilmiştir. Buna göre toplam maliyetteki değişimin 30 Nesil ve 100 bağımsız Monte Carlo koşusu sonrasında elde edilen sonuçların ortalaması Şekil 4.5 teki gibidir. 62

74 En iyi Toplam Maliyet Elitizm Orani % = 10 Elitizm Orani % = 30 Elitizm Orani % = 50 Elitizm Orani % = 70 Elitizm Orani % = Nesil Şekil 4.5 Elitizm Oranı = %10, %30, %50, %70, %90 değerleri için sonuçlar Şekil 4.5 te görüleceği üzere diğer parametrelerin sabit tutulduğu durumda Elitizm Oranı=%30, %50 olduğu değerler için elde edilen sonuçlarda toplam maliyet bakımından iyi sonuçlara kısa zamanda ulaşılabilmektedir. iv. Nüfus Büyüklüğünün Etkisi Diğer parametreler sabit tutularak Nüfus Büyüklüğü = 5, 10, 30, 50, 100 olacak şekilde değiştirilmiştir. Buna göre toplam maliyetteki değişimin 30 Nesil ve 100 bağımsız Monte Carlo koşusu sonrasında elde edilen sonuçların ortalaması Şekil 4.6 daki gibidir. 63

75 Genetik Algoritma Nesil Buyuklugu = 5 Nesil Buyuklugu = 10 Nesil Buyuklugu = 30 Nesil Buyuklugu = 50 Nesil Buyuklugu = 100 En iyi Toplam Maliyet Nesil Şekil 4.6 Nüfus Büyüklüğü = 5, 10, 30, 50, 100 değerleri için sonuçlar Şekil 4.6 da görüleceği üzere diğer parametrelerin sabit tutulduğu durumda Nesil Büyüklüğü arttıkça toplam maliyet bakımından daha iyi sonuçlara ulaşılmaktadır. Çizelge 4.12 Nüfus Büyüklüğü = 5, 10, 30, 50, 100 değerlerinde algoritmanın gerçeklenme süresi Nüfus Büyüklüğü Gerçeklenme Süresi 1.6 sn 2.2 sn 4.7 sn 7.5 sn 15.4 sn Nüfus Büyüklüğünün değiştirilmesi sonucunda algoritmanın çalışma süreleri çizelge 4.12 deki gibidir. Algoritmanın toplam maliyet bakımından elde edilen sonuç değerleri ve algoritmanın çalışma süresine göre Nüfus Büyüklüğünün 30 olduğu değerde iyi bir sonuca ulaşılmaktadır. Yukarıda elde edilen sonuçlarda, her bir deneme için Nüfus Büyüklüğü Nesil Sayısı çarpımı farklıdır. Dolayısıyla uygunluk fonksiyonunun hesaplanma sayısı da farklıdır. Bu nedenle, Nüfus Büyüklüğü Nesil Sayısı çarpımı eşit olacak şekilde bir deneme 64

76 daha yapılmıştır. Buna göre, Nüfus Büyüklüğü Nesil Sayısı = 3000 olacak şekilde Nesil Sayısı ayarlanacak olursa Nüfus Büyüklüğü =5 olan veri seti için Nesil Sayısı=600, Nüfus Büyüklüğü =10 olan veri seti için Nesil Sayısı=300, Nüfus Büyüklüğü =30 olan veri seti için Nesil Sayısı=100, Nüfus Büyüklüğü =50 olan veri seti için Nesil Sayısı=60, Nüfus Büyüklüğü =100 olan veri seti için Nesil Sayısı=30 olacak şekilde algoritma çalıştırılıp yaklaşık eşit sürede elde edilen sonuçlar Şekil 4.7 deki gibidir. Bu sonuçlardan görüleceği üzere en iyi sonuca Nüfus Büyüklüğü =30 olan değerde ulaşıldığı görülmektedir Genetik Algoritma Populasyon Buyuklugu = 5 Populasyon Buyuklugu = 10 Populasyon Buyuklugu = 30 Populasyon Buyuklugu = 50 Populasyon Buyuklugu = 100 En iyi Toplam Maliyet X: 2989 Y: Nesil Şekil 4.7 Nüfus Büyüklüğü = 5, 10, 30, 50, 100 değerlerine ait; toplam 3000 defa Uygunluk Fonksiyonu hesaplanan konfigürasyona ilişkin sonuçlar v. Rulet Çarkı Yönteminin Etkisi Doğadan esinlenerek çözümler elde edilmesinde yardımcı olacak yöntemlerden biri de bireylerin veya genlerin diğer bireylere veya genlere baskınlığına göre daha çok yaşamasını göz önünde bulundurularak oluşturulmuş Rulet Çarkı yöntemidir. Bu yöntemde bireyler veya genlerin en iyiye yakınlığına göre baskınlık miktarı 65

77 artmaktadır. Burada baskınlık değerleri 1/Maliyet değerleri kıyaslanarak toplam baskınlık değeri 1 olacak şekilde bölüştürülmektedir. En iyi sonuca yakın değerlerde baskınlık değeri 1 değerine yaklaşırken çözüm kötüleştikçe baskınlık değeri azalıp sıfıra yaklaşmaktadır. Diğer parametre değerlerinin değişimlerine göre benzetim sonuçları göz önüne alındığında problemimiz için en iyi pararmetre değerlerinin Çaprazlama Oranı = %70, Mutasyon Oranı = %50, Elitizm Oranı = %30, Nesil Sayısı = 100, Nüfus Büyüklüğü=100 olacak şekilde alınması sonucunda en iyi sonuca ulaşıldığı gözlemlenmiştir. Bu değerler ışığında rulet çarkı yönteminin iki farklı yöntemi kıyaslanmak istenmektedir. Bu yöntemler şu şekildedir: a. Birey bakımından rulet çarkı yöntemi Doğadan esinlenilerek yeni bireyler oluşturulurken, ebeveynlerin kendi aralarındaki baskınlıklarına göre yeni bireylerin oluşturulması yöntemine Birey Bakımından Rulet Çarkı Yöntemi olarak isimlendirilecektir. Bu yöntemde yeni bireyler oluşturulurken toplam maliyet bakımından en iyi sonuca yakın birey baskın, en iyi sonuçtan uzaklaşıldıkça baskınlık azalmaktadır. Burada tüm bireylerin baskınlık değerleri toplamı 1 olacak şekilde her bireye bir baskınlık değeri verilmektedir ve daha sonra Tekdüze Dağılım a göre rastgele sayı üretilerek yeni bireyin hangi baskın ebeveyn ile aynı olacağı belirlenmektedir. b. Gen bakımından rulet çarkı yöntemi Doğadan esinlenilerek yeni bireyler oluşturulurken, genlerin kendi aralarındaki baskınlıklarına göre yeni bireylerin oluşturulması yöntemine Gen Bakımından Rulet Çarkı Yöntemi olarak isimlendirilecektir. Bu yöntemde yeni bireyler oluşturulurken her bir görevin yapılması sonucunda oluşacak maliyet bakımından en iyi sonuca yakın gen baskın, en iyi sonuçtan uzaklaşıldıkça baskınlık azalmaktadır. Burada tüm bireylerin baskınlık değerleri toplamı 1 olacak şekilde her gene bir baskınlık değeri 66

78 verilmektedir ve daha sonra Tekdüze Dağılım a göre rastgele sayı üretilerek yeni birey oluşturulurken hangi baskın ebeveyn gen ile aynı olacağı belirlenmektedir. Bireydeki bütün genler bu şekilde seçilerek bireyler oluşturulur. Şekil 4.8 Birey ve gen bakımından rulet çarkı yönteminin kıyaslanması Şekil 4.8 den görüleceği üzere gen bakımından rulet çarkı yöntemi ile nesil sayısı az iken iyi sonuca yakın sonuçlar elde edilirken, birey bakımından rulet çarkı yönteminde ise nesil sayısı az iken iyi sonuçlar elde edilememektedir. Bu durum nesil sayısı arttıkça iyileşmektedir. Gen bakımından rulet çarkı yöntemi minimum maliyete sahip hava hava aracı-görev eşleştirmesi yapmaya çalıştığından yerel minimumlara takılmakta, birey bakımından rulet çarkı yöntemi ise zamanla daha iyi sonuçlara yakınsamaktadır. Oluşan yeni nesillerdeki en iyi bireylerin seçilme ihtimalinin artması daha iyi bireylerin üretilmesine ve zamanla daha iyi bireylerin oluşmasını sağlamaktadır. 67

79 Karınca Koloni Optimizasyon Algoritması Daha önceden çalışma prensipleri açıklanan algoritmaların giriş parametreleri değiştirilerek performansta nasıl bir değişim olduğu ve en iyi sonuca nasıl ulaşılabileceği araştırılmak amacı ile çeşitli denemeler yapılmıştır. Bu denemelerde Görev Sayısı = 18, Hava Aracı Sayısı = 15 olacak şekilde aralığında rastgele üretilmiş olan değerlerin oluşturduğu bir Maliyet Matrisi göz önünde bulundurularak sonuçlar kıyaslanmaya çalışılmıştır. Çizelge 4.13 Karınca Kolonisi Optimizasyon Algoritması çeşitleri Salgı maddesi güncellemesinde kullanılan Maliyet tipi Öncü karıncaların atanma tipi KKO1 Toplam Maliyet Rulet Çarkı Prensibi KKO2 Yerel Maliyet Rulet Çarkı Prensibi KKO3 Toplam Maliyet Rastgele KKO4 Yerel Maliyet Rastgele Kıyaslama işlemlerinde başarımın belirlenmesi amacı ile bağımsız Monte Carlo simülasyonları yaklaşımı uygulanmıştır. Bu simülasyon işlemlerinde bağımsız Monte Carlo koşusu sayısı yine 100 değeri seçilmiş, aynı kriterler altında Karınca Kolonisi Optimizasyon Algoritması ile elde edilen sonuçlar hakkında genel bir sonuca ulaşılmaya çalışılmıştır. Bu kıyaslama işleminde öncelikli olarak yukarıdaki 4 Karınca Kolonisi Algoritması kendi aralarında çeşitli parametre değerleri değiştirilerek bir sonuca ulaşılmaya çalışılacak daha sonrada bütün algoritmaların aynı veri seti ve aynı parametre değerlerine karşı vermiş olduğu en iyi toplam maliyetleri iterasyon sayısı 30 olacak şekilde nasıl bir değişiklik gösterdiği kıyaslanmıştır. Algoritmalar çalıştırılırken başlangıç parametre değerleri α = 2, β = 2, = 0.3, Karınca Sayısı = 10, İterasyon Sayısı = 30, Q = 1 olacak şekilde seçilerek optimal değere ulaşmak için belirli parametre değerleri bulunmaya çalışılmıştır. Başlangıç değerlerinin böyle seçilmesinin nedenleri, şu şekilde açıklanabilir: 68

80 - α değerinin büyük seçilmesi durumunda, salgı maddesi maddesine bağlılığı artıracak ve buna bağlı olarak çeşitlilik azalacaktır. Küçük seçilmesi durumunda ise daha önceki karıncaların bırakmış olduğu salgı maddesinin önemi düşürülmüş olacak ve optimal değere yakınlaşmaktansa rastgeleliğe göre sonuç bulunmaya çalışılacaktır. - β değerinin büyük seçilmesi ile hava aracı-görev eşleşmeleri sonucu oluşacak olan toplam maliyete bağlılık artacak ve diğer parametrelere bağlılık azalacaktır. β değerinin küçük değerler seçilmesi durumunda ise yapılacak olan atama işlemindeki toplam maliyete bağlılık azalacaktır. -, yani buharlaşma katsayısının büyük seçilmesi, ortamdaki salgı maddesinin çok miktarda buharlaşmasını sağlayacaktır. Bu durumda, ortamda az miktarda bulunan salgı maddesi daha da azalacak, belki de yok olacaktır; bu şekilde seçilme oranı gereğinden fazla azaltılmış olacaktır. Öte yandan buharlaşma katsayısını artırmak çeşitliliği artıracaktır. - Karınca Sayısının büyük seçilmesi durumunda optimal sonuca çabuk ulaşılması sağlanırken, Karınca Sayısının artması ile algoritma yapılacak işlem sayısı da artacağından sonuca ulaşma süresi artacaktır. Karınca Sayısının küçük değerler seçilmesi de optimal sonuca kısa sürede ulaşılmasını önleyeceğinden problemin büyüklüğüne göre problemdeki matris boyutunun büyüklüğüne eşit veya daha fazla miktar seçilmesinin iyi sonuca ulaşmada yardımcı olabileceği gözlemlenmiştir. - İterasyon Sayısının büyük seçilmesi, Karınca Sayısında olduğu gibi algoritmadaki işlem yükünü artıracak ve dolayısı ile algoritmanın sonuca ulaşma süresini uzatacaktır. Bu yüzden ortalama bir değer seçilmesi beklenen bir durumdur. - Q parametresi salgı maddesi miktarının ne kadar konulacağını belirleyen bir parametre olduğundan; dolaylı olarak sonraki adımlardaki karıncaları etkileyecek ve onların en iyi sonuca ulaşmasında yardımcı olacaktır. Q oranı çok küçük değerler seçilirse ortamda salgı maddesi olmayan bölgeler ile salgı maddesi olan alanlar arasında çok büyük bir fark olmayacak, bundan dolayı da optimal sonuca ulaşmada Karınca Koloni Optimizasyonu Algoritması faydalı 69

81 olamayacaktır. Q değerinin çok büyük değerler seçilmesi durumunda da salgı maddesi bırakılan bölgeler ile hiç salgı maddesi olmayan bölgeler arasında çekicilik miktarı yönünden çok büyük bir oran olacak ve bu da çeşitliliği önleyeceğinden istenilmeyen bir durumdur. Bu nedenle parametre değerleri iyi sonuçları elde edebilecek değerler seçilmiştir. Bu değerler ile kesin olarak optimal değere ulaşılacağı gibi bir iddia söz konusu değildir. Bu değerler, sadece referans alınmış, parametre değerleri değiştirilip en uygun değer bulunarak optimal sonuç gözlemlenmeye çalışılmıştır. Bu parametre değerleri değiştirildiğinde daha önceden belirtilmiş olan 4 Karınca Koloni Optimizasyon Algoritmasının optimal sonuçlara ulaşmada nasıl değişiklik olduğu gözlemlenmeye çalışılmıştır. i. α parametresinin performans üzerindeki etkisi Diğer parametre değerlerini sabit tutarak sadece α parametresinin değerini 0.1, 1, 2, 5, 20 olacak şekilde değiştirilmesine ait olan sonuçlar Şekil 4.9 daki gibidir. Şekil 4.9 α = 0.1, 1, 2, 5, 20 değerleri için sonuçlar 70

82 Şekil 4.9 daki grafiklerden görüleceği üzere α değerinin büyük olduğu değerlerde toplam maliyete çok kısa zamanda ulaşılırken lokal minimum değerlerine takılı kalınmaktadır. α=1olduğu değerde optimal sonuçlara ulaşılmaktadır. Daha önceden belirtildiği gibi α parametresi salgı maddesine bağlılığı artırırken bu durumda diğer parametre değerlerine bağlılığı azaltacak ve bu durumda çeşitlilik azalacağından salgı maddesine bağlılığı çok az kullanmayacak olan, salgı maddesine de çokta bağlı olmayan bir parametre değeri olan 1 değeri seçilmiştir. KKO2 algoritmasında α değerinin küçük seçilmesi daha optimal sonuca ulaşılmayı sağlamaktadır ama daha önceden belirtildiği gibi bu durum diğer parametre değerlerine bağlılığa neden olacağından tercih edilmeyecek bir durumdur. ii. β parametresinin performans üzerindeki etkisi Diğer parametre değerlerini sabit tutarak sadece β parametresinin değerini 0.1, 1, 2, 5, 20 olacak şekilde değiştirilmesine ait olan sonuçlar Şekil 4.10 daki gibidir. Şekil 4.10 β = 0.1, 1, 2, 5, 20 değerleri için sonuçlar 71

83 Şekil 4.10 da görüleceği üzere β değerinin büyük olduğu değerlerde algoritma optimal değere daha 2. iterasyonda ulaşırken β değeri küçüldüğü durumlarda optimal değere yaklaşması zaman almakta bazı durumlarda da ulaşamamaktadır. β değerinin etkilediği toplam maliyete bağlılık için uygun bir değer seçilmelidir. Bu değer çok büyük seçilmesi durumunda daha önceden belirtildiği üzere optimal sonuca kısa zamanda ulaşılırken diğer parametre değerlerine bağlılığı azaltacaktır. Bunun için 2 değeri hem kısa zamanda optimal değere ulaşmada yardımcı olurken hem de atamadaki toplam maliyete bağlılıkta uygun bir seviyede tutulacaktır. iii. parametresinin performans üzerindeki etkisi Diğer parametre değerlerini sabit tutarak sadece parametresinin (buharlaşma katsayısı) değerini 0.1, 0.3, 0.5, 0.9, 1 olacak şekilde değiştirilmesine ait olan sonuçlar Şekil 4.11 deki gibidir. Şekil 4.11 =0.1, 0.3, 0.5, 0.9, 1 değerleri için sonuçlar 72

84 Şekil 4.11 den görüleceği üzere buharlaşma katsayısını büyütmek erken zamanda optimal değere ulaşılmasını sağlamakta ama ilerleyen aşamalarda KKO3 ve KKO4 te istenilesi sonuçlara ulaşılabiliyorken; KKO1 ve KKO2 de ise buharlaşma katsayısının küçük seçildiği durumlarda yeterli iterasyon işleminden sonra daha iyi bir toplam maliyete ulaşılmaktadır. Bu durumda diğer parametre değerlerine göre bu değer değişiklik gösterebileceği gibi beklenen durum çeşitliliğin sağlanmasında yardımcı olacak olan 0.9 değerinin seçilmesidir. Bu değer ile çeşitlilik artacak ve yeni sonuçlara ulaşma ihtimali artacağından seçilmesi gereken değer 0.9 değeridir. Bu grafiklerde 1 değeri salgı maddesinin tamamının buharlaşmasına neden olacak ve yeni seçilecek olan atamalar geçmiş bilgisi olmadan yapılacaktır. Bu yüzden optimal sonuçlara ulaşılamamakta ve yüksek seviyeli lokal minimum değerlerine takılmaktadır. iv. Karınca Sayısı parametresine göre Diğer parametre değerlerini sabit tutarak sadece Karınca Sayısı parametresinin değerini 3, 10, 20, 50, 100 olacak şekilde değiştirilmesine ait olan sonuçlar Şekil 4.12 deki gibidir. 73

85 Şekil 4.12 Karınca Sayısı = 3, 10, 20, 50, 100 değerleri için sonuçlar Şekil 4.12 de görüldüğü üzere Karınca Sayısının artması toplam maliyet bakımından daha optimal bir değere ulaşılmasını ve bu seviyeye kısa zamanda ulaşılmasını sağlamaktadır. Bunun nedeni Karınca Sayısının artması ile daha çok atama kıyaslanabilecek ve bunun sonucunda da çeşitlilik artacaktır. Bu sırada işlem sayısında dolaylı olarak artacağından algoritmanın sonuca ulaşma süresi artacaktır. Bu yüzden kısa zamanda iyi sonuçlara ulaşmaya yardımcı olan Karınca Sayısı= 20 değerinin seçilmesi daha doğru olacaktır. Çizelge 4.14 te de Karınca Koloni Algoritmalarının tamamlanma süreleri verilmiştir. Çizelge 4.14 Karınca Sayısına göre algoritmaların gerçeklenme süresi 3 karınca 10 karınca 20 karınca 50 karınca 100 karınca KKO1 6.5 sn 21 sn 42 sn 104 sn 209 sn KKO2 2 sn 6 sn 12 sn 30 sn 59 sn 74

86 KKO3 6.5 sn 22 sn 43 sn 107 sn 227 sn KKO4 2 sn 6 sn 12 sn 29 sn 58 sn v. İterasyon Sayısı parametresinin performans üzerindeki etkisi Diğer parametre değerlerini sabit tutarak sadece İterasyon Sayısı parametresinin değerini 5, 10, 30, 50, 100 olacak şekilde değiştirilmesine ait olan sonuçlar Şekil 4.13 teki gibidir. Şekil 4.13 İterasyon Sayısı = 5, 10, 30, 50, 100 değerleri için sonuçlar Şekil 4.13 te görüldüğü üzere İterasyon Sayısını değiştirerek ulaşılan toplam maliyet yönünden optimal değerler yaklaşık olarak 10 iterasyondan sonra yakalanmaktadır. 5 iterasyonda yeterli bir optimal seviyeye ulaşılamayacaktır. 30 iterasyonda kesin olarak optimal değere ulaşılacağından parametre değeri olarak bu değer seçilmelidir. İterasyon Sayısı arttıkça karıncaların kendi bilgilerini geliştirme durumu devamlılık göstereceğinden optimal yönden iyi sonuçlara ulaşılmaktadır. İterasyon Sayısını 75

87 artırınca bireyler kendi toplam maliyetlerini daha iyi bir optimal seviyeye çekmeye çalışacaktır. Karıncalar belirli bir seviyeden sonra kendi gelişimlerini tamamlayacağından belirli bir iterasyon sonrasında gelişme işlemi duracaktır. İterasyon Sayısının artması ile Karınca Sayısının artmasında olduğu gibi algoritmanın tamamlanma süreleri farklılık göstermektedir. Optimal değeri yakaladıktan sonra bu değerde durağan bir duruma gelinmesini sağlayan 30. İterasyon iyi bir sonuç olarak göz önünde bulundurulabilir. Karınca Koloni Algoritmalarının gerçeklenme süreleri çizelge 4.15 teki gibi olacaktır. Çizelge 4.15 İterasyon Sayısına göre algoritmaların gerçeklenme süresi 5 iterasyon 10 iterasyon 30 iterasyon 50 iterasyon 100 iterasyon KKO1 3.5 sn 7 sn 21 sn 35 sn 70 sn KKO2 1sn 2 sn 6 sn 10 sn 20 sn KKO3 3.5sn 7 sn 22 sn 36 sn 72 sn KKO4 1 sn 2 sn 6 sn 10 sn 20 sn vi. Q parametresinin performans üzerindeki etkisi Diğer parametre değerlerini sabit tutarak sadece Q parametresinin değerini 0.01, 1, 100, olacak şekilde değiştirilmesine ait olan sonuçlar Şekil 4.14 teki gibidir. 76

88 Şekil 4.14 Q = 0.01, 1, 100, değerleri için sonuçlar Şekil 4.14 teki grafiklerden elde edilen sonuç Q = 0.01 değeri ile toplam maliyet bakımından optimal sonuçlara ulaşılmaktadır. Q değeri ile salgı maddesinin salınacağı miktar belirlendiği için karıncalar tarafından salınacak olan salgı madde miktarının küçük seviyelerde seçilmesi optimal sonuca ulaşılmasını sağlamaktadır. Buradan çıkan sonuç salgı maddesi miktarı az oranda salınırsa bütün Karınca Koloni Algoritmaları ile iyi sonuç vermektedir Değişken Parametreli Karınca Kolonisi Optimizasyon Algoritması Karınca Kolonisi Algoritması algoritmalarında elde edilen sonuçlar; toplam maliyet bakımından iyileştirilmek istenebilir. Karınca Koloni Algoritmalarında parametre değerlerini (α, β, ) artırınca algoritma daha kısa zamanda toplam maliyet bakımından iyi sonuçlara ulaştığı, parametre değerlerini azaltınca ise uzun vadede toplam maliyet 77

89 bakımından daha iyi sonuçlara ulaşıldığı görülmüştü. Bu nedenle α, β, değerlerini zaman içinde değiştirip değişken parametreli bir algoritma ile toplam maliyet bakımından zamanda daha iyi sonuçlar elde edilmeye çalışılabilir. Bu işlem için uygulanacak parametre değerleri şu şekildedir: α=5, 2, 1, β=5, 2, 1, =0.9, 0.5, 0.1. Unutulmamalıdır ki uygulanacak olan parametre değerlerinin uygulanma sırası önem teşkil etmektedir. Daha önceden Karınca Kolonisi Algoritmalarında kullanılan aralığında rastgele üretilmiş olan değerlerin oluşturduğu Maliyet Matrisi Görev Sayısı = 18, Hava Aracı Sayısı = 15 olacak şekilde kullanılarak sonuçlara ulaşmaya çalışılmıştır. Algoritmada kullanılan parametre değerleri α=2, β= 2, = 0.3,Karınca Sayısı = 10, İterasyon Sayısı = 30, Q = 1 olacak şekilde algoritma çalıştırılacak, değişken parametreli algoritmada değişikliği gözlemlenmek istenen parametre değeri yukarıda da verildiği şekilde zaman içinde değiştirilerek toplam maliyet bakımından daha iyi sonuç elde edilmeye çalışılacaktır. Elde edilen sonuç değerleri sabit parametre değerleri ile oluşturulmuş olan Karınca Kolonisi Algoritması ile elde edilen sonuç ile karşılaştırılacaktır. Bu işlem daha önceden denenmiş olan 4 adet Karınca Kolonisi Algoritması algoritmaları (KKO1, KKO2, KKO3, KKO4) için tekrarlanacaktır. Parametre değerlerinin sayısına göre iterasyonun kaçıncı değerinde istenen parametrenin değişeceği ayarlanmaktadır. Oluşturduğumuz değişken parametreli algoritmalarda parametreler 3 farklı değer olacak şekilde değişecektir. İterasyon Sayısı=30 olduğu için 30/3=10 iterasyonda parametre değeri değiştirilecektir. 78

90 i. α parametresinin performans üzerindeki etkisi Şekil 4.15 α = 5, 2, 1 değerleri için sonuçlar Şekil 4.15 ten görüleceğı üzere değişken parametreli karınca kolonisi algoritmalarından KKO1 ve KKO2 algoritmaları ile ilk olarak iyi sonuçlara ulaşılmaktadır. Daha sonradan normal karınca koloni algoritması optimal toplam maliyet değerini yakalamakta hatta KKO2 ile daha iyi sonuçlar elde edilebilmektedir. 79

91 ii. β parametresinin performans üzerindeki etkisi Şekil 4.16 β = 5, 2, 1 değerleri için sonuçlar Şekil 4.16 dan görüleceği üzere β değeri ile toplam maliyet veya lokal maliyete bağlı olarak optimal maliyetli atamalar çok kısa zamanda yakalanırken zaman içinde maliyet değerine bağlılık artacağından ve bu nedenle lokal minimum değerine takılacağından parametre değerleri değişken parametreli karınca kolonisi algoritmalarından KKO1 ve KKO2 algoritmaları ile ilk olarak iyi sonuçlara ulaşılmaktadır. Daha sonradan normal karınca koloni algoritması optimal toplam maliyet değerini yakalamakta hatta KKO2 ile daha iyi sonuçlar elde edilebilmektedir. Bu durumun nedeni ilk 10 iterasyonda salgılanan feromon maddesi miktarı maliyet bakımından iyi olan bölgelere çokça bırakılacak ve sonraki aşamalarda da önceden fazlaca bırakılmış olan salgı maddeleri sonraki aşamaları da etkilemektedir. 80

92 iii. parametresinin performans üzerindeki etkisi Şekil 4.17 = 0.9, 0.5, 0.1 değerleri için sonuçlar Şekil 4.17 den görüleceği üzere değerini değiştirerek kısa zamanda optimal değerlere ulaşılmış ama zaman içinde lokal minimum değerlere takılı kalınmıştır. Buharlaşma oranı değeri ile ilk başta beklendiği üzere hızlı bir şekilde yakınsarken, daha sonra iyi sonuçlar yakalanamamış ve normal karınca kolonisi optimizasyon algoritması daha iyi sonuçlar vermiştir Dağılım Kestirim Algoritması Çizelge 4.1 de verilmekte olan veri seti için elde edilen sonuçlar eşik seviyesi, kesme limiti değeri ve birey sayısına göre kıyaslama yapılacaktır. Bu kıyaslamalar ile bir sonuç çıkarımı yapılmak istenmekte ve toplam maliyet bakımından görev hava aracı eşleştirmesini yaparak en iyi optimal maliyete ulaşılmaya çalışılacaktır. Daha önceden 81

93 belirtildiği gibi iki çeşit algoritma tanımlanmıştır. Bu algoritmaların atama işleminde minimum değere sahip hava aracının atanmasına Minimum Atamalı Dağılım Kestirim Algoritması, eşik seviyesinin altında bir maliyete sahip hava araçları arasından rastgele birinin atandığı algoritmaya ise Rastgele Atamalı Dağılım Kestirim Algoritması ismi ile bahsedilecektir. Algoritmanın başlangıç parametre değerleri kesme limiti = 0.3, eşik seviyesi = 50, birey sayısı=20, iterasyon sayısı=50 olacak şekilde başlamakta ve gerekli parametre değerleri değiştirilerek sonuçlar kıyaslanacaktır. i. Eşik seviyesi =10 için sonuçlar Eşik seviyesi 10 alınması durumunda kesme limiti değerini değiştirmemiz sonucunda elde edilen sonuçlar Şekil 4.18 deki gibi olmaktadır. Buradan çıkarılacak sonuç ise kesme limiti değerini yüksek seçtiğimizde algoritma yeterli iterasyona ulaşınca optimal değerin yakalanmasında yardımcı olmaktadır. Optimal değer 400 civarı bir değerdir. Şekil 4.18 Eşik seviyesi =10 için limit seviyesi değeri kıyaslaması 82

94 Şekil 4.19 Eşik seviyesi =10 için birey sayısı kıyaslaması Birey sayısının artırılması ile algoritmanın ulaştığı optimal sonuca yaklaşılmaktadır. Bununla birlikte optimal değere ulaşma süresi işlem sayısı artacağından artacaktır. Birey sayısını artırarak 20 birey ile yakalanan 400 değerinden daha iyi sonuçlar elde edilmektedir. ii. Eşik seviyesi =30 için sonuçlar Şekil 4.20 Eşik seviyesi =30 için limit seviyesi değeri kıyaslaması Eşik seviyesi değeri 30 değeri seçildiğinde görüleceği üzere eşik seviyesi = 10 olması durumundan daha iyi bir sonuç elde edilmiştir. Bunun nedeni eşik seviyesi = 10 iken üretilen atamalarda çeşitlilik yeteri kadar yokken uygun bir değer seçildiğinde uygun bir optimum değere yakınsandığı Şekil 4.20 de görülebilmektedir. 83

95 Birey sayısının artırılması ile beklendiği gibi süre artıyor olsa da daha iyi bir optimal sonuca yakınsanmaktadır. Birey sayısına göre kıyaslama grafiği Şekil 4.21 deki gibidir. Şekil 4.21 Eşik seviyesi =30 için birey sayısı kıyaslaması iii. Eşik seviyesi =50 için sonuçlar Eşik seviyesi 50 değeri için elde edilen sonuçlar eşik seviyesi=30 değerine göre daha kötüdür. Bunun nedeni 30 değerinde optimal maliyetler ile işlem yapılmaya çalışılırken 50 seviyesi daha büyük ve optimal sonuçların yakalanmasını zorlaştıracak atamalar yapılmasını sağlamakta ve toplam maliyet bakımından daha kötü sonuçlar elde edilecek şekilde atama işlemi yapılmaktadır. Şekil 4.22 Eşik seviyesi =50 için limit seviyesi değeri kıyaslaması Birey sayısı ile süre artmasının yanında optimal değere yaklaşılmaktadır. 84

96 Şekil 4.23 Eşik seviyesi =50 için birey sayısı kıyaslaması iv. Eşik seviyesi =90 için sonuçlar Eşik seviyesinin yüksek tutulması optimal sonuçlara erişilmesini engellemektedir çünkü yüksek maliyetlerinde atama işleminde kullanılmasına izin verilmektedir. Şekil 4.24 Eşik seviyesi =90 için limit seviyesi değeri kıyaslaması Birey sayısının artması diğer durumlarda olduğu gibi optimal sonuca ulaşılmasına yardımcı olmasına rağmen bu optimal değer diğer parametre değerlerine göre daha kötü bir değerdir. 85

97 Şekil 4.25 Eşik seviyesi =90 için birey sayısı kıyaslaması Elde edilen simülasyon sonuçlarına göre Karınca Kolonisi Algoritması en iyi sonucu veren algoritma olup Karınca Koloni Algoritmasının 4 adet tipi arasından da maliyet açısından kısa zamanda optimal sonuçlara ulaşılmaktadır. KKO2 algoritmasının başlangıç parametre değerleri α = 1, β = 2, = 0.1, Karınca Sayısı = 20, İterasyon Sayısı = 30, Q = 0.01 olacak şeklinde seçilerek optimal değere ulaşıldığı gözlemlenmiştir. 4.2 Nihai Ürün (Java) Günümüzde Atama Problemlerinin çözümünde kullanılmak üzere çeşitli yazılım ürünlerine ihtiyaç vardır. Bu ürünler yardımı ile planlaması yapılacak olan makine/hava aracı-görev eşleştirmesi yapılarak en iyi sonuç veya kısa zamanda en iyi sonuca yakın bir değerin elde edilmesine ihtiyaç vardır. Matlab 2011a ortamında oluşturulan yazılım platformunda elde edilen benzetim sonuçları yardımı ile atama problemlerini çözebilen bir yazılım ürünü üretilmesi gerekmiştir. Java yazılım ortamında atama problemlerini otomatik olarak çözen ve hava aracı-görev eşleştirmesi için sonuçları görsel arayüz ekranında gösteren bir yazılım ürünü üretilmiştir. Bu ürün oluşturulurken Türk Silahlı Kuvvetlerinin envanterinde bulunan hava araçları ve bu hava araçlarının sahip olduğu çeşitli teknik özellikler göz önünde bulundurulmuştur. Hava aracı-görev eşleştirmesi yapılırken bazı kıstaslar altında eşleştirme yapılmaktadır. Bu kıstaslar şu şekildedir: 86

98 i. Bütün görevler yapılmaya çalışılacaktır. ii. iii. Hava aracı-görev eşleştirmesi yapılırken hava aracında bulunan yakıtın yeterli olmasına dikkat edilerek minimum miktarda yakıt kullanılarak görevlerin tamamlanmasına çalışılacaktır. Hava aracı-görev eşleştirmesi sırasında her bir hava aracına maksimum iki görev atanabilecektir Görsel Arayüz Yazılım ilk çalıştırıldığında Taktik Komut Ekranı adı verilenbir arayüz ekranı açılmaktadır. Ortada dünya haritası bir başka deyişle Sayısal Coğrafi Harita, solda ise çeşitli girdi özelliklerinin (uçak tipi, görev sahası tipi,...) ayarlanabildiği yazılım bileşenlerinin ağacı olarak isimlendirilen bir ekran ve sağda ise çeşitli bilgilerin (görev sahası koordinatları, uçak rotası,...) gösterildiği bir ekranla karşılaşılmaktadır. Hava aracı, hava meydanı, görev sahası,... bulunduğu koordinatlar ve hava aracı-görev eşleştirmelerine ait rotalar yerleştirilirken bulunulan koordinatın coğrafi özelliklerinin de göz önünde bulundurulmak istenilebileceği düşünülerek 3 boyutlu bir şekilde görselleştirme yapılmıştır. Ekrandaki bir noktaya tıklanarak farenin orta tıklama topu tuşu ileri geri oynatılarak haritaya yakınlaşma ve uzaklaşma işlemi yapılabilmektedir. Ayrıca farenin sol tuşuna basılı tutularak farenin oynatılması ile 3 boyutlu görüntü elde edilebilmektedir. Ekranda önemli şehirlerde gösterilerek kullanıcı bilgilendirilmeye çalışılmıştır. Haritanın üst tarafında yer alan küçük dünya haritası ve pusula yardımı ile de kullanıcıya yardımcı olunmaya çalışılmıştır. Şekil 4.26 da Dünya Haritası uzaktan gösterilirken, Şekil 4.27 de ise Türkiye Haritası yakından gösterilmektedir. 87

99 Şekil 4.26 Görsel Arayüz (Dünya Haritası) 88

100 Şekil 4.27 Görsel Arayüz (Türkiye Haritası) 89

101 4.2.1 Nihai Üründeki Algoritmalar Minimum maliyete sahip hava aracı-görev eşleştirmeleri yapılarak otomatik bir rota planlaması yapılmak istenmektedir. Daha önceden belirlenen bütün görevler yapılacaktır, hava aracı -görev eşleştirmesi yapılırken hava aracında bulunan yakıtın yeterli olmasına dikkat edilecektir ve hava aracı -görev eşleştirmesi sırasında her bir hava aracına maksimum iki görev atanabilecektir kıstasları göz önünde bulundurularak atama problemleri çözümüye çalışılmaktadır. Daha önceden Matlab 2011a ortamında performans kıyaslamaları yapılan algoritmalardan bütün olası çözümler arasında en iyi çözümü veren Kaba Kuvvet Algoritması, kısa zamanda maliyet bakımından en iyi sonuca yakın çözümlerin bulunmasını sağlayan Genetik Algoritma ve Karınca Kolonisi Optimizasyon Algoritması Java yazılım ortamında derlenerek hava aracı -görev eşleştirmelerine ait olan rotalar elde edilmeye çalışılmıştır. Atama problemine ait çözümler iki adet senaryo için koşturulmuştur. 1.senaryo : 4 hava aracı (1.hava aracı koordinatı: (enlem, boylam, yükseklik) , , (Kocaeli), 2.hava aracı koordinatı: , , (Ankara), 3.hava aracı koordinatı: , , (Diyarbakır), 4.hava aracı koordinatı: , , (Balıkesir)) ile 6 adet görevin yapılarak 3 hava meydanından (1.hava meydanı koordinatı: , , (Diyarbakır), 2.hava meydanı koordinatı: , , (Eskişehir), 3.hava meydanı koordinatı: , , (Ankara)) birisine inmesi şeklinde olup, 2.senaryo : 4 hava aracı (1.hava aracı koordinatı: (enlem, boylam, yükseklik) , , (Kocaeli), 2.hava aracı koordinatı: , , (Ankara), 3.hava aracı koordinatı: , , (Diyarbakır), 4.hava aracı koordinatı: , , (Balıkesir)) ile 7 adet görevin yapılarak 3 hava meydanından (1..hava meydanı koordinatı: , , (Diyarbakır), 2.hava meydanı koordinatı: , , (Eskişehir), 3.hava meydanı koordinatı: , , (Ankara)) birisine inmesi şeklindedir. Şekil 4.34 te 1.senaryoya ait olan koordinatlar görsel arayüz ekranında gösterilmiştir. 90

102 Şekil Senaryoya ait koordinat görselleri ekranı Nihai Üründeki Kaba Kuvvet Algoritması Java yazılım ortamındaki Kaba Kuvvet Algoritması ile hava araçları-görevler ile eşleştirilerek herbir hava aracına maksimum iki görev verilecek şekilde eşleştirmeler yapılmakta ve olası çözümler arasındaki en minimum maliyete sahip çözüm probleme ait minimum maliyetli çözümü belirtmektedir. Şekil 4.35 te 1.senaryoya ait Kaba Kuvvet Algoritması sonuçları görülürken Şekil 4.36 da ise 2.senaryoya ait Kaba Kuvvet Algoritması sonuçları görülmektedir. Hava araçlarının görevleri yerine getirmesi sonucunda 1.senaryo için oluşacak toplam maliyet 560 litre yakıt iken 2.senaryo için oluşacak toplam maliyet 634 litre yakıttır. 91

103 Şekil Senaryoya ait Kaba Kuvvet Algoritması sonuç görseli ekranı Şekil Senaryoya ait Kaba Kuvvet Algoritması sonuç görseli ekranı Nihai Üründeki Genetik Algoritma Java yazılım ortamındaki Genetik Algoritma ile hava araçları-görevler ile eşleştirilerek herbir hava aracına maksimum iki görev verilecek şekilde eşleştirmeler yapılmakta ve kısa sürede en iyi maliyetli çözüme yakın bir çözüm elde edilip buna ait rota belirlenmektedir. Matlab yazılım ortamında elde edilen performans sonuçlarına göre 92

104 Çaprazlama Oranı = %70, Mutasyon Oranı = %50, Nesil Sayısı = 100, Nüfus Büyüklüğü=100 parametre değerleri ile kısa zamanda maliyet bakımından iyi sonuçlara ulaşılmaktadır. Genetik algoritma ile maksimum iki görev yapılacak şekilde uyarlamak için bir karıştırıcı mekanizması kullanılmaktadır. Bu karıştırıcı mekanizmasında hava aracı-görev eşleştirmeleri yapılarak hava aracının daha önceden yapılan eşleştirmeler sonucunda ikiden fazla görev ile eşleştirilip eşleşmediğine bakılarak eğer daha önceden iki görev eşleştirmesi yapıldıysa yapılacak olan görev başka bir hava aracına eşleştirilecek şekilde geri kalan atamalar tamamlanmaktadır. Java ortamında derlenen Genetik Algoritmada Elitism Oranı ortadan kaldırılmış yerine Selection mekanizması adı verilen yöntem konulmuştur. Selection yönteminde eşleştirilebilecek olan olası çözümlere maliyet bakımından rulet çarkı yöntemi uygulanarak az maliyet ile yapılabilecek olan atamalar yani baskın bireylerin hayatta kalma şansının fazla olacağı düşünülerek atamalar yapılmaktadır. Şekil 4.37 de 1.senaryoya ait Genetik Algoritma sonuçları görülürken Şekil 4.38 da ise 2.senaryoya ait Genetik Algoritma sonuçları görülmektedir. Hava araçlarının görevleri yerine getirmesi sonucunda 1.senaryo için oluşacak toplam maliyet 560 litre yakıt iken 2.senaryo için oluşacak toplam maliyet 634 litre yakıttır, yani her iki senaryo içinde maliyet bakımından en iyi sonuç yakalanmıştır. Şekil Senaryoya ait Genetik Algoritma sonuç görseli ekranı 93

105 Şekil Senaryoya ait Genetik Algoritma sonuç görseli ekranı Nihai Üründeki Karınca Kolonisi Optimizasyon Algoritması Java yazılım ortamındaki Karınca Kolonisi Optimizasyon Algoritması ile hava araçlarıgörevler ile eşleştirilerek herbir hava aracına maksimum iki görev verilecek şekilde eşleştirmeler yapılmakta ve kısa sürede en iyi maliyetli çözüme yakın bir çözüm elde edilip buna ait rota belirlenmeye çalışılmaktadır. Matlab yazılım ortamında elde edilen performans sonuçlarına göre α = 1, β = 1, = 0.7, Karınca Sayısı = 100, İterasyon Sayısı = 100, Q = 10 parametre değerleri ile kısa zamanda maliyet bakımından iyi sonuçlara ulaşılmaktadır. Karınca Kolonisi Optimizasyon Algoritması ile maksimum iki görev yapılacak şekilde uyarlamak için bir karıştırıcı mekanizması kullanılmaktadır. Bu karıştırıcı mekanizmasında hava aracı-görev eşleştirmeleri yapılarak hava aracının daha önceden yapılan eşleştirmeler sonucunda ikiden fazla görev ile eşleştirilip eşleşmediğine bakılarak eğer daha önceden iki görev eşleştirmesi yapıldıysa yapılacak olan görev başka bir hava aracına eşleştirilecek şekilde geri kalan atamalar tamamlanmaktadır. Şekil 4.39 da 1.senaryoya ait Karınca Kolonisi Optimizasyon Algoritması sonuçları görülürken Şekil 4.40 da ise 2.senaryoya ait Karınca Kolonisi Optimizasyon Algoritması sonuçları görülmektedir. Hava araçlarının görevleri yerine getirmesi sonucunda 1.senaryo için oluşacak toplam maliyet 593 litre yakıt iken 94

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ı

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ı

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ı

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ı

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ı

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ı

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü ULAŞTIRMA MODELİNİN TANIMI Ulaştırma modeli, doğrusal programlama probleminin özel bir şeklidir.

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ı

Her bir polis devriyesi ancak bir çağrıyı cevaplayabilir. Bir çağrıya en fazla bir devriye atanabilir.

Her bir polis devriyesi ancak bir çağrıyı cevaplayabilir. Bir çağrıya en fazla bir devriye atanabilir. 7. Atama Modelleri: Atama modelleri belli işlerin veya görevlerin belli kişi veya kurumlara atanması ile alakalıdır. Doğrusal programlama modellerinin bir türüdür ve yapı itibariyle ulaştırma modellerine

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ı

KARAR TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

KARAR TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü KARAR TEORİSİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Karar Ortamları Karar Analizi, alternatiflerin en iyisini seçmek için akılcı bir sürecin kullanılması ile ilgilenir. Seçilen

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ı

2 e-posta: aeyilmaz@eng.ankara.edu.tr

2 e-posta: aeyilmaz@eng.ankara.edu.tr BULUT AĞLARINA YÖNELİK DAĞINIK ÖNBELLEK YÖNETİM SİSTEMİ NDE FARKLI OPTİMİZASYON VE ATAMA TEKNİKLERİNİN PERFORMANS KARŞILAŞTIRMASI Hüseyin Seçkin Dikbayır 1 Asım Egemen Yılmaz 2 Ali Arda Diri 3 1,3 Dirisoft

Detaylı

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ı

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ı

YÖNEYLEM ARAŞTIRMASI - I

YÖNEYLEM ARAŞTIRMASI - I YÖNEYLEM ARAŞTIRMASI - I 1/71 İçerik n Bulunması Kuzey-Batı Köşe Yöntemi En Küçük Maliyetli Göze Yöntemi Sıra / Sütun En Küçüğü Yöntemi Vogel Yaklaşım Metodu (VAM) Optimum Çözümün Bulunması Atlama Taşı

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ı

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre):

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre): DP SİMPLEKS ÇÖZÜM Simpleks Yöntemi, amaç fonksiyonunu en büyük (maksimum) veya en küçük (minimum) yapacak en iyi çözüme adım adım yaklaşan bir algoritma (hesaplama yöntemi) dir. Bu nedenle, probleme bir

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ı

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü OYUN TEORİSİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü TANIM ''Oyun Teorisi'', iki yada daha fazla rakibi belirli kurallar altında birleştirerek karşılıklı olarak çelişen olasılıklar

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ı

GENETİK ALGORİTMALARA GİRİŞ (III)

GENETİK ALGORİTMALARA GİRİŞ (III) GENETİK ALGORİTMALARA GİRİŞ (III) 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 Bölümü Konuralp 81620

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ı

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ı

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü ULAŞTıRMA MODELININ TANıMı Ulaştırma modeli, doğrusal programlama probleminin özel bir şeklidir.

Detaylı

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA İLERİ ALGORİTMA ANALİZİ 1. Giriş GENETİK ALGORİTMA Geniş çözüm uzaylarının klasik yöntemlerle taranması hesaplama zamanını artırmaktadır. Genetik algoritma ile kabul edilebilir doğrulukta kısa sürede bir

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ı

ATAMA (TAHSİS) MODELİ

ATAMA (TAHSİS) MODELİ ATAMA (TAHSİS) MODELİ ATAMA (TAHSİS) MODELİ Doğrusal programlamada kullanılan bir başka hesaplama yöntemidir. Atama problemleri, doğrusal programlama (simpleks yöntem) veya transport probleminin çözüm

Detaylı

Montaj Hatti Tasarımı ve Analizi - 8

Montaj Hatti Tasarımı ve Analizi - 8 Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü 2017-2018 Bahar Yarıyılı Montaj Hatti Tasarımı ve Analizi - 8 Yrd. Doc. Dr. Ibrahim Kucukkoc http://ikucukkoc.baun.edu.tr Tek Modelli Düz MHD Problemlerinin

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ı

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ı

Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla Eniyilemesi ve Karşılaştırılması

Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla Eniyilemesi ve Karşılaştırılması Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü Dergisi Suleyman Demirel University Journal of Natural andappliedscience 18(1), 8-13, 2014 Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla

Detaylı

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Sıralama Problemi ve Analizi Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Problemi ve Analizi Bu bölümde öncelikle bir diğer böl-ve-yönet yöntemine dayalı algoritma olan Quick Sort algoritması

Detaylı

SOBA BORUSU AÇINIM LEVHALARININ KESİLMESİNDE MALİYETLERİN ENKÜÇÜKLENMESİ

SOBA BORUSU AÇINIM LEVHALARININ KESİLMESİNDE MALİYETLERİN ENKÜÇÜKLENMESİ SOBA BORUSU AÇINIM LEVHALARININ KESİLMESİNDE MALİYETLERİN ENKÜÇÜKLENMESİ Doğan EROL Anadolu Üniversitesi Endüstri Mühendisliği Bölümü 1. PROBLEMİN TANIMLANMASI Şekil - 1'de 5 değişik soba borusu için açınım

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ı

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 (WSPT, Öncelik Kısıtları, Lawler Algoritması, Johnson Algoritması) Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr

Detaylı

Yöneylem Araştırması II

Yöneylem Araştırması II Yöneylem Araştırması II Öğr. Gör. Dr. Hakan ÇERÇİOĞLU cercioglu@gazi.edu.tr BÖLÜM I: Doğrusal Programlama Tekrarı Doğrusal Programlama Tanımı Doğrusal Programlama Varsayımları Grafik Çözüm Metodu Simpleks

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ı

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem 3.2. DP Modellerinin Simpleks Yöntem ile Çözümü 3.2.1. Primal Simpleks Yöntem Grafik çözüm yönteminde gördüğümüz gibi optimal çözüm noktası, her zaman uygun çözüm alanının bir köşe noktası ya da uç noktası

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ı

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ı

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ı

Montaj Hatti Tasarımı ve Analizi - 5

Montaj Hatti Tasarımı ve Analizi - 5 Balıkesir Universitesi, Endustri Muhendisligi Bolumu 2017-2018 Bahar Yariyili Montaj Hatti Tasarımı ve Analizi - 5 Yrd. Doç. Dr. Ibrahim Kucukkoc http://ikucukkoc.baun.edu.tr 2 En Erken ve En Gec Istasyon

Detaylı

KARĐYER YÖNETĐMĐ. Geleceğe yönelik çalışan ihtiyaçlarını iç kaynaklardan sağlayarak çalışan motivasyonunu artırma.

KARĐYER YÖNETĐMĐ. Geleceğe yönelik çalışan ihtiyaçlarını iç kaynaklardan sağlayarak çalışan motivasyonunu artırma. KARĐYER YÖNETĐMĐ Geleceğe yönelik çalışan ihtiyaçlarını iç kaynaklardan sağlayarak çalışan motivasyonunu artırma Kadro yedekleme ile kritik pozisyonlarda oluşabilecek boş kadrolara kısa sürede atamalar

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 Altın Oran (Golden Section Search) Arama Metodu Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f

Detaylı

Montaj Hatti Tasarımı ve Analizi - 7

Montaj Hatti Tasarımı ve Analizi - 7 Balıkesir Universitesi, Endustri Muhendisligi Bolumu 2017-2018 Bahar Yariyili Montaj Hatti Tasarımı ve Analizi - 7 Yrd. Doç. Dr. Ibrahim Kucukkoc http://ikucukkoc.baun.edu.tr 2 TEK MODELLİ U-TİPİ MONTAJ

Detaylı

FABRİKA ORGANİZASYONU Üretim Planlama ve Yönetimi 2. Uygulama: Sipariş ve Parti Büyüklüğü Hesaplama

FABRİKA ORGANİZASYONU Üretim Planlama ve Yönetimi 2. Uygulama: Sipariş ve Parti Büyüklüğü Hesaplama FABRİKA ORGANİZASYONU Üretim Planlama ve Yönetimi 2. Uygulama: Sipariş ve Parti Büyüklüğü Hesaplama Uygulamalar 1. İhtiyaç Hesaplama 2. Sipariş ve Parti Büyüklüğü Hesaplama 3. Dolaşım Akış Çizelgeleme/Terminleme

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ı

JEODEZİK AĞLARIN OPTİMİZASYONU

JEODEZİK AĞLARIN OPTİMİZASYONU JEODEZİK AĞLARIN OPTİMİZASYONU Jeodezik Ağların Tasarımı 10.HAFTA Dr.Emine Tanır Kayıkçı,2017 OPTİMİZASYON Herhangi bir yatırımın gerçekleştirilmesi sırasında elde bulunan, araç, hammadde, para, işgücü

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ı

GENETİK ALGORİTMA İLE RÜZGAR TÜRBİNİ KANAT SAYISI SEÇİMİ

GENETİK ALGORİTMA İLE RÜZGAR TÜRBİNİ KANAT SAYISI SEÇİMİ VI. Ulusal Temiz Enerji Sempozyumu UTES 2006 25 27 Mayıs 2006, Isparta Sf.756 764 GENETİK ALGORİTMA İLE RÜZGAR TÜRBİNİ KANAT SAYISI SEÇİMİ Nida Nurbay ve Ali Çınar Kocaeli Üniversitesi Tek. Eğt. Fak. Makine

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ı

Bu bölümde; Çok ölçütlü karar verme yöntemlerinden biri olan TOPSİS yöntemi anlatılacaktır.

Bu bölümde; Çok ölçütlü karar verme yöntemlerinden biri olan TOPSİS yöntemi anlatılacaktır. ÇOK ÖLÇÜTLÜ KARAR VERME TOPSIS (Technique For Order Preference By Similarity To Ideal Solution) PROF. DR. İBRAHİM ÇİL 1 Bu bölümde; Çok ölçütlü karar verme yöntemlerinden biri olan TOPSİS yöntemi anlatılacaktır.

Detaylı

Toplam maliyete/gelire göre yer seçimi Faktör ağırlıklandırma Başabaş noktası analizi Oyun kuramı

Toplam maliyete/gelire göre yer seçimi Faktör ağırlıklandırma Başabaş noktası analizi Oyun kuramı Anadolu Üniversitesi Mühendislik Fakültesi Endüstri Mühendisliği Bölümü Doç. Dr. Nil ARAS ENM411 Tesis Planlaması 2013-2014 Güz Dönemi Toplam maliyete/gelire göre yer seçimi Faktör ağırlıklandırma Başabaş

Detaylı

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME Hücreleri Biçimlendirme ELEKTRONİK ÇİZELGE Formülleri Kullanma Verileri Sıralama Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME Elektronik Çizelge de sayıları; bin ayracı, yüzde oranı, tarih/saat ve para

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ı

Uzaktan Algılama Teknolojileri

Uzaktan Algılama Teknolojileri Uzaktan Algılama Teknolojileri Ders 11 Hiperspektral Görüntülerde Kümeleme ve Sınıflandırma Alp Ertürk alp.erturk@kocaeli.edu.tr Sınıflandırma Sınıflandırma işleminin amacı, her piksel vektörüne bir ve

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ı

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Eşzamanlı (Senkron) Ardışıl Devrelerin Tasarlanması (Design) Bir ardışıl devrenin tasarlanması, çözülecek olan problemin sözle anlatımıyla (senaryo) başlar. Bundan sonra aşağıda açıklanan aşamalardan geçilerek

Detaylı

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I 4.1. Dışbükeylik ve Uç Nokta Bir d.p.p. de model kısıtlarını aynı anda sağlayan X X X karar değişkenleri... n vektörüne çözüm denir. Eğer bu

Detaylı

Montaj Hatti Tasarımı ve Analizi - 7

Montaj Hatti Tasarımı ve Analizi - 7 Balıkesir Universitesi, Endustri Muhendisligi Bolumu 2015-2016 Bahar Yariyili Montaj Hatti Tasarımı ve Analizi - 7 Dr. Ibrahim Kucukkoc http://ikucukkoc.baun.edu.tr 2 TEK MODELLİ U-TİPİ MONTAJ HATTI DENGELEME

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ı

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ı

Başlangıç Temel Programının Bilinmemesi Durumu

Başlangıç Temel Programının Bilinmemesi Durumu aşlangıç Temel Programının ilinmemesi Durumu İlgili kısıtlarda şartlar ( ) ise bunlara gevşek (slack) değişkenler eklenerek eşitliklere dönüştürülmektedir. Ancak sınırlayıcı şartlar ( ) veya ( = ) olduğu

Detaylı

ISK116 - Bölüm 1. Grup Teknolojisi

ISK116 - Bölüm 1. Grup Teknolojisi ISK - Bölüm Grup Teknolojisi Grup Teknolojisi (GT) Grup teknolojisi benzerliklerden faydalanarak büyük ve karmaşık bir üretim sisteminin, küçük ve kolay kontrol edilebilir sistemlere dönüştürülmesi hedeflenmektedir.

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ı

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE SİSTEM ANALİZİ ve TASARIMI ÖN İNCELEME ve FİZİBİLİTE Sistem Tasarım ve Analiz Aşamaları Ön İnceleme Fizibilite Sistem Analizi Sistem Tasarımı Sistem Gerçekleştirme Sistem Operasyon ve Destek ÖN İNCELEME

Detaylı

CBS ve Coğrafi Hesaplama

CBS ve Coğrafi Hesaplama Yıldız Teknik Üniversitesi CBS ve Coğrafi Hesaplama 2. Bölüm Yrd. Doç. Dr. Alper ŞEN Harita Mühendisliği Bölümü Kartografya Anabilim Dalı web: http://www.yarbis.yildiz.edu.tr/alpersen/ E mail: alpersen@yildiz.edu.tr

Detaylı

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL)

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL) DOĞRUSAL PROGRAMLAMA (GENEL) Belirli bir amacın gerçekleşmesini etkileyen bazı kısıtlayıcı koşulların ve bu kısıtlayıcı koşulların doğrusal eşitlik ya da eşitsizlik biçiminde verilmesi durumunda amaca

Detaylı

EŞİTLİK BOZMA SİSTEMLERİ

EŞİTLİK BOZMA SİSTEMLERİ EŞİTLİK BOZMA SİSTEMLERİ OYUNCULARIN KENDİ PUANLARINI KULLANAN SİSTEM Kademeli Hesaplama Yöntemi (Progresive) Her tur sonunda oyuncunun elde ettiği puanların toplanması ile elde edilen yeni puan, oyuncunun

Detaylı

a2 b3 cij: birim başına ulaşım maliyeti xij: taşıma miktarı

a2 b3 cij: birim başına ulaşım maliyeti xij: taşıma miktarı Ulaştırma Modelleri Ulaştırma modeli Ulaştırma modeli doğrusal programlama modellerinin özel bir türüdür. Modelin amacı bir işletmenin belirli kapasitedeki üretim merkezlerinden, belirli talebi olan tüketim

Detaylı

FORMÜLLER VE FONKSİYONLAR

FORMÜLLER VE FONKSİYONLAR C FORMÜLLER VE FONKSİYONLAR Konuya Hazırlık 1. Excel de formül kullanmanın faydalarını açıklayınız. Formüller, bir sayfadaki verileri kullanarak işlem yapan denklemlerdir. Bir formülde, aynı sayfadaki

Detaylı

KATLI ATAMA PROBLEMİ VE ÇÖZÜMLERİ

KATLI ATAMA PROBLEMİ VE ÇÖZÜMLERİ EGE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ (YÜKSEK LİSANS TEZİ) KATLI ATAMA PROBLEMİ VE ÇÖZÜMLERİ Güray ŞENER Matematik Anabilim Dalı Bilim Dalı Kodu : 403.06.01 Sunuş Tarihi : 22.06.2007 Tez Danışmanı :

Detaylı

RASSAL SAYI ÜRETİLMESİ

RASSAL SAYI ÜRETİLMESİ Dr. Mehmet AKSARAYLI Ekonometri Böl. Simülasyon Ders Notları Rassal Sayı Üretilmesi RASSAL SAYI ÜRETİLMESİ Simülasyon analizinde kullanılacak az sayıda rassal sayı üretimi için ilkel yöntemler kullanılabilir.

Detaylı

*İlk aşamada, bahsedilen problemin matematiksel modelinin kurulması gerekmektedir. İlgili modelin açık ve kapalı formunu birlikte veriniz.

*İlk aşamada, bahsedilen problemin matematiksel modelinin kurulması gerekmektedir. İlgili modelin açık ve kapalı formunu birlikte veriniz. Yöneylem Araştırması Proje Ödevi Teslim Tarihi: 04.12.2017 *İlk aşamada, bahsedilen problemin matematiksel modelinin kurulması gerekmektedir. İlgili modelin açık ve kapalı formunu birlikte veriniz. Filo

Detaylı

Robot İzleme (Robot Tracing)

Robot İzleme (Robot Tracing) SORU : 1 DEĞERİ : 100 PUAN HAZIRLAYAN : Öğr.Gör. Ömer ÇAKIR Robot İzleme (Robot Tracing) Önüne çıkan engelleri aşağıda anlatılan algoritmaya göre aşıp çıkış noktasına ulaşan bir robotun başlangıç noktasından

Detaylı

OPTİMUM GÜÇ AKIŞININ YAPAY ARI KOLONİSİ İLE SAĞLANMASI

OPTİMUM GÜÇ AKIŞININ YAPAY ARI KOLONİSİ İLE SAĞLANMASI OPTİMUM GÜÇ AKIŞININ YAPAY ARI KOLONİSİ İLE SAĞLANMASI A. Doğan 1 M. Alçı 2 Erciyes Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü 1 ahmetdogan@erciyes.edu.tr 2 malci@erciyes.edu.tr

Detaylı

Proje/Sipariş/İş Emri (PSI) Bazında Maliyet Analizi

Proje/Sipariş/İş Emri (PSI) Bazında Maliyet Analizi Proje/Sipariş/İş Emri (PSI) Bazında Maliyet Analizi Amaç ve Fayda Bilindiği gibi mamul maliyetleri direkt hammadde (direkt ilk madde ve ambalaj), direkt işçilik ve genel üretim giderlerinden oluşmaktadır.

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ı

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması Emrullah SONUÇ1, Baha ŞEN2,Şafak BAYIR3 1 Karabük Üniversitesi, Bilgisayar Mühendisliği Bölümü, Karabük

Detaylı

Süreç Yönetimi. Logo

Süreç Yönetimi. Logo Süreç Yönetimi Logo Kasım 2013 SÜREÇ YÖNETİMİ Süreç belirlenen bir amaca ulaşmak için gerçekleştirilen faaliyetler bütünüdür. Örn; Sistemde kayıtlı personellerinize doğum günü kutlama maili gönderme, Deneme

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ı

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi OPTİMİZASYON Gerçek hayatta, çok değişkenli optimizasyon problemleri karmaşıktır ve nadir olarak problem tek değişkenli olur. Bununla birlikte, tek değişkenli optimizasyon algoritmaları çok değişkenli

Detaylı

KAPASİTE KAVRAMI ve KAPASİTE ÇEŞİTLERİ

KAPASİTE KAVRAMI ve KAPASİTE ÇEŞİTLERİ KAPASİTE KAVRAMI ve KAPASİTE ÇEŞİTLERİ Bir işletme için kapasite değerlemesinin önemi büyüktür. Daha başlangıçta kurulacak işletmenin üretim kapasitesinin çok iyi hesaplanması gerekir ve elde edilen verilere

Detaylı

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok 8.0.0 Şebeke Kavramları BÖLÜM III: Şebeke Modelleri Şebeke (Network) Sonlu sayıdaki düğümler kümesiyle, bunlarla bağlantılı oklar (veya dallar) kümesinin oluşturduğu yapı şeklinde tanımlanabilir ve (N,A)

Detaylı

DARÜŞŞAFAKA LİSESİ SALİH ZEKİ LİSE ÖĞRENCİLERİ ARASI MATEMATİK PROJELERİ YARIŞMASI

DARÜŞŞAFAKA LİSESİ SALİH ZEKİ LİSE ÖĞRENCİLERİ ARASI MATEMATİK PROJELERİ YARIŞMASI DARÜŞŞAFAKA LİSESİ SALİH ZEKİ LİSE ÖĞRENCİLERİ ARASI MATEMATİK PROJELERİ YARIŞMASI PROJENİN ADI: OYUN TEORİSİ İLE İSTANBUL TRAFİĞİNİN İNCELENMESİ HAZIRLAYANLAR: ECE TUNÇKOL-BERKE OĞUZ AKIN MEV KOLEJİ ÖZEL

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ı

İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız.

İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız. ISLE 403 YÖNEYLEM ARAŞTIRMASI DERS 3 NOTLAR DP Modellerinin Standart Biçimde Gösterimi: İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız. Gepetto Marangozhanesi için DP modeli

Detaylı

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN RASTGELE SAYILARIN ÜRETİLMESİ Rastgele değişimler yapay tablolardan veya parametreleri verilen teorik dağılım fonksiyonlarından elde edilir.

Detaylı

TRANSPORT SİSTEMLERİNDE BİLGİSAYAR UYGULAMALARI

TRANSPORT SİSTEMLERİNDE BİLGİSAYAR UYGULAMALARI BÖLÜM 14. TRANSPORT SİSTEMLERİNDE BİLGİSAYAR UYGULAMALARI 14. GİRİŞ Bilgisayar Destekli Tasarım (CAD), imalatın tasarım aşamasının ayrılmaz bir parçasıdır. Genel amaçlı bir CAD sisteminde oluşturulan bir

Detaylı

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-5 Bilgili Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Arama Grafları Eğer arama uzayı ağaç yapısından değil de graf

Detaylı

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği) Karınca Kolonisi Algoritmasının Zaman Çizelgelemesi Üzerine: Bir Modellemesi ve Uygulaması Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

Detaylı

Doğrusal Programlama. Prof. Dr. Ferit Kemal Sönmez

Doğrusal Programlama. Prof. Dr. Ferit Kemal Sönmez Doğrusal Programlama Prof. Dr. Ferit Kemal Sönmez Doğrusal Programlama Belirli bir amacın gerçekleşmesini etkileyen bazı kısıtlayıcı koşulların ve bu kısıtlayıcı koşulların doğrusal eşitlik ya da eşitsizlik

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ı

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA YZM 3217- YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA Oyun Oynama Çoklu vekil ortamı-her bir vekil karar verirken diğer vekillerin de hareketlerini dikkate almalı ve bu vekillerin onun durumunu nasıl etkileyeceğini

Detaylı

RÜZGAR ENERJİSİ KAYNAĞI VE BELİRSİZLİK

RÜZGAR ENERJİSİ KAYNAĞI VE BELİRSİZLİK 4. İzmir Rüzgâr Sempozyumu // 28-30 Eylül 2017 // İzmir RÜZGAR ENERJİSİ KAYNAĞI VE BELİRSİZLİK Prof. Dr. Barış Özerdem İzmir Ekonomi Üniversitesi Havacılık ve Uzay Mühendisliği Bölümü baris.ozerdem@ieu.edu.tr

Detaylı

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta SAYISAL ÇÖZÜMLEME Yrd.Doç.Dr.Esra Tunç Görmüş 1.Hafta Sayısal çözümleme nümerik analiz nümerik çözümleme, approximate computation mühendislikte sayısal yöntemler Computational mathematics Numerical analysis

Detaylı

DESTEK DOKÜMANI. Tablolu Malzeme Sınıfları

DESTEK DOKÜMANI. Tablolu Malzeme Sınıfları Tablolu Malzeme Sınıfları Malzeme Sınıfı; malzemelerin nitel ve nicel özelliklerine göre (renk,boy,beden,ebat,aksesuar,vb...) gruplanması ile oluşturulan yapılardır. Malzemelerin ortak özelliklerine göre

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ı