T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ

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

Download "T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ"

Transkript

1 T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ ÇOK KRĠTERLĠ OPTĠMĠZASYON ĠÇĠN GENETĠK ALGORĠTMA YAKLAġIMLARI TAHĠR SAĞ YÜKSEK LĠSANS TEZĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ ANABĠLĠM DALI

2 T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ ÇOK KRĠTERLĠ OPTĠMĠZASYON ĠÇĠN GENETĠK ALGORĠTMA YAKLAġIMLARI TAHĠR SAĞ YÜKSEK LĠSANS TEZĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ ANABĠLĠM DALI Bu tez tarihinde aģağıdaki jüri tarafından oybirliği / oyçokluğu ile kabul edilmiģtir. Yrd.Doç.Dr. Prof.Dr. Prof.Dr. Mehmet ÇUNKAġ Ahmet ARSLAN Novruz ALLAHVERDĠ (DanıĢman) (Üye) (Üye)

3 iii ÖZET Yüksek Lisans Tezi ÇOK KRĠTERLĠ OPTĠMĠZASYON ĠÇĠN GENETĠK ALGORĠTMA YAKLAġIMLARI Tahir SAĞ Selçuk Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı DanıĢman: Yrd. Doç.Dr. Mehmet ÇUNKAġ 008, 0 sayfa Jüri: Prof.Dr. Novruz ALLAHVERDĠ Prof.Dr. Ahmet ARSLAN Yrd.Doç.Dr. Mehmet ÇUNKAġ Gerçek dünya problemleri genelde çok amaçlıdır. Bu problemlerin çözümü birbiriyle çeliģen çoklu amaçların eģzamanlı olarak optimizasyonunu gerektirir. Çok amaçlı optimizasyon tek amaçlı optimizasyondan çok farklıdır. Tek-amaçlı optimizasyonda amaç, en iyi olan tek bir tasarım veya kararı elde etmektir. Çok amaçlı optimizasyonda ise birbiriyle çeliģen amaçlar, içersinde üzerinde uzlaģma sağlanan bir optimal çözümler kümesi elde edilir. Bu küme genellikle Pareto- Optimal çözümler kümesi olarak adlandırılır. Çok amaçlı optimizasyon problemlerinin çözümü için 985 ten bu yana evrimsel algoritmaları kullanan çeģitli yaklaģımlar önerilmiģtir. Bu tez çalıģmasında, baģlıca sekiz adet çok amaçlı evrimsel algoritma (Vektör Değerlendirmeli Genetik Algoritma, Çok Amaçlı Genetik Algoritma, HücrelendirilmiĢ Pareto Genetik Algoritması, BastırılmamıĢ Sınıflandırmalı Genetik Algoritma, BastırılmamıĢ Sınıflandırmalı Genetik Algoritma II, Kuvvet Pareto Evrim Algoritması, Kuvvet Pareto Evrim Algoritması ve Pareto Zarflama-Temelli Seçim Algoritması) orijinal halleri esas alınarak detaylı olarak incelenmiģtir. Algoritmaların değerlendirilmesi için bazı performans ölçütleri kullanılmıģtır. Tüm algoritmalar için C ailesinin son uzantısı olan nesne yönelimli görsel programlama dili C# kullanılarak MOEAT(Multiobjective Evolutionary Algorithms Tool) adı verilen ortak bir arayüzde editör ve simülasyon yazılımı geliģtirilmiģtir. Ayrıca, literatürden seçilen sekiz adet test problemi ve iki adet mühendislik problemi aracılığıyla, yazılımın kullanılabilirliği ve iģlevselliği denenmiģtir. Anahtar Kelimeler: Çok amaçlı optimizasyon, Pareto-Optimal Çözümler, evrimsel algoritmalar. iii

4 iv ABSTRACT Master Thesis GENETIC ALGORITHM APPROACHES FOR MULTIOBJECTIVE OPTIMIZATION Tahir SAĞ Selcuk University Graduate School of Natural and Applied Sciences Department of Computer Engineering Supervisor: Asst.Prof. Mehmet ÇUNKAġ 008, 0 papers Jury: Prof.Dr. Novruz ALLAHVERDĠ Prof.Dr. Ahmet ARSLAN Asst.Prof. Mehmet ÇUNKAġ Real world problems are multiobjective in nature. Solution of these problems mostly require the optimization of conflicting objectives each other simultaneously. Multiobjective optimization is principally different from single objective optimization. In single-objective optimization, it is attempted to obtain the best design or decision for an objective. In multiobjective optimization, the objectives which are in competition with each other cause the results to be drifted to not only a solution but to a set of compromise optimal solutions. Such solutions are known as Pareto-Optimal solutions. Various approaches used evolutionary algorithms have been proposed to solve optimization problems since 985. In this thesis study, mainly eight multiobjective evolutionary algorithms (Vector Evaluated Genetic Algorithm, Multiobjective Genetic Algorithm, Niched Pareto Genetic Algorithm, Nondominated Sorting Genetic Algorithm, Nondominated Sorting Genetic Algorithm-II, Strength Pareto Evolutionary Algorithm, Strength Pareto Evolutionary Algorithm, and Pareto Envelope-based Selection Algorithm) have been examined in detail by taking into consideration original papers published. Some performance metrics to evaluate the algorithms have been observed. And all algorithms have been developed as an editor simulation software called MOEAT (Multiobjective Evolutionary Algorithms Tool) in common interface by using object oriented programming language, C#, which is the final extension of C family. Also the software was run over eight test problems, and two real world engineering problems which were used on this issue and taken from literature, and hopeful results were obtained. Keywords: Multiobjective optimization, Pareto-Optimal Solutions, Evolutionary Algorithms, MOEAT. iv

5 v TEŞEKKÜR Tez çalıģmamın gerçekleģme sürecinde tezime yaptığı katkılardan ve yardımlarından dolayı değerli danıģman hocam Yrd. Doç. Dr. Mehmet ÇUNKAġ a teģekkür ederim. Tez çalıģmam boyunca gösterdikleri sabır ve destekten dolayı baģta annem olmak üzere sevgili aileme teģekkür ederim. Bu tez çalıģması proje numarası ile Selçuk Üniversitesi Bilimsel AraĢtırma Projeleri Koordinatörlüğü tarafından desteklenmiģtir. Katkılarından dolayı teģekkür ederim. v

6 vi İÇİNDEKİLER ÖZET... iii ABSTRACT... iv TEŞEKKÜR... v İÇİNDEKİLER... vi ŞEKİL LİSTESİ... ix TABLO LİSTESİ... xi. GİRİŞ..... Amaç..... Kaynak AraĢtırması OPTİMİZASYON Formülasyonu Optimizasyon Modellerinin Sınıflandırılması Genetik Algoritmalar ve Evrimsel Hesaplama Genetik algoritmaların avantajları Temel algoritması ÇOK AMAÇLI OPTİMİZASYON Pareto-Optimal Kavramı Çok Amaçlı Optimizasyon Problemleri MOEA ların Sınıflandırılması Toplama fonksiyonları Popülâsyon-Temelli YaklaĢımlar Pareto temelli yaklaģımlar... 9 vi

7 vii 4. ÇOK AMAÇLI GENETİK ALGORİTMALAR VEGA: Vektör Değerlendirmeli Genetik Algoritma MOGA: Çok Amaçlı Genetik Algoritma Seçim süreci Seçkinlik stratejisi MOGA Algoritması NPGA: HücrelendirilmiĢ Pareto Genetik Algoritması Pareto Üstünlük Turnuvası BastırılmamıĢ Yüzey Üzerinde PaylaĢım NSGA: BastırılmamıĢ Sınıflandırmalı Genetik Algoritma NSGA-II: BastırılmamıĢ Sınıflandırmalı Genetik Algoritma II Hızlı bastırılmamıģ sınıflandırma yaklaģımı ÇeĢitliliğin sağlanması Ana döngü SPEA: Kuvvet Pareto Evrimsel Algoritması SPEA Algoritması Uygunluk ataması Kümeleme algoritması SPEA: Kuvvet Pareto Evrimsel Algoritması SPEA Algoritması Uygunluk ataması Çevresel seçim PESA: Pareto Zarflama-Temelli Seçim Algoritması PESA Algoritması PERFORMANS KRİTERLERİ Yakınsama Metriği ( ) ÇeĢitlilik Metriği ( ) ÇOK AMAÇLI EVRİMSEL ALGORİTMALAR ARACI Kullanıcı Arayüzleri Çok kriterli genetik algoritmalar formu (mgaform.cs) Parametreler arayüzü (Parametre.cs) vii

8 viii Performans ölçümü arayüzü (PerformansÖlçümü.cs) Öklid mesafesi arayüzü (Euclidean_Mesafesi.cs) Grafik arayüzü (Goster.cs) Hakkında arayüzü (About.cs): Editör arayüzü (Editor.cs) Kodlama ve Algoritmalar Proje I: multiobjective_genetic_algorithms Proje II: Genetic Proje III: Problem DENEYSEL ÇALIŞMALAR Test Problemleri Gerçek Mühendislik Problemi Ġncelemeleri SONUÇ KAYNAKLAR viii

9 ix ŞEKİL LİSTESİ ġekil.: Genetik Algoritma AkıĢ Diyagramı... ġekil 3.. BastırılmamıĢ çözümler (kapalı çemberler) ve bastırılmıģ çözümler (açık çemberler)... 8 ġekil 4.: J-Boyutlu bir popülâsyonda I amaç fonksiyonlu bir problem için VEGA Algoritmasının ÇalıĢması (Schaffer 985)... ġekil 4.: Schaffer ın yaklaģımında arama yönleri (Tadahiko 994)... ġekil 4.3: Çok Amaçlı Genetik Algoritmanın Farklı Arama Yönleri (Murata 997) 3 ġekil 4.4: Sabit Ağırlık Vektörü ile TanımlanmıĢ Arama Yönü (Murata 997)... 5 ġekil 4.5: MOGA da depolanan birey kümelerinin güncellenme süreci (Murata 997)... 6 ġekil 4.6: MOGA AkıĢ Diyagramı... 8 ġekil 4.7: Pareto Üstünlük Turnuvası için Sözde Kod ġekil 4.8: EĢdeğer Sınıf PaylaĢımı (Horn, 994)... 3 ġekil 4.9: NSGA AkıĢ Diyagramı (Srinivas ve Deb 993) ġekil 4.0: Hızlı BastırılmamıĢ Çözüm Sıralama Metodu Ġçin Sözde Kod (Deb, 00) ġekil 4.: Kalabalık-Mesafe Hesaplaması. Dolu dairelerle iģaretlenmiģ noktalar aynı bastırılmamıģ yüzeydeki çözümlerdir ġekil 4.: Kalabalık KarĢılaĢtırma Mesafesi (Crowding Mesafesi) için sözde kod. 39 ġekil 4.3: NSGAII Prosedürü (Deb, 00) ġekil 5.: Performans Metrikleri (a) Yakınsama Metriği (b) ÇeĢitlilik Metriği ġekil 6.: Çok Amaçlı Evrimsel Algoritmalar Aracı Ana Form ġekil 6.: Parametreler Arayüzü ġekil 6.3: Performans Ölçümü Arayüzü ġekil 6.4: Performan Ölçümü -Sonuç Dosyaları GiriĢ Formu ġekil 6.5: Öklid Mesafesi Orijin Noktası ġekil 6.6: Öklid Mesafesi Arayüzü ġekil 6.7: Mevcut Grafik Gösterim Arayüzü ġekil 6.8: Hakkında Arayüzü ix

10 x ġekil 6.9: Editör Arayüzü ġekil 6.0: Proje I multiobjective_genetic_algorithms... 7 ġekil 6.: Genetic Projesi Sınıf Diagramaları ve Solution Explorer Penceresi ġekil 7.: OSY problemi için pareto optimal çözümler ġekil 7.: SRN problemi için pareto optimal çözümler ġekil 7.3: TNK problemi için pareto optimal çözümler ġekil 7.4: CONSTR problemi için pareto optimal çözümler ġekil 7.5: FON problemi için pareto optimal çözümler ġekil 7.6: SCH problemi için pareto optimal çözümler ġekil 7.7: ZDT problemi için pareto optimal çözümler ġekil 7.8: ZDT4 problemi için pareto optimal çözümler ġekil 7.9: Ġndüksiyon Motor EĢdeğer Devresi... 9 ġekil 7.0: MOEAT dan elde edilen Pareto-Optimal Çözümler ġekil 7.: I-Kesitli kiriģ karar değiģkenlerinin tanımlanması ġekil 7.: I-Kesitli kiriģ simülasyon sonuçları x

11 xi TABLO LİSTESİ Tablo 7.: Kısıtlamasız Test Problemleri Tablo 7.: Kısıtlamalı Test Problemleri Tablo 7.3: Kısıtlamasız Test problemleri için Yakınsama Metriği ( ) Tablo 7.4: Kısıtlamasız Test problemleri için ÇeĢitlilik Metriği ( ) Tablo 7.5: Kısıtlı test problemleri için Yakınsama Metriği ( ) Tablo 7.6: Kısıtlı test problemleri için ÇeĢitlilik Metriği ( )... 8 Tablo 7.7: Gerçek Makine Parametreleri Tablo 7.8: Parametre Belirleme Sonuçlarının Özeti Tablo 7.9: Moment Hata Sonuçları xi

12 . GİRİŞ.. Amaç Optimizasyon, verilen amaç veya amaçlar için belirli kısıtlamaların sağlanarak en uygun çözümün elde edilmesi sürecidir. Optimizasyon problemlerinin çözümü için model arayıģları sonucunda öncelikle doğrusal ve az sayıda değiģkenin kullanıldığı matematiksel modellemeler oluģturulsa da bunun her problem için geçerli olmadığı anlaģılmıģ ve doğrusal olmayan modellemeye gidilmiģtir. Bu noktada, evrim kuramındaki en iyinin korunması ve doğal seçim stratejileri kullanan evrimsel algoritmalar geliģtirilmiģtir. Evrimsel Algoritmalardan olan genetik algoritmalar, geleneksel yöntemlerle çözümü zor veya imkânsız olan problemlerin çözümünde sıklıkla kullanılmaya baģlanmıģtır. Genetik algoritmalarda optimize edilecek amaç veya amaçlar sanal olarak evrimden geçirilerek olası çözümler kümesinden en iyi çözüm veya çözümler elde edilmeye çalıģılır. Tek amaç optimize edilecekse, problem tek-amaçlı optimizasyondur. Eğer birden fazla amaç optimize edilecekse, problemler çok-amaçlı olarak formülize edilmelidir ve bu durumda çok-amaçlı veya vektör optimizasyon problemleri olarak adlandırılırlar. Ġlkesel olarak tek-amaçlı optimizasyon ve çokamaçlı optimizasyon birbirinden farklıdır. Tek-amaçlı optimizasyonda en iyi olan tek bir çözüm aranırken çok-amaçlı optimizasyonda tüm amaçlara göre en iyi olan tek bir çözüm mevcut olmayabilir. Bu bakımdan her amaç için üzerinde uzlaģma sağlanan sonlu bir çözüm kümesi aranır. Karar vericiden her biri kabul edilebilir düzeyde olan bu alternatif çözümlerden seçim yapması istenir. Bu tez çalıģmasında çok amaçlı genetik algoritmalar (Vektör Değerlendirmeli Genetik Algoritma, Çok Amaçlı Genetik Algoritma, HücrelendirilmiĢ Pareto Genetik Algoritması, BastırılmamıĢ Sınıflandırmalı Genetik Algoritma, BastırılmamıĢ Sınıflandırmalı Genetik Algoritma II, Kuvvet Pareto Evrim Algoritması, Kuvvet Pareto Evrim Algoritması ve Pareto Zarflama-Temelli Seçim Algoritması)

13 incelendi. Bu algoritmaların performansları test problemleri kullanılarak değerlendirildi. Ayrıca çok amaçlı optimizasyon problemlerinin kolayca tanımlanabildiği ve çözümlerinin elde edilebildiği bir arayüz geliģtirildi. Elektronik, bilgisayar, inģaat ve makine gibi bilim dallarına ait optimizasyon problemleri geliģtirilen, bu arayüz yardımıyla kolayca çözülebilmektedir. Tez çalıģması giriģ bölümü ile beraber toplam sekiz bölümden oluģmaktadır. Ġkinci bölümde optimizasyon, optimizasyon algoritmaları ve genetik algoritmalar hakkında temel bilgiler verilmektedir. Üçüncü bölümde Pareto-Optimalite kavramı, çok-amaçlı optimizasyonun tanımı çok-amaçlı evrimsel algoritmaların sınıflandırılma yaklaģımları ele alınmaktadır. Dördüncü bölümde bu alanda yapılmıģ olan çalıģmalar üzerinde durularak çok amaçlı genetik algoritmalardan sekiz tanesi incelenmekte ve algoritmaların çok-amaçlı optimizasyon problemlerini çözme yaklaģımları detaylı olarak açıklanmaktadır. BeĢinci bölümde, incelenen algoritmaların performanslarının karģılaģtırılması için kullanılan performans kriterleri açıklanmaktadır. Altıncı bölümde, performans analizlerinin gerçekleģtirilmesi için geliģtirilen ve Çok-Amaçlı Evrimsel Algoritmalar Aracı (MOEAT) adı verilen editör simülasyon yazılımı açıklanmaktadır. GeliĢtirilen bu yazılım ile tüm algoritmaların ortak bir arayüzde çalıģtırma imkânı sağlanmaktadır. Bu bölümde MOEAT ın kullanımı ve kodlaması iki ayrı alt baģlıkta ele alınmaktadır. Literatürden seçilen sekiz adet test problemi ve iki adet gerçek dünya problemleri değerlendirilmektedir. Yedinci bölümde elde edilen simülasyon sonuçları tablolar ve grafikler halinde sunulmaktadır. Sonuç bölümünde algoritmaların karģılaģtırmalı performans analizleri yapılmaktadır.

14 3.. Kaynak Araştırması Optimizasyon problemleri, evrimsel algoritmalar ve çok amaçlı optimizasyon problemlerinin çözümü ile ilgili bugüne kadar yapılmıģ pek çok çalıģma bulunmaktadır. AĢağıda bu çalıģmaların bazılarına kısaca yer verilmiģtir. Dias A.H.F. ve ark. (00), Evrimsel algoritmalarla çözülen çok-kriterli optimizasyon problemleri tartıģılmıģtır. Bu tür problemleri çözecek bastırılmamıģ sınıflandırmalı genetik algoritma (NSGA) üzerinde durulmuģtur. Ayrıca performansı diğer dört algoritmadan elde edilen sonuçlarla karģılaģtırılmıģtır. Andrzej Osyczka, (00), evrimsel algoritmaların esas bakıģ açısını içeren bir metin ve özellikle klasik optimizasyon yöntemleri kullanılarak çözülemeyen tasarım optimizasyon problemlerini çözen ileri uygulamalar sunmuģtur. AraĢtırmacılar ve baģta makine, inģaat, endüstri ve bilgisayar mühendislikleri olmak üzere tüm mühendislik bölümlerinin öğrencileri için çalıģma rehberi niteliğinde bir kitap hazırlanmıģtır. Konuyu basit tasarım optimizasyon problemlerinin tanıtımından baģlayarak, daha geliģmiģ GA lar ve evrimsel algoritmalar, evrimsel iģlemciler; çeģitli seçim, çaprazlama ve mutasyon türleri; sınırlanmamıģ-sınırlandırılmıģ optimizasyon, ceza fonksiyonları ve tarihsel sıralamayla çok-kriterli genetik algoritmalar hakkında çıkarılmıģ yayınların derlemeleri ve bunlarla ilgili örneklerden, çok-kriterli optimizasyon algoritmalarının diğer yapay zeka teknikleri ile hibritleģtirilmesi konularına kadar ele almıģtır. Gallardo A. ve ark. (000), hücrelendirilmiģ genetik algoritmaların temel kavramlarını ve parametrelerini ele almıģlardır. Ġdeal olarak, bu algoritmalar tasarımcıya daha iyi çözümler bulan birkaç alternatif tasarımlar sunarlar ve paralel olarak çalıģtırılabilirler. Sareni ve ark. (000), sınırlandırılmıģ optimizasyon problemlerini çözecek birçok Genetik Algoritma Stratejisini tasarlamıģlardır. Erken yakınsamayı önleyecek çeģitli genetik iģlemciler ele almıģlar ve özellikle, hücrelendirme metotları, her birinin avantajlarını ve sakıncalarını gösteren bir karģılaģtırma sunmuģlardır.

15 4 Carlos ve ark. (99), çok-amaçlı genetik algoritmalar (MOGA) için sıralamatemelli uygunluk ataması yöntemini incelemiģlerdir. Klasik hücre formasyon metotları, çok-modelli problemler sınıfına geniģletilerek hücre boyutunu ayarlayan bir teori sunmuģlardır. Carlos ve ark. (994), çok-kriterli evrimsel yaklaģımlar ve çoklu kriterlerin değerlendirmesini yapmıģlardır. Ġlerde yapılacak araģtırma için tavsiyelerde bulunmuģlardır. Cheol ve ark. (999), kısıtlanmıģ yarıģmacı seçimi (RCS) kullanan yeni bir hücreleme metodu, çok-modelli bölgede verimli hücreleri (pik noktalarını) tanımlamak ve araģtırmak için önermiģlerdir. Geçerliliğini doğrulamak için, bazı klasik matematiksel problemlere ve indüksiyon motor tasarımına uygulanmıģlardır. Todd (999), mühendislik tasarımı ve çalıģmasında çok kriterli problemler için genetik algoritmaların uygulamalarını araģtırmıģtır. GeliĢtirdiği yeni ilerlemeler temel test problemleri üzerinde değerlendirmiģtir. Pareto Popülasyonu, Uyarlamalı Hücre Boyutlandırma (Adaptive Niche Sizing) ve Sinir Ağı Tercihi (Neural Network Preferencing) gibi kavramlar tanıtmıģtır. Goldberg (989), genetik algoritmalar (GA) doğal seçim mekanizmasına ve doğal genetiğe dayalı arama iģlemleri hakkında geniģ bilgiler vermiģtir. GA ların matematiksel temelleri, bilgisayarda gerçekleģtirim aģamaları, çeģitli örnekler, genetik aramada ileri iģlemci ve teknikler, genetik temelli makine öğrenmesi ve uygulamaları üzerinde detaylı bir Ģekilde incelemiģtir. Ayrıca bazı dillerde yazılmıģ kodlarlarla örnekler vermiģtir. Huang ve ark. (007), bir mühendislik tasarım sürecindeki ortak tasarım değiģkenlerinden ve belirsizliklerden dolayı performans fonksiyonlarının bağlanması, optimizasyon tasarım problemlerinde güçlüklere neden olması ve tasarım amaçları arasındaki zayıf iģbirliği ve tasarım çeliģkilerinin zayıf kararlılığı gibi problemleri ortadan kaldırmak için bulanık etkileģimli çok-kriterli optimizasyon modelini geliģtirmiģlerdir. Önerilen metot, maksimum doygunluk dereceli ve ideal çözümden minimum uzaklıkla bir pareto optimal kümeyi üretmede baģarı sağlamıģtır. Horn ve ark. (994), Pareto optimal kümeyi bulmak için HücrelendirilmiĢ Pareto Genetik Algoritmasını (NPGA) sunmuģlardır. Ayrıca algoritmanın pareto

16 5 optimal popülasyonu bulmadaki ve çeģitliliği elde etmesindeki yeteneğini göstermek için iki yapay problem ve hidrosistemde bir probleme uygulamıģlardır. Deb ve ark. (999), doğru Pareto-optimal yüzeye yakınsamada çeģitli problemleri ele almıģlardır. Tek kriterli optimizasyon problemlerinden oluģturulan çok kriterli test problemleri geliģtirilen algoritmaların performans ölçümlerinde kullanılmıģtır. Kursawe (99), çok kriterli optimizasyonda klasik çözüm yöntemleri hakkında kısa bir açıklama yapmıģ ve evrimsel stratejilerden bahsetmiģtir. Srinivas ve Deb (00), genetik algoritmalarda bir hücrelendirme tekniği ile beraber Golberg in bastırılmamıģ çözümleri sınıflandırma düģüncesini araģtırmıģlardır. Sonuçları test problemleri kullanarak değerlendirmiģlerdir. Bu yöntemin daha büyük boyutlu ve daha zor çok kriterli problemlere geniģletilebileceğini önermiģlerdir. Azar (999), bazı sorunların üstesinden gelmek için genetik algoritmaları kullanan iki metodu göstermektir. Ġlk metot çok kriterli optimizasyonu ele alırken bazı harici değiģikliklerle bir genetik algoritma kullanır. Ġkinci metot ise bazı önemli dâhili değiģiklikli genetik algoritma içinde yürütür. Her iki metodun güçlü ve zayıf yanlarını olarak karģılaģtırmıģtır. Yang ve ark.(005), çok amaçlı problemlerin çözümünde Pareto optimal kümeye iyi bir yaklaģım sağlayan yeni bir evrimsel yaklaģım (µ,λ) Çok kriterli Evrimsel Strateji ((µ,λ) MOES) önermiģlerdir. Yakınlığın ve bireylerin çeģitliliğinin nasıl dengelendiği üzerinde durmuģlardır. Murata ve Ishibuchi (995), Çok-kriterli optimizasyon problemlerinin Paretooptimal çözümlerini araģtıracak bir genetik algoritma çatısı önermiģlerdir. Önerilen yaklaģımın tek-kriterli genetik algoritmalardan ayrılan tarafı, seçim iģlemi ve seçkini koruma stratejisidir. Önerilen algoritmadaki seçim iģlemi, çoklu amaç fonksiyonlarının ağırlıklı toplamına dayanan bir çaprazlama iģlemi ile bireyleri seçer. Seçim iģleminin karakteristik özelliği, çoklu amaç fonksiyonlarına iliģtirilen ağırlıkların sabit değil her bir seçim için rasgele bir Ģekilde belirlenmesidir. Seçkini koruma stratejisi; tek bir seçkin çözüm yerine, bir dizi seçkin çözüm kullanır. Belli

17 6 sayıda birey Pareto-optimal çözümlerin geçici kümesinden seçilir ve sonraki jenerasyona seçkin bireyler olarak aktarılır. Murata (997), öncelikle tek-krtiterli optimizasyon problemlerini GA lara uygulamıģtır. GA ların performansının geliģtirilmesi için diğer algoritmalarla GA ların hibritleģmesi denemiģtir. Daha sonra, çok-kriterli genetik algoritmalar bazı sezgisel yöntemlerle hibritleģtirmiģtir ve çok kriterli hibrit GA lar zamanlama problemleri ve dilbilimsel karar seçim problemlerine uygulamıģtır. Önceki çalıģmalarda, ele alınan yöntemlerin toplu olarak karģılaģtırıldığı, avantajlarının ve sakıncalarının ortaya konulduğu kapsamlı bir değerlendirme görülmemektedir. Ayrıca çok amaçlı optimizasyonda evrimsel algoritmaların farklı problemler için simülasyonu sağlayacak ortak bir yazılım eksikliği tespit edilmiģtir.

18 7. OPTİMİZASYON Optimizasyon, bir problemin çözümünde matematiksel modeller geliģtirerek, yönetimsel karar üretmeye yardım eden disiplinlerdir (Sarker 00). Bu bölümde optimizasyonda kullanılan geleneksel teknikler gözden geçirilmektedir. Ayrıca genetik algoritmalar ve evrimsel hesaplamanın temel prensipleri üzerinde durulmaktadır... Formülasyonu Bir tasarım probleminin matematiksel modeli, bir eģitlikler sistemi ve problemin temelini açıklayan matematiksel ifadelerdir. Eğer hedeflenen n tane karar varsa, bunlar karar değişkenleri x,..., x xn olarak temsil edilir. Uygun bir performans ölçümü, karar değiģkenlerinin fonksiyonu olarak tanımlanır. Bu fonksiyona amaç fonksiyonu denir. Karar değiģkenlerinin alabileceği değerlerde sınırlamalar varsa, bu sınırlamalar tipik olarak eģitsizlikler veya eģitliklerle açıklanır ve bunlara kısıtlamalar denir. Burada amaç, kısıtlamaların her birini sağlayarak amaç fonksiyonun en iyi değerini elde eden karar değiģkenlerinin değerlerini belirlemektir. Örnek olarak, kârı en fazla yapmak için n farklı ürünün üretim seviyelerini seçme problemi ele alınırsa; üretim seviyeleri sınırlı kaynaklardan dolayı m tane kısıta bağlı olacaktır. Bu modelin amacı, aģağıdaki durumları sağlayacak parametrelerini belirlemektir. x x,... x, n Maksimize f ( x, x aşağıdakilere bağlı olarak g ( x, x,..., x ve m ( x, x 0, x,..., x g ( x, x g x,..., x ),..., x n n n n ) ) ) b 0,..., x n b b m 0

19 8 fonksiyonu Bu modelde, karar değiģkenleri x,..., x xn üretim seviyelerini gösterir, amaç, x xn kârı ölçer ve kısıtlamalar g i x, x,..., xn bi f x,..., i,...,m eģitsizlikleri ile temsil edilir. x, x,... x n değerlerinden herhangi birine çözüm denir. Oysaki tüm kısıtlamaları sağlayan çözüm uygun çözüm olarak adlandırılır. Tüm uygun çözümlerin kümesine uygun bölge denir. Amaç fonksiyonunu maksimum yapan uygun bölgedeki bir çözüm optimal çözüm olarak adlandırılır. BaĢka optimizasyon modelleri amaç fonksiyonunu minimize etmeyi amaçlayabilir (maliyetin minimize edilmesi). Ayrıca modeller karıģık kısıtlamalara sahip olabilir, eģitlik ve eģitsizlikler olabilir veya hiç bir kısıtlama olmayabilir... Optimizasyon Modellerinin Sınıflandırılması Bir optimizasyon problemini çözmeden önce, amaç fonksiyonun özellikleri, kısıtlamalar ve karar değiģkenlerinin durumu önemlidir. Örneğin amaç fonksiyonu lineer veya lineer olmayan, ayrık veya ayrık olmayan, içbükey veya dıģbükey olabilir. Karar değiģkenleri sürekli veya ayrık, içbükey veya dıģbükey olabilir. Bu farklılıklar her bir modelin nasıl çözülebileceğini etkiler ve böylece optimizasyon modelleri bu farklılıklara göre sınıflandırılabilir (Sarker 00). Bir çok optimizasyon tekniği lineer fonksiyon kısıtlamalarında amaç fonksiyon veya fonksiyonlarına bağlıdır. Bir fonksiyon, c i değerleri sabit olduğunda f x, x,..., xn cx, cx,... cnxn Ģeklinde ifade edilebilirse lineerdir. Eğer amaç fonksiyon ve tüm kısıt fonksiyonları, lineer fonksiyonsa, modele lineer programlama modeli denir. Yukarıda verilen örnekte tek bir amaç vardı (kârın maksimize edilmesi). Bazen tüm yönetimsel amaçları tek bir amaçta ifade etmek mümkün değildir. Kârın maksimize edilmesi ve maliyetin minimize edilmesi gibi. Bu sebeple, birden çok amaç fonksiyonu içeren çok amaçlı optimizasyon modeli ortaya çıkar.

20 9 Lineer programlama ve nonlineer programlama tekniklerinde alıģılagelmiģ olarak karar değiģkenlerinin sürekli olduğu varsayılır. BaĢka bir deyiģle, karar değiģkenlerinin kısıtlamaları sağlayan, tamsayı olmayan değerler dâhil herhangi bir değer alabilmesine izin verilir. Bununla beraber birçok uygulamada, karar değiģkenleri sadece tamsayı değerleri için anlamlı olur. Mesela kiģilere veya teçhizata tamsayı miktarlarında atama yapmak için tamsayı değerler sıklıkla gereklidir. Tüm değiģkenlerin tamsayı olmasının gerektiği bir model tamsayı programlama modeli olarak tanımlanır. DeğiĢkenlerden bazıları sürekliyse, ancak diğerlerinin tamsayı olması gerekiyorsa bu modele de karışık-tamsayı programlama modeli denir. Modeldeki tüm fonksiyonlar lineerse, lineer tamsayı programlama modeli veya fonksiyonlardan herhangi biri lineer değilse lineer olmayan tamsayı programlama modeli olarak kategorize edilebilir. Amaç fonksiyonu veya kısıt fonksiyonlarından herhangi biri lineer değilse böyle bir model lineer olmayan programlama modeli olarak adlandırılır. Lineer olmayan programlama problemleri birçok Ģekilde olabilir. Tek bir algoritma tüm bu farklı problem türlerini çözemez. Bu nedenle, optimizasyon algoritmaları değiģik lineer olmayan programlama problemlerini çözmek için geliģtirilmiģtir..3. Genetik Algoritmalar ve Evrimsel Hesaplama Evrimsel hesaplama, doğal seçim iģleminden esinlenilerek geliģtirilmiģ bir arama ve optimizasyon algoritmasıdır. Doğal seçim iģlemi, uygunluk değeri en yüksek bireyin seçilmesini sağlar. Böylece, bir evrim algoritması verilen bir probleme en uygun çözüm için olasılıksal bir arama gerçekleģtirir. Doğada, organizmalar hayatta kalmak ve çoğalmak için yeteneklerini etkileyen belli karakteristiklere sahiptirler. Bu karakteristikler, organizmanın kromozomlarında uzun bilgi stringleri Ģeklinde saklanır. Bu bağlamda evrimsel hesaplama algoritmaları, hayatta kalacak bireylerin yeteneklerini geliģtirir. Yavru kromozomlar, ebeveyn kromozom çiftlerinin eģleģmelerinden oluģur. Beklenen sonuç, her çiftin en iyi karakteristiklerini içeren yavru kromozomların elde edilmesidir. Evrim doğal

21 0 seçim aracılığıyla, popülasyon içinden, rasgele bir Ģekilde seçilmiģ bireylerden uygun kromozom değerlerinin aranması olarak düģünülebilir (ÇunkaĢ 004). Evrim algoritmaları; genetik algoritmalar (GA), genetik programlama (GP), evrimsel programlama (EP) ve evrimsel strateji (EV) gibi alt bölümlere ayrılabilir. Genetik Algoritma terminolojisinin anlaģılması için doğal seçimin anlaģılması gerekir. Dünya gözlemlenecek olunursa, olup biten olaylarda doğal seçilim göze çarpar. Birbirinden ayrı muazzam organizmalar ve bu organizmalardaki karmaģıklık, inceleme ve araģtırma konusudur. Organizmaların niçin böyle olduğu ve nasıl bu aģamaya geldiği sorgulanabilir. Amaç fonksiyonu, yaģam mücadelesini temsil eder. Ġnsanoğlu bunu maksimize etmek ister (Grant 985). Adaptasyon ve uygunluğun seviyesi, dünyada uzun süre yaģayabilmenin göstergesi haline gelmiģtir. Evrim süreci, hayat Ģartlarına en uygun olanın yaģamasını sağlayan büyük bir algoritmadır. Eğer çevreyi değiģtirme zekâ ve yeteneğine sahip olunursa, hayatta küresel maksimum elde edilebilir (Haupt 998). Genetik algoritmalar, ilk defa 975 yılında John Holland tarafından ortaya konulan, biyolojik süreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır. GA parametreleri, biyolojideki genleri temsil ederken, parametrelerin toplu kümesi de kromozomu oluģturmaktadır. GA ların her bir ferdi yani her bir aday çözüm kromozom Ģeklinde temsil edilir. Bu aday çözümler kümesi de popülâsyon olarak adlandırılır. Popülâsyonun uygunluğu, belirli kurallar dâhilinde maksimize veya minimize edilir. Her yeni nesil, rasgele bilgi değiģimi ile oluģturulan diziler içinde hayatta kalanların birleģtirilmesi ile elde edilmektedir (Angeline 995). Seçim ve Uygunluk Ataması: Hem olasılıklı hem de tamamen belirleyici olabilen seçim sürecinde, yüksek uygunluğa sahip bireyler yeniden üretilirken, düģük uygunluklu bireyler popülâsyondan çıkarılır. Burada amaç, arama uzayının özel parçaları üzerinde aramaya odaklanmak ve popülâsyonun ortalama uygunluk değerini yükseltmektir. Optimizasyon iģlemine göre bir bireyin uygunluğu, sayısal bir değer ile temsil edilir. Uygunluk kavramı, amaç fonksiyonu ve kısıtlamalara bağlı

22 olduğu için, bu uygunluğu hesaplanmadan önce kodunun çözülmesi gerekmektedir. Kodu çözülen bireylerden oluģturulan karar vektörü, amaç fonksiyonunda kullanılarak amaç vektörü oluģturulur. Yani uygunluk değerleri hesaplanır. Çaprazlama ve Mutasyon: Çaprazlama ve mutasyon, amaç uzay içinde mevcut çözümlerin varyasyonlarıyla yeni çözümler üretmeyi amaçlar. EĢleme sürecinde, seçilen kromozomlardan bir veya birden fazla yeni birey oluģturma olayına çaprazlama denir. En yaygın olarak kullanılanı, iki kromozomdan iki tane yeni birey elde edilmesidir. Bu tip çaprazlamada, öncelikle kromozomun ilk biti ile son biti arasında çaprazlama noktası rasgele seçilir. Birinci kromozomun çaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geçerken, benzer tarzda ikinci kromozomun çaprazlama noktasının solundaki bitler de birinci kromozoma geçerler. Sonuçta meydana gelen yeni kromozomlar, her iki kromozomun karakterlerini içermektedirler. Doğal evrimi taklit etmek için kullanılan çaprazlama oranı, bir popülâsyonda ne kadar bireyin çaprazlamaya tabi tutulacağını belirler. GA operatörlerinin ikincisi olan mutasyon, kromozomdaki bitlerin küçük bir yüzdesini değiģtirir. Mutasyon ile kromozomdaki bitler ise 0, 0 ise yapılır. Bir popülasyon matrisinde, mutasyon noktaları rasgele seçilir. Mutasyonun % değeri artırılırsa, algoritma daha geniģ parametre uzayını tarama yapar. Ana Döngü: Yukarıdaki kavramlara bağlı olarak, doğal evrim iteratif bir hesaplama süreci olarak simüle edilir. Öncelikle gerekli parametreler, amaç fonksiyonu ve kısıtlamalar tanılanır ve baģlangıç popülâsyonu oluģturulur. Daha sonra bu iģlemler, belirlenen bir iterasyon sayısınca ya da bir sonlanma kriteri sağlanıncaya kadar, seçim, çaprazlama ve mutasyon sırasıyla tekrarlanır. Bilindiği gibi her biri aday bir çözüm olan bireylerin, kromozom olarak temsil edilebilmeleri için bir karar vektörü ya da uygun bir yapı üzerinde kodlanmıģ olmaları gerekir. Bu problemin türüne göre bit vektör, reel değerli vektör ya da ağaç kodlaması, permütasyon kodlama Ģeklinde olabilir.

23 .3.. Genetik algoritmaların avantajları Sürekli ve ayrık parametreleri optimize etmesi Türevsel bilgiler gerektirmemesi Amaç fonksiyonunu geniģ bir spektrumda araģtırması Çok sayıda parametrelerle çalıģma imkânı olması Paralel PC ler kullanılarak çalıģtırılabilmesi KarmaĢık amaç fonksiyonu parametrelerini, yerel minimum veya maksimumlara takılmadan optimize edebilmesi Sadece tek çözüm değil, birden fazla parametrelerin optimum çözümlerini elde edebilmesi olarak sıralanabilir (Haupt 998). GA lar arama ve optimizasyon için sezgisel yöntemlerdir. Genetik algoritmalar her zaman en iyiyi bulamayabilir. GA lar Ģartlara uyum sağlayabilir. Bunun anlamı, önceden hiç bilgisi olmamasına karģın, olayları ve bilgiyi öğrenme ve toplama yeteneğine sahip olmasıdır. ġekil. de genetik algoritmaların akıģ diyagramı gösterilmiģtir. TANIMLA Amaç Fonksiyonu, Parametre ve Sınırlar PARAMETRELERĠN GA ya UYARLANMASI UYGUNLUK DEĞERĠNĠN HESAPLANMASI SEÇĠM ÇAPRAZLAMA MUTASYON olumsuz Sonlanma Ölçütü olumlu DUR Şekil.: Genetik Algoritma AkıĢ Diyagramı

24 3 Her problemin çözümü için GA kullanmak iyi bir yol değildir. Birkaç parametreli analitik fonksiyonun çözümünde klasik metotlar daha hızlıdır. Böyle durumlarda, nümerik metotlar tercih edilmelidir. Paralel bilgisayarlar kullanılırsa GA daha hızlı sonuç verebilir..3.. Temel algoritması Girdi: N Popülâsyon boyutu T jenerasyon sayısı pc çaprazlama olasılığı pm mutasyon olasılığı Çıktı: A bastırılmamıģ küme Adım : Başla: P ve 0 For i,..., N do 0 t a) Bazı olasılık dağılımlarına göre bir i I b) P i P0 0 Adım : Uygunluk Ataması: Her bir i Pt bireyi için hem kodlanan karar vektörü x m(i) hem de y f x amaç vektörünü tanımla ve sayısal uygunluk değeri F i yi hesapla. seç. Adım 3: Seçim: ' P. For i,..., N do a) Verilen tasarıma ve uygunluk değeri F i i P t bireyi seç. ' ' b) P P i ye bağlı olarak bir Adım 4: Geçici popülasyon Çaprazlama: a) ' P eģleģme havuzu olarak adlandırılır. N '' P. For i,..., do ' i, j P olan iki birey seç ve ' P den çıkar. b) i ve j bireylerini çaprazla. Sonuçta oluģan çocuklar k, l I dır. c) k,l yi pc olasılığı ile ekle. '' P ye ekle. Aksi halde i, j bireylerini '' P ye

25 4 Adım 5: Mutasyon: ''' P. For her bir i ''' P bireyi için do a) pm mutasyon oranı ile i bireyine mutasyon uygulanır. OluĢan birey j I dır. ''' ''' b) P P i ''' Adım 6: Bitir: P t P ve t. Eğer t T veya herhangi bir t sonlanma kriteri sağlanmıģsa git. A p m P aksi halde Adım ye t

26 5 3. ÇOK AMAÇLI OPTİMİZASYON Doğal seçim ve optimizasyon arasındaki benzerlikler; evrimsel süreci bilgisayar ortamında simüle eden Evrimsel Algoritmaların geliģtirilmesini sağlamıģtır. Çok amaçlı optimizasyon problemlerinin çözümünde genetik ve evrimsel algoritmaları kullanmanın daha avantajlı olduğu bilinmektedir. Bu yüzden çok amaçlı optimizasyon yöntemlerine dayalı evrimsel algoritmalar son yıllarda yaygın olarak kullanılmaya baģlanmıģtır (Osyczka, 00). Çok-amaçlı optimizasyon, tek-amaçlı optimizasyondan çok farklıdır. Tekamaçlı optimizasyonda, bir amaç için en iyi olan tek bir tasarım veya karar elde edilmeye çalıģılır. Bu, genellikle minimizasyon veya maksimizasyon problemine dayalı olarak küresel minimum veya küresel maksimumun bulunmasıdır. Gerçek dünyada, tasarımların veya problemlerin tamamına yakını birden fazla ve birbiriyle çeliģebilen amaçların eģ zamanlı optimizasyonunu gerektirir. Örneğin; bir köprü inģası için iyi bir tasarım, düģük kütle ve yüksek dayanıklılıkla ifade edilir. Uçak tasarımı; yakıt verimliliği, yük ve ağırlığın eģ zamanlı optimizasyonunu gerektirir. Bir arabanın tavan pencere tasarımı için sürücünün duyacağı gürültünün minimize edilmesi, havalandırmanın ise maksimize edilmesi amaçlanır. Bu bakımdan, çoklu-amaç durumunda tüm amaçlara göre en iyi olan tek bir çözüm mevcut olmayabilir. Bu durumda karar vericinin, üzerinde uzlaģma sağlanmıģ sonlu bir kümeden bir çözüm seçmesi istenir. Uygun çözüm, tüm amaçlar için kabul edilebilir düzeyde bir performans sağlamalıdır. 3.. Pareto Optimal Kavramı Pareto Optimal kavramı 900 lü yılların baģlarında, esasen Ġtalyan bir iktisatçı ve sosyolog olan Vilfredo Pareto tarafından bulunmuģ olan ekonomik yeni refah teorisinden gelmektedir. Pareto bir ulusun ekonomisinde olası olan denge

27 6 durumlarını araģtırırken, adını kendisinden alan pareto optimal kavramını buldu. Pareto optimal duruma ulaģılması halinde insanların yararlı mallara ve hizmetlere olan gereksinimleri, en iyi biçimde tatmin edilmiģ olur. Bununla modern refah teorisinin temellerini kurmuģtur. Bu teoriye göre;. Herkesin durumunu daha iyi yapan veya kimsenin durumu değiģtirmediği halde en az bir kiģinin durumunu daha iyi hale getiren,. Herkesin durumunu daha kötü yapan veya kimsenin durumunu değiģtirmediği halde en az bir kiģinin durumunu daha kötü yapan değiģmelerin değerlendirilmesini yaparak Ģu sonuçlara varmıģtır: Bazılarının durumunu daha iyi hale getirip bazılarının durumunu daha kötü hale getiren değiģmelerin refahı ne yönde etkilediği söylenemez. Refah, ancak hiç kimsenin durumunu kötüleģtirmeden bazı kiģilerin durumunu iyileģtirebiliyorsa artmıģ sayılır ve Ģayet kimsenin durumunu kötüleģtirmeden bir kiģinin dahi durumunu iyileģtirme olanağı yoksa refah maksimuma ulaģmıģ sayılır (wikipedia 007). Pareto-optimal kavramı, evrimsel algoritmalara uyarlanmasıyla, çok amaçlı evrimsel optimizasyon algoritmaları geliģtirilmiģtir. Buna göre, popülâsyondaki bir çözüm amaç değerlerine göre, en iyi, en kötü ve diğer çözümlerden farksız olabilir. En iyi çözüm, amaçların herhangi biri içinde en kötü olmayan ve en azından bir amaç içinde diğerlerinden daha iyi olan çözüm anlamındadır. Optimal çözüm, arama uzayında, herhangi bir diğer çözüm tarafından bastırılmayan çözümdür. Böyle bir optimal çözüme Pareto-Optimal Çözüm ve bütün bu Ģekildeki optimal trade-offs çözümlerin kümesi de Pareto-Optimal Küme olarak adlandırılır (Dias 00, Osyczka 00, Deb 00). Genellikle çok amaçlı evrimsel algoritmaların amacı, tradeoff yüzeyi yani bastırılmamıģ çözüm noktaları kümesini tespit etmektir. Bu küme, yukarıda tanımlanan Pareto-Optimal yada diğer bilinen ifadeleriyle bastırılmamıģ (nondominated) yada ikinci dereceden olmayan (noninferior) çözümler kümesi Çok Amaçlı Evrimsel Algoritmalarda Pareto-Optimal Çözümler Kümesi bulunurken doğal olarak genotip uzay dikkate alınarak değerlendirme yapılır. Bulunan bu çözümlerin fenotipik uzayda koordinat sistemindeki gösterimiyle elde edilen eğri yâda yüzey tradeoff yüzey olarak adlandırılır.

28 7 olarak adlandırılır. Bu çözümlerden geriye kalanlar ise bastırılmıģ (dominated) çözümler olarak bilinir. BastırılmamıĢ çözümlerden herhangi birisi çözüm olarak kabul edilebilir. Bir çözümün tercih edilmesi gerekiyorsa problem bilgisi ve bir takım problemle iliģkili faktörlerin bilinmesine ihtiyaç vardır. Bu yüzden karar verici tarafından seçilen bir çözüm baģka bir karar vericiye göre veya değiģik bir çevre içinde uygun olmayabilir. Bu nedenle çok amaçlı optimizasyon problemlerinde, Pareto-Optimal çözümleri değerlendirebilmek için problem hakkında bilgi sahibi olmak önemlidir. 3.. Çok Amaçlı Optimizasyon Problemleri Çok-amaçlı optimizasyon problemi birden fazla amaçtan, eģitlik ve eģitsizliklerden oluģur. Bu problemlerin genel matematiksel formülasyonu aģağıdaki gibi yazılabilir: Minimize/maksimize f i x = { f x, f x,..., fn x } i =,,, n AĢağıdakilere bağlı olarak g i x 0 j,,..., J h k x 0 k,,..., K (3.) x belirlenen bir karar değiģkenler vektörü ve f, f.,..., f.. n maksimize/minimize edilecek amaç fonksiyonlardır. AĢağıdaki eģitsizlikler x ve y çözümleri arasında tutulduğunda, x çözümü y çözümü tarafından bastırılır. i : f x f y ve j : f x f y (3.) i i j j BastırılmamıĢ çözümlerin örnekleri ġekil 3. de görülmektedir. BastırılmamıĢ ve bastırılmıģ çözümler sırasıyla kapalı ve açık çemberlerle iki boyutlu amaç uzayında görülmektedir. ġekil 3. deki iki boyutlu amaç uzayı, aģağıdaki iki amaçlı optimizasyon problemini ifade eder.

29 8 Maksimize f x ve f x (3.3) f x f x Şekil 3.. BastırılmamıĢ çözümler (kapalı çemberler) ve bastırılmıģ çözümler (açık çemberler) 3.3. MOEA ların Sınıflandırılması Çok Amaçlı Evrimsel Algoritmaların çeģitli Ģekillerde sınıflandırmasını yapmak mümkündür. Burada seçim mekanizmalarına göre sınıflandırma yapılmıģtır. Buna göre optimizasyon algoritmaları; Toplama Fonksiyonları Popülâsyon-Temelli YaklaĢımlar Pareto-Temelli YaklaĢımlar olmak üzere 3 grupta toplanabilir. Bunlar hakkındaki kısa açıklamalar aģağıda verilmektedir (Coello 005) Toplama fonksiyonları Bu konuda, en temel ve en basit olarak nitelendirilebilecek yaklaģım türüdür. Bu yöntem, çoklu amaçları optimize edebilmek için, amaçların her birini tek bir

30 9 sayısal değerde birleģtirdiğinden, toplama fonksiyonları olarak adlandırılır. Genellikle aģağıdaki gibi bir uygunluk fonksiyonu kullanılarak gerçekleģtirilir. min k i w i f i x Burada w i (ağırlık katsayısı), her biri sıfırdan büyük eģit olmak üzere toplam k tane amaç fonksiyonundan i. amaç fonksiyonunun ağırlık katsayısını gösterir ve çoğunlukla k w i i olduğu varsayılır Popülâsyon-Temelli Yaklaşımlar Bu tür yaklaģımda evrimsel algoritmanın (EA) popülâsyonu, arama iģleminin çeģitlendirilmesi amacıyla kullanılır. Fakat Pareto üstünlük kavramı doğrudan seçim sürecine dâhil edilmez. Bu yaklaģımın klasik örneği, Schaffer tarafından önerilen Vektör Değerlendirmeli Genetik Algoritma (VEGA)dır. VEGA temel olarak seçim mekanizması değiģtirilmiģ basit bir genetik algoritmadan oluģur. VEGA da popülâsyon her bir amaç için alt popülasyonlara bölünerek Pareto yüzeyin bulunması hedeflenir. Ancak bu algoritma kısmen baģarılı sonuçlar üretiyor gibi görünse de oldukça zayıf ve dezavantajları olan bir algoritmadır. VEGA hakkında detaylı bilgi bölüm-3 te verilmektedir Pareto temelli yaklaşımlar Pareto temelli yaklaģımlarda Pareto-Optimalite kavramı veya diğer bir değiģle Pareto üstünlüğüne dayalı sınıflandırma kullanılarak bastırılmamıģ çözümler kümesi elde edilmeye çalıģılır. Bu yaklaģımı kullanan algoritmalar, 989 yılında Golberg in ortaya koyduğu Pareto derecelendirme metodundan esinlenmiģlerdir. Goldberg

31 0 önerisinde, mevcut popülâsyona göre bastırılmamıģ olan uygun çözümlerin, bir seçim mekanizması kullanılarak pareto yüzeye yüzeyine doğru popülâsyonun taģınması gerektiğini söyler. Ayrıca, çeģitlilik koruma mekanizması olarak uygunluk paylaģımı ve hücreleme (niching) tekniklerinin kullanılmasını önermektedir. Son yıllarda Pareto-Temelli çok çeģitli MOEA geliģtirilmiģtir. BaĢlıca çok-amaçlı genetik algoritmalar Bölüm-4 te detaylı olarak ele alınmaktadır.

32 4. ÇOK AMAÇLI GENETİK ALGORİTMALAR Çok amaçlı optimizasyon problemlerinin çözümünde genetik ve evrimsel algoritmaları kullanmanın avantajlı olduğu bilinmektedir. Bu nedenle çok amaçlı optimizasyon yöntemlerine dayalı genetik algoritmalar son yıllarda yaygın olarak kullanılmaya baģlanmıģtır (Osyczka, 00). Bu bölümde; tez çalıģmasında ele alınan çok-amaçlı genetik algoritmalar detaylı olarak açıklanacaktır. 4.. VEGA: Vektör Değerlendirmeli Genetik Algoritma (Vector Evaluated Genetic Algorithm) Schaffer 985 yılında bu alanda öncü nitelikte çalıģmalarda bulundu ve Vektör Değerlendirmeli Genetik Algoritmayı önerdi. VEGA da sağlanması gereken her amaç ayrı ayrı ele alınır ve tam olarak sağlanan tüm çözümler elde edilmeye çalıģılır. Bu durum çoğunlukla Pareto-Optimal yüzeyin uç noktaları ve komģuluklarındaki çözümlerin bulunmasına neden olur. I tane amaç fonksiyonlu bir problemde, her biri J/I boyutlu olan alt popülasyonlarla birlikte ele alınarak yeni bir J boyutlu popülâsyon elde edilir. Çaprazlama, mutasyon gibi genetik operatörler bu yeni J boyutlu popülâsyon üzerinden uygulanırlar. Bu süreç ġekil-4. de görülmektedir (Dias 00, Osyczka 00, Schaffer 985, Schaffer 984).

33 ġekil 4.: J-Boyutlu bir popülâsyonda I amaç fonksiyonlu bir problem için VEGA Algoritmasının ÇalıĢması (Schaffer 985) Schaffer tarafından önerilen Vektör Değerlendirmeli Genetik Algoritma popülâsyon temelli yaklaģımlardan biridir. Çünkü algoritmanın n tane alt popülâsyonunu Ģekillendiren seçim iģlemi, n tane amacın her birine göre ayrı ayrı gerçekleģtirilir. Bu yüzden algoritmanın n tane arama yönü vardır. Maksimize edilmesi gereken iki amaçlı bir optimizasyon problemi için arama yönleri ġekil 4. de görülmektedir. Bu yaklaģımda A ve D çözümleri kolaylıkla bulunabilir. Ancak B ve C çözümlerinin bulunması kolay değildir. Şekil 4.: Schaffer ın yaklaģımında arama yönleri (Tadahiko 994) Maksimize f x ve f x

34 3 VEGA bazı problemlerde baģarılı sonuçlara ulaģabilmesine rağmen, çoğunlukla sadece Pareto-Optimal yüzeyin uç değer çözümlerini bulabildiği görülmüģtür. Çünkü arama yönleri amaç uzayın eksenlerine paraleldir. Bu sebeple, Schaffer daha sonraları VEGA yı geliģtirmek için bazı yeni yaklaģımlarda bulunmuģtur. Sonuç olarak VEGA, çok baģarılı olmayan ancak çok amaçlı optimizasyonda evrimsel algoritmaların kullanılması açısından yol gösterici, öncü çalıģmaların baģında gelmektedir. 4.. MOGA: Çok Amaçlı Genetik Algoritma (Multiobjective Genetic Algorithm) Çok-Kriterli optimizasyon problemlerinde amaç, birbiriyle çeliģen çoklu amaç fonksiyonları arasındaki mümkün olan tüm pareto yüzeyin bulunmasıdır. Bu amaçla Tadahiko Murata 997 yılında çok yönlü bir arama gerçekleģtirebilmek amacıyla Çok Amaçlı Genetik Algoritmayı önerdi. Bu yaklaģımı tek-amaçlı genetik algoritmalardan ayıran özellik seçim süreci ve seçkinliği koruma stratejisidir. Şekil 4.3: Çok Amaçlı Genetik Algoritmanın Farklı Arama Yönleri (Murata 997)

35 4 n-kriterli optimizasyon problemi için GA lar kullanıldığında, her bir çözüm için n tane amaç fonksiyonu değerlendirilmek zorundadır. n tane amaç fonksiyonunun değerleri kullanılarak, her bir bireyin uygunluk değeri tanımlanmalıdır. GA lar genotip dünyasında tek-amaçlı optimizasyon problemlerindeki gibi en iyi uygunluk değerli bireyi ararlar. Amaç fonksiyonlarının değerlerini, her bir bireyin uygunluk değerine dönüģtürmek için sıklıkla önerilen yollardan biri sayısal bir fonksiyon içinde birleģtirmektir (Murata 997). (4.) f x x in uygunluk fonksiyonu ve w,, w n n tane amaç için negatif olmayan ağırlıklardır. Bu ağırlıklar aģağıdaki gibi tanımlanırlar: w i 0 i,,..., n için (4.) w w... w (4.3) n Ağırlık değerlerinin sabit seçilmesi arama yönlerini kısıtlar ve VEGA daki problemi ortaya çıkarır. Optimizasyon problemlerinde, sabit ağırlık değeri yaklaģımı veya amaçları ayrı ayrı ele alarak tüm yüzeydeki bastırılmamıģ çözümleri bulma çalıģmaları baģarısızdır (ġekil 4.4). Bu yöntemde ise, farklı arama yönlerinin tespit edilmesi için denklem (4.4) gösterildiği gibi rasgele belirlenmiģ ağırlık değerleri kullanılır (ġekil 4.3). wi randomi / random... randomn, i,,..., n (4.4) random, random,,, random n negatif olmayan rasgele reel sayılardır.

36 5 Şekil 4.4: Sabit Ağırlık Vektörü ile TanımlanmıĢ Arama Yönü (Murata 997) 4... Seçim süreci Bir çift ebeveyn birey, mevcut bir ψ popülâsyondan bir çaprazlama iģlemcisi ile yeni bir birey üretmek için seçildiğinde, öncelikle n tane ağırlık değeri (w,w,,w n ) rasgele üretilir. Daha sonra geçerli ψ popülâsyonundaki her bir x çözümünün uygunluk değeri denklem (4.) e uygun bir Ģekilde n tane amacın ağırlıkları toplamı olarak hesaplanır. Doğrusal ölçeklemeye dayalı her bir x bireyinin seçilme olasılığı P s (x i ) rulet tekerleği seçimi ile aģağıdaki gibi tanımlanır: (4.5) f min (ψ), ψ popülâsyonundaki minimum (en kötü) uygunluk değeridir. Bu seçilme olasılığına göre, ebeveyn bireyler ψ popülâsyonundan seçilir. Seçilen ebeveyn çiftinden çaprazlama ile yeni bir birey üretilir. Daha sonra bu yeni bireye mutasyon uygulanır. Bir baģka ebeveyn çifti seçildiğinde, n tane ağırlık değeri (w, w,, w n ) rasgele bir Ģekilde yeniden tanımlanır. Yani her bir seçim için farklı bir ağırlık vektörü kullanılır. Bu sayede, MOGA seçim iģlemi ġekil 4.4 te gösterildiği gibi farklı arama yönlerine sahip olur.

37 Seçkinlik stratejisi Çok-amaçlı optimizasyonda, iki çözüm kümesi tutulur. Bunlar: geçerli popülâsyon ve geçici bastırılmamıģ çözümler kümesidir. Geçerli popülasyondaki tüm bireylerin uygunluk değerleri hesaplandıktan sonra, geçici bastırılmamıģ çözümler kümesi güncellenir. Yani geçerli popülâsyondaki bir birey, bu popülâsyondaki herhangi bir diğer birey tarafından bastırılmıyorsa, bu birey geçici kümeye eklenir. Daha sonra eklenenlerden herhangi birisi tarafından bastırılan tüm çözümler geçici kümeden çıkarılır. Bu Ģekilde, geçici bastırılmamıģ çözümler kümesi GA ların çokkriterli optimizasyonun her jenerasyonunda güncellenir. Geçici bastırılmamıģ çözümler kümesinden, birkaç çözüm rasgele seçilir ve geçerli popülâsyona eklenir. Rasgele seçilen bastırılmamıģ çözümler bir tür seçkin çözüm olarak görülür. Çünkü hiçbir genetik operatör uygulanmadan, geçerli popülâsyona eklenirler. Geçerli popülasyonun ve geçici bastırılmamıģ çözümler kümesinin güncellenmesi ġekil 4.5 de görülmektedir. Şekil 4.5: MOGA da depolanan birey kümelerinin güncellenme süreci (Murata 997)

38 MOGA Algoritması ġekil 4.6 da MOGA nın akıģ diyagramı görülmektedir. Adım 0 (Başlangıç): Adım (Değerlendirme): Adım (Seçim): Adım 3 (Çaprazlama): Adım 4 (Mutasyon): N pop boyutlu baģlangıç popülâsyonunun bireyleri rasgele bir Ģekilde üretilir. Fenotip uzayındaki çözümlere bireyler kodlanır ve her bir çözüm için n tane amacın değeri hesaplanır. Daha sonra bastırılmamıģ çözümlerin geçici kümesini güncellenir. N pop popülâsyon boyutundaki bireyleri üretmek için ebeveyn bireylerini seçecek aģağıdaki prosedür tekrarlanır. (i) (ii) Rasgele olarak (w, w,, w n ) ağırlık değerleri (4.) e göre, uygunluk fonksiyonu da (4.4) ye göre belirlenir. Denklem (4.5) deki seçilme olasılığına göre, bir çift ebeveyn birey seçilir. Adım de seçilen çiftlerin her birine bir çaprazlama iģlemcisi uygulanır. Üretilen bireylerin her birine mutasyon olasılığı P m oranında bir mutasyon iģlemcisi uygulanır. Adım 5 (Seçkinlik Stratejisi): Rasgele olarak N seçkin adet çözüm, N pop boyutunda üretilen popülâsyondan çıkarılır ve bastırılmamıģ çözümlerin geçici kümesinden rasgele seçilen N seçkin adet çözüm eklenir. Adım 6 (Sonlanma Testi): Eğer önceden belirlenmiģ bir durdurma Ģartı sağlanırsa algoritma durdurulur. Aksi takdirde adım e dönülür.

39 8 Şekil 4.6: MOGA AkıĢ Diyagramı 4.3. NPGA: Hücrelendirilmiş Pareto Genetik Algoritması (Niched Pareto Genetic Algorithm) HücrelendirilmiĢ Pareto Genetik Algoritması 993 yılında Jeffrey Horn ve Nicholas Nafpliotis tarafından önerildi. Genetik algoritmalarda seçim iģlemi; popülâsyondaki bireylerden hangilerinin genotip bilgisinin, sonraki jenerasyona aktarılacağını belirlemek için kullanılır. Seçim süreci için en çok tercih edilen tekniklerden biri turnuva seçimidir. Turnuva seçiminde bireyler kümesi rasgele mevcut popülâsyondan seçilir ve bu seçilen altkümenin en iyisi sonraki popülâsyona aktarılır. Turnuva boyutu belirlenerek, seçim iģlemi ve yakınsama hızı arttırılabilir. Bu yüzden genellikle en küçük turnuva boyutu olan ikili turnuva, daha geniģ bir turnuva boyutuna göre daha yavaģ bir yakınsama gösterir.

40 9 NPGA da yakınsamayı önlemek ve çoklu Pareto-Optimal çözümleri elde etmek için, turnuva seçimi iki Ģekilde değiģtirilmiģtir. Bunlar; Pareto Üstünlüklü Turnuvanın (Pareto Domination Tournament) eklenmesi ve bastırılmamıģ bir turnuva sonucu olduğunda, kazananı belirlemek için PaylaĢım kullanılmasıdır (Horn 994, Osyczka 00, 007) Pareto Üstünlük Turnuvası NPGA da turnuva seçimi, çoklu amaçları kullanarak Pareto-Optimal yüzeyin elde edebilmesi için değiģtirilerek Pareto Üstünlük Turnuvasına dönüģtürülmüģtür. Rasgele seçilen iki birey pareto üstünlüklerine göre karģılaģtırıldığında doğal olarak ikili bir turnuvaya tabi tutulur. Eğer biri diğerini bastırırsa, kazanan o olur. Ġki aday birey ve bu bireylerin karģılaģtırma kümesi mevcut popülâsyondan rasgele alınır. Daha sonra adayların her biri karģılaģtırma kümesindeki her bir birey ile kıyaslanır. Eğer bir aday karģılaģtırma kümesi tarafından bastırılırsa ve diğer aday bastırılamazsa, diğeri yeniden üretim için seçilir. Her ikisi de bastırılamaz yâda her ikisi de karģılaģtırma kümesi tarafından bastırılırsa, kazananı seçmek için paylaģım kullanılır. Örneğin boyutu: t dom (karģılaģtırma kümesinin boyutu) mevcut seçim basıncı üzerindeki kontrolü veya diğer bir değiģle üstünlük basıncını (domination pressure) verir. Eğer her iki aday da mevcut bastırılmamıģ yüzey üzerinde ise iki aday da bastırılamayacağı için bir problem ortaya çıkacaktır. Küçük bir t dom her ikisinin de bastırılmıģ görünmediği veya her ikisi de bastırılabileceği anlamına gelebilir. Böyle bir sonuç eģitliğinde kazanan rasgele seçilirse, genetik sürüklenme popülâsyonun Pareto yüzeyin tek bir bölgesine yakınsamasına yol açar. Bunu önlemek için iki birey arasında bir tercih yapılamadığında, bir tür paylaģım tekniği uygulanır. ġekil 4.7 de Pareto üstünlük turnuvası için sözde kod görülmektedir.

41 30 function seçim begin karıştır(random_pop_index); aday_ = random_pop_index[]; aday_ = random_pop_index[]; aday dominated = false; aday dominated = false; for karşılaştırma_kümesi_index = 3 to tdom + 3 do begin /* tdom bireylerini S den rasgele seçer*/ karşılaştırılacak_birey = random_pop_index[karşılatırma_kümesi_index]; if S[karşılaştırılacak_birey] dominates S[aday_] then aday dominated = true; if S[karşılaştırılacak_birey] dominates S[aday_] then aday dominated = true; end if( aday dominated AND!aday dominated ) then return aday_; else if(!aday dominated AND aday dominated ) then return aday_; else paylaşım_uygula(); end Şekil 4.7: Pareto Üstünlük Turnuvası için Sözde Kod Bastırılmamış Yüzey Üzerinde Paylaşım Pareto-Optimal yüzey boyunca dağılmıģ bir popülâsyon elde etmek için kararlı bir uygunluk paylaģım tekniğini uygulanmalıdır. Ġlk olarak Goldberg ve Richardson tarafından önerilen uygunluk paylaģımının amacı, arama uzayındaki farklı pik noktaları üzerine, pik noktalarının büyüklükleri ile orantılı olarak popülâsyonu Pareto-Optimal yüzey boyunca dağıtmaktır. Bu dağılımı baģarmak için paylaşım kullanılarak bir bireyin uygunluk değerinin indirgenmesi sağlanır. Bu indirgeme, basitçe amaç fonksiyonunu (f i ) paylaģılan uygunluğunu bulacak olan m i değerine bölerek bulunur (f i / m i ). Hücre boyutu (niche count) m i : i bireyinin komģuluğunun (niche) ne kadar kalabalık olduğunun bir ölçüsüdür. m i değeri mevcut popülâsyondaki tüm bireyler üzerinden hesaplanır.

42 3 m Sh d[ i, j] d [ i, j] i ve j bireyleri arasındaki mesafedir, i j pop Sh d paylaģım fonksiyonudur. Sh d fonksiyonu, d[ i, j] nin indirim fonksiyonudur. Öyle ki Sh 0 ve Sh d 0 share Tipik olarak, üçgensel paylaģım fonksiyonu kullanılır. Sh d / d share eğer d share Sh d 0 eğer d share Burada hücrenin (niche) yarıçapıdır. share share, amaç çözümler arasında istenen veya beklenen bazı minimal sapma tahminlerinde kullanıcı tarafından belirlenir. Birbirinin share mesafesi içindeki bireyler, aynı hücre içinde oldukları için birbirlerinin uygunluk değerlerini azaltırlar. Bu yüzden yakınsama bir hücre içinde meydana gelir. Böylece tüm popülâsyonun yakınsaması önlenir. Herhangi bir paylaģım uygulamasında, genotipik paylaģım gerçekleģtirilebilir. Çünkü her zaman bir genotip mevcuttur. Fakat yapılan çalıģmalar genelde fenotipik paylaģımın, genotipik paylaģıma göre daha üstün olduğunu gösterir. Fenotipik Pareto-Optimal yüzey boyunca çeģitliliği elde etmekle ilgilenildiğinden, özellik uzayında paylaģımın gerçekleģtirmesi mantıklı olur. Eşdeğer Sınıf Paylaşımı: Adayların her ikisi de bastırılmıģ ya da her ikisi de bastırılmamıģ olduğunda, muhtemelen aynı denklik sınıfındadırlar. Çünkü yüzey boyunca çeģitlilik sağlanmaya çalıģılmaktadır ve bu denklik sınıfındaki bireylerin çoğu eģit uygunluklu olarak nitelenebilir. Hücre boyutuna göre de herhangi bir uygunluk azaltması yapılmaz. Bunun yerine en uygun aday, kendi hücresi içinde en az sayıda birey olan aday olarak belirlenir ve böylece en küçük hücre boyutu belirlenmiģ olur. Bu tip paylaģıma EĢdeğer Sınıf PaylaĢımı (Equivalence Class Sharing) denir.

43 3 Şekil 4.8: EĢdeğer Sınıf PaylaĢımı (Horn, 994) ġekil 4.8 iki bastırılmamıģ birey arasında bu paylaģım tekniğinin çalıģması görülmektedir. Burada x-ekseni boyunca maksimizasyon ve y-ekseni boyunca minimizasyon yapılmaktadır. Seçim için iki aday, karģılaģtırma kümesi tarafından bastırılmaz. Bu durumda bu iki aday, karģılaģtırma kümesinin ve adayların birleģiminin Pareto-Optimal altkümesindedir (kesik çizgili bölgededir). Pareto- Optimal çözüm açısından bakıldığında, adayların hiçbiri tercih edilmez. Ama faydalı bir çeģitliliğin elde edilmesi istenildiğinden, daha küçük hücre boyutuna sahip adayı seçmenin en iyisi olacağı açıktır. Bu durumda Ģekilden Aday seçilecektir NSGA: Bastırılmamış Sınıflandırmalı Genetik Algoritma (Nondominated Sorting Genetic Algorithm) BastırılmamıĢ Sınıflandırmalı Genetik Algoritma (NSGA) 994 te Srinivas ve Deb tarafından önerilmiģtir. NSGA nın da basit genetik algoritmadan ayrılan tek yanı diğer çok amaçlı genetik algoritmalarda olduğu gibi seçim iģlemcisinin uygulanıģıdır. Çaprazlama ve mutasyon iģlemcileri alıģılageldiği Ģekilde uygulanır. Seçim

44 33 iģleminden önce, popülâsyon bireylerin Pareto üstünlüklerine göre sıralanır. Öncelikle popülâsyondaki bastırılmamıģ bireyler, mevcut popülâsyondan tespit edilir ve bu bireylerin ilk Pareto yüzeyi oluģturduğu varsayılır. Daha sonra bireylere sahte bir uygunluk değeri atanır. Aynı uygunluk değerinin tüm bu bastırılmamıģ bireylere eģit üretkenlikte bir potansiyel verdiği varsayılır. Popülâsyondaki çeģitliliği elde etmek için, bu sınıflandırılmıģ bireyler daha sonra sahte uygunluk değerleri ile paylaģılırlar. PaylaĢım; bir bireyin orijinal uygunluk değerinin, bireylerin sayısıyla orantılı bir değere bölünerek elde edilmektedir. Daha sonra bu indirgenmiģ uygunluk değeri kullanılarak seçim iģlemi gerçekleģtirilir. PaylaĢım sürecinden sonra, bastırılmamıģ bireyler, geçici olarak ihmal edilir. Geriye kalan popülâsyon kullanılarak benzer Ģekilde ikinci bir bastırılmamıģ yüzey elde edilir. Bu yeni noktalar kümesindeki bireylere, önceki yüzeyin minimum paylaģılan sahte uygunluğundan daha küçük yeni bir sahte uygunluk değeri atanır. Bu süreç bütün popülâsyonun bireyleri bir yüzey içinde sınıflandırılıncaya kadar devam eder (Srinivas ve Deb, 993). Popülâsyon daha sonra sahte uygunluk değerlerine göre yeniden üretilir. Bu çalıģmada stochastic remainder proportionate selection kullanıldı. Ġlk yüzeydeki bireyler maksimum uygunluk değerlerine sahip oldukları için, diğer yüzeylerdeki bireylere oranla her zaman sonraki nesle kopyaları daha fazla alınır. Böylece, bastırılmamıģ bölgelerin incelenmesi amaçlanır. SınıflandırılmıĢ olan bu çözümler ve paylaģım tekniği bastırılmamıģ bölgelere karģı popülâsyonun daha hızlı yakınsamasına yardımcı olur. NSGA nın verimliliği, bastırılmamıģ sıralama prosedürünü kullanılmasından ileri gelmektedir.

45 34 Başla Başlangıç Popülâsyonu Jen = 0 Yüzey = Popülâsyon sınıflandırıldı mı? Bastırılmamış bireyleri tanımla Jen = Jen + Sahte uygunluk değerine göre yeniden üretilme Çaprazlama Mutasyon Sahte uygunluk değeri ata Mevcut yüzeyde paylaşım Yüzey = Yüzey + Evet Jen < maxgen mi? Dur Hayır Şekil 4.9: NSGA AkıĢ Diyagramı (Srinivas ve Deb 993) ġekil 4.9 da algoritmanın akıģ diyagramı görülmektedir. Her yüzeydeki paylaģım değeri, aynı yüzeydeki iki birey arasında bir paylaģım fonksiyon değeri hesaplanarak aģağıdaki gibi elde edilir: Sh d ij 0, d ij share, Eger d ij Aksihalde share ise; Yukarıdaki eģitlikte; d ij parametresi, mevcut yüzeydeki i ve j bireyleri arasındaki fenotipik mesafedir. share bir hücredeki iki birey arasında izin verilen

46 35 maksimum fenotipik mesafedir. Sonunda, her bir bireyin paylaģılan uygunluk değeri olan sahte uygunluk değeri hücre boyutuna bölünerek hesaplanır. Hücre boyutu (niche count) parametresi ise mevcut yüzeydeki tüm bireylerin paylaģım fonksiyon değerleri toplanarak bulunur NSGA-II: Bastırılmamış Sınıflandırmalı Genetik Algoritma II (Nondominated Sorting Genetic Algorithm II) Daha önce Deb tarafından önerilmiģ olan NSGA nın yüksek hesaplama karmaģıklığı, seçkinlik eksikliği ve share parametre değerinin ayarlanmasındaki belirsizlik gibi zayıf yönler göz önüne alınarak, 00 yılında NSGA-II algoritması yine Deb ve arkadaģları tarafından geliģtirilerek ortaya konulmuģtur. Strateji olarak NSGA ya paralellik gösterse de algoritma açısından oldukça farklı ve yeni yöntemler içerir Hızlı bastırılmamış sınıflandırma yaklaşımı N boyutlu bir popülâsyonda ilk bastırılmamıģ yüzeyin çözümlerini tanımlayabilmek için, her bir çözümün popülâsyondaki diğer tüm çözümlerle karģılaģtırılması gerekir. Bu iģleme popülâsyondaki bastırılmamıģ yüzeyin tüm üyelerini bulmak için devam edilir. Sonraki bastırılmamıģ yüzeylerdeki bireyleri bulmak için, ilk yüzeyin çözümleri geçici olarak dikkate alınmaz ve yapılan iģlem tekrarlanır. Hesaplama karmaģıklığı açısından en kötü durum, her bir yüzeyde sadece tek çözümün olduğu, N tane yüzey bulunduğu zamandır. Hızlı bastırılmamıģ sınıflandırma yaklaģımı için sözde kod ġekil-4.0 da verilmiģtir. Hızlı bastırılmamıģ çözümleri sınıflandırma yaklaģımında, iki değer öncelikle hesaplanmalıdır. Bunlar; üstünlük sayısı n p : bir p çözümünü bastıran çözümlerin sayısı ve S p : p çözümünün bastırdığı çözümlerin kümesi.

47 36 fast non dominated sort for each p P S n p p for each q P if p q then S S q else if q p then n n if 0 0 p F i while Fi Q for each q Fi for each q S i p p F n rank i p n if F q p p 0 then n q q n q rank p 0 then i Q Q q i Q p P Eğer p, q yu bastırırsa q yu p tarafından bastırılan çözümler kümesine ekle p nin üstünlük sayısını artır p ilk yüzeye mi ait? yüzey sayacını baģlangıç durumuna getir Sonraki yüzeyin elemanlarını depolamak için kullanılır q sonraki yüzeye mi ait? Şekil 4.0: Hızlı BastırılmamıĢ Çözüm Sıralama Metodu Ġçin Sözde Kod (Deb, 00) Ġlk bastırılmamıģ yüzeydeki tüm çözümlerin üstünlük sayısı sıfırdır. n p = 0 olan her bir p çözümünün, S p kümelerindeki her bir q elemanın üstünlük sayısı bir azaltılır. Bu iģlemden sonra, eğer herhangi bir q elemanı için üstünlük sayısı sıfır olmuģsa, bu ayrı bir Q kümesine koyulur. Q kümesindeki bu üyeler ikinci bastırılmamıģ yüzeyi oluģturur. Daha sonra, yukarıdaki iģlem Q nun her bir üyesi için devam ettirilir ve üçüncü yüzey tanımlanır. Bu iģlem tüm yüzeyler tanımlanıncaya kadar devam eder.

48 37 Ġkinci veya daha sonraki bastırılmamıģ yüzeylerde bulunan her bir p çözümü için üstünlük sayısı n p, en fazla N olabilir. Böylece her bir p çözümü, üstünlük sayısı sıfır olmadan önce, en fazla N defa ele alınacaktır. Bu noktada, çözüm bir bastırılmamıģ yüzeye atanır ve tekrar ele alınmaz. En fazla böyle N çözüm olduğu için, toplam karmaģıklık O(N ) dir Çeşitliliğin sağlanması Evrimsel algoritmanın Pareto-Optimal kümeye, doğru yakınsamayı sağlaması ve elde ettiği çözümlerin iyi bir yayılıma sahip olması istenir. Orijinal NSGA bu amaçla, bilinen bir paylaģım fonksiyonu kullanır. Bu fonksiyon, ilgili parametreleri uygun Ģekilde ayarlayarak popülâsyonda çeģitliliği sağlar. PaylaĢım fonksiyonu, bir paylaģım parametresi ( share ) içerir. Bu parametre, problemde istenen paylaģımın kapsamını ayarlar ve iki birey arasındaki yakınlığı hesaplamak için seçilen mesafe metriği ile iliģkilidir. share parametresi, her biri diğerinin uygunluğunu paylaģan herhangi iki çözüm için mesafe metriğinin en geniģ değerini gösterir. Bu parametre genellikle kullanıcı tarafından ayarlanır. Bu paylaģım fonksiyonu yaklaģımında iki zorluk vardır. ) PaylaĢım fonksiyonu metodunun performansı için çözümlerin dağılım sağlanması, büyük ölçüde share değerinin seçilmesine bağlıdır. ) Her bir çözüm popülâsyondaki diğer tüm çözümlerle karģılaģtırılmak zorunda olduğu için, paylaģım fonksiyon yaklaģımının tüm karmaģıklığı O N dir. NSGA-II algoritmasında, yukarıdaki sözü edilen her iki güçlüğü ortadan kaldırmak amacıyla paylaģım fonksiyon yaklaģımı yerine kalabalık-karşılaştırma yaklaģımı kullanılmıģtır. Yeni yaklaģım, popülâsyonun bireyleri arasındaki çeģitliliği sağlamak için herhangi bir kullanıcı tanımlı parametre gerektirmez. Ayrıca, daha iyi bir hesaplama karmaģıklığına sahiptir. Bu yaklaģımın anlaģılması için, yoğunluktahmin metriği ve kalabalık-karģılaģtırma operatörü öncelikle açıklanması gerekir.

49 38 f Şekil 4.: Kalabalık-Mesafe Hesaplaması. Dolu dairelerle iģaretlenmiģ noktalar aynı bastırılmamıģ yüzeydeki çözümlerdir. f Popülâsyonda herhangi bir noktanın yoğunluğunu tahmin etmek için; ele alınan noktanın her iki kenarında bulunan iki noktanın ortalama uzaklığı tüm amaçlar için hesaplanır. Bu miktar ( i tan ), en yakın komģular olan köģeler kullanılarak dis ce Ģekillendirilen küboidin çevre uzunluğunun tahmini için kullanılır ve buna kalabalıklık mesafesi (crowding-distance) denir. ġekil-4. de içi dolu dairelerin oluģturduğu yüzeyde, i. bireyin kalabalıklık mesafesi, küboidin (kesikli kutu ile gösterilen) ortalama kenar uzunluğudur. Kalabalık-mesafe hesabı, amaç fonksiyon değerlerine göre artan büyüklükle popülâsyonu sıralamayı gerektirir. Daha sonra, her bir amaç fonksiyonunun sınır çözüm değerlerine (en küçük ve en büyük fonksiyon değerli çözümler) sonsuz bir uzaklık değeri atanır. Diğer tüm ara çözümler için, bitiģik iki bireyin fonksiyon değerlerinde, tam normalleģtirilmiģ farka eģit bir uzaklık değeri hesaplanır. Bu hesaplama diğer amaç fonksiyonlarla devam eder. Bütün kalabalık-mesafe değeri, tüm amaçlarla ilgili birey uzaklıklarının toplamı olarak hesaplanır. Her bir amaç fonksiyon, kalabalık-mesafesi hesaplanmadan önce normalleģtirilir. Bir I bastırılmamıģ çözüm kümesindeki tüm çözümler için kalabalıklık mesafesini hesaplayan algoritma ġekil 4. de verilmiģtir.

50 39 crowding mesafe ataması I l I for each i, set I i I dis tan ce fori to l distance for each objective m I sort I, m I l dis tan ce 0 I i dis tan ce I i dis tan ce I i. m I i. m / f max m f min m Şekil 4.: Kalabalık KarĢılaĢtırma Mesafesi (Crowding Mesafesi) için sözde kod Ana döngü Ġlk olarak rasgele bir Ģekilde P 0 ebeveyn popülâsyonu oluģturulur ve popülâsyon bireylerin Pareto üstünlüklerine dayalı olarak sıralanır. Her bir çözümün uygunluğu, kendi bastırılmamıģlık seviyesine eģit olarak atanır ( en iyi seviye, ikinci en iyi seviye ve bu Ģekilde). Bu yüzden uygunluğun minimizasyon kullandığı varsayılır. Daha sonra, doğal ikili turnuva seçimi, yeniden birleģme ve mutasyon iģlemcileri, N boyutlu Q0 popülâsyonunun bireylerini oluģturmak için ebeveyn popülâsyona uygulanır. Seçkinlik iģlemi ise, önceki en iyi bastırılmamıģ çözümlerle mevcut popülâsyon karģılaģtırarak gerçekleģtirilecektir. Bu yüzden, baģlangıç jenerasyonundan sonra prosedür farklı bir Ģekilde iģler. Buna göre, NSGAII algoritmasının t. jenerasyonu aģağıda anlatılmaktadır. 3 Burada i. m, I kümesindeki i. bireyin m. amaç fonksiyon değerini gösterir ve amaç fonksiyonunun maksimum ve minimum değerleridir. max f m ve min f m m.

51 40 Şekil 4.3: NSGAII Prosedürü (Deb, 00) NSGA-II prosedürünün adım adım çalıģma süreci ġekil 4.3 te görülmektedir. Öncelikle, birleģik popülâsyon R P Q oluģturulur. Bu popülâsyon N t t boyutundadır ve bastırılmamıģlığa göre sıralanmalıdır. Önceki popülâsyonun tümü ve mevcut popülâsyonun bireyleri t R t ye eklendiği için, seçkinlik garantilenmiģ olur. En iyi bastırılmamıģ küme olan F e ait olan çözümler, birleģik popülâsyondaki en iyi çözümlerdir ve birleģik popülâsyondaki diğer çözümlerden daha fazla vurgulanmalıdırlar. Eğer F in boyutu N den küçükse, yeni popülâsyon P t için F kümesinin tüm üyeleri kesin olarak seçilir. P t popülâsyonunun kalan üyeleri, oranlarına göre sonraki bastırılmamıģ yüzeylerden seçilir. Diğer bir ifadeyle, sırasıyla önce F kümesinden, sonra F 3 kümesinden çözümler alınır ve bu Ģekilde devam edilir. Bu iģlem P t popülâsyonu doluncaya kadar devam eder. Genelde, F den F l e tüm kümelerde çözümlerin sayısı popülâsyon boyutundan daha geniģtir. Kesin olarak N popülâsyon üyesi seçmek için, son yüzey F l nin çözümlerini kalabalıkkarģılaģtırma operatörünü n kullanarak azalan düzende sıralanır ve tüm popülasyon boģluklarını (slot) doldurmak için ihtiyaç duyulan en iyi çözüm seçilir. NSGAII prosedürü ayrıca Ģekil 4.4 te görülmektedir. N boyutlu yeni popülâsyon P t, yeni bir N boyutlu Q t popülasyonunu oluģturacak seçim, çaprazlama ve mutasyon için kullanılır. Burada kalabalık-karģılaģtırma (crowding comparision) operatörüne dayalı ikili turnuva seçim operatörü kullanılmaktadır.

52 4 R P Q t t t F fast non do min ated sort( R ) P t ve i until P F N t crowding mesafe ataması( F) t t i i i Sırala( F ) P P F : N P t t i t t t t t i n i P P F Q yeni pop yap P t i ġekil 4.4 NSGA-II ana prosedürü 4.6. SPEA: Kuvvet Pareto Evrimsel Algoritması (Strength Pareto Evolutionary Algorithm) 999 yılında Eckart Zitztler tarafından önerilen Kuvvet Pareto Evrimsel Algoritması (SPEA), Pareto-Optimal kümeye yakınsamak için eski bilinen yöntemlerle yenilerini birleģtirir. SPEA nın ana özellikleri aģağıda sıralanmıģtır. O ana kadar ele alınmıģ tüm bireyler arasındaki bastırılmamıģ yüzeyi gösteren bireyleri harici olarak depolar. Sayısal uygunluk değerlerini atamak için Pareto üstünlük kavramını kullanır. Pareto optimal yüzeyin karakteristiklerini yok etmeksizin harici olarak depolanan bireylerin sayısını azaltmada kümeleme tekniği kullanır. SPEA dört açıdan farklılık gösterir: Yukarıdaki üç özelliği tek bir algoritmada birleģtirir. Popülâsyondaki bir bireyin uygunluğunu, sadece harici kümede depolanmıģ bireylerden belirler. Birbirlerini bastırıp bastırmadıkları önemsizdir. Harici kümedeki tüm bireyleri seçime katar. Popülâsyondaki çeģitliliği korumak için yeni bir Pareto temelli hücreleme metodu önerir (Zitzler 999, Zitzler 000).

53 SPEA Algoritması Girdi: N (popülasyon boyutu) N T pc pm (harici kümenin maksimum boyutu) (maksimum jenerasyon sayısı) (çaprazlama oranı) (mutasyon oranı) Çıktı: A (bastırılmamış küme) Adım : Başla: P 0 popülâsyonunu ve harici kümeyi oluģtur. P 0 Ø t = 0. For i,..., N do a) Bazı olasılık dağılımlarına göre i I b) P i P0 0 Adım : Harici Kümenin Güncellenmesi: Geçici harici kümeyi ayarla. seç P ' 0 Pt a) Karar vektörleri bastırılmamıģ olan bireyleri kopyala m P ) to P': P' P' i i P m( i) p( m( P )) ( t t t b) P' den bastırılan bireyleri çıkar. P ' P' j i, j P' vem( i) m( j) c) Harici olarak depolanmıģ bireylerin sayısını, kümeleme aracılığıyla azalt ve sonuçta azaltılmıģ kümeyi P t e ata. Kümeleme algoritması aģağıda ayrıca verilmiģtir. Adım 3: Uygunluk Ataması: Adım 4: Seçim: P t ve P t ündeki bireylerin uygunluk değerlerini hesapla. Uygunluk Atama Algoritması ayrıca verilmiģtir. ' P = Ø atamasını yap. For i =,..., N do a) P t + P t i, j rasgele iki birey seç. b) If F( i) F( j) then P' P' i else P' P' j. Burada uygunluğun minimize edildiğine dikkat edilmelidir. Adım 5: Çaprazlama Adım 6: Mutasyon

54 43 Adım 7: Sonlandırma: P t P''' ve t t atamalarıt ı yap If t T veya diğer herhangi bir sonlanma kriteri sağlanmıģsa ye atla. A p m Pt aksi halde Adım Algoritmanın ana döngüsü ġekil 4.5 de görülmektedir. Her bir iterasyonun baģlangıcında (Adım), harici küme P t güncellenir ve eğer maksimum boyut N aģılırsa azaltılır. Daha sonra P t ve değerlendirilir ve uygunluk değerleri atanır. Sonraki adım, P t deki bireyler birbirlerinden bağımsız olarak P t + P t, popülâsyon ve harici kümenin birleģimindeki bireylerin seçim safhasını göstermektir. Bunlar eģleme havuzunu doldurmak için seçilirler. Burada yer değiģimli ikili turnuva seçimi kullanılır. Son olarak çaprazlama ve mutasyon operatörleri alıģılageldiği gibi uygulanır. Şekil 4.5: SPEA nın iģleyiģi (Zitzler, 000)

55 Uygunluk ataması Uygunluk atama iģlemi iki aģamalı bir süreçtir. Öncelikle harici P t kümesindeki bireyler derecelendirilir. Sonra P popülâsyonundaki bireyler değerlendirilir. Girdi: P t (popülasyon) P t Çıktı: F (harici küme) (uygunluk değerleri) Adım : Her bir i P t bireyi gerçek bir (i) 0, S değerine atanır. Buna gücün karesi denir. S(i ) popülâsyon üyelerinin sayısıyla orantılıdır. m i m j olan j Pt bireyleri için: S i j j P t m i N m j Harici kümedeki bir i bireyinin Ģu anki popülasyonda bastırdığı birey sayısı, popülâsyon sayısının bir fazlasına bölünerek S(i) değeri hesaplanıyor. i bireyinin uygunluğu onun kuvvetine eģittir, F(i) = S(i ) Adım : Bir j P t bireyinin uygunluğu karar vektörleri m(j) yi bastıran tüm harici olarak depolanan i P t bireylerinin kuvvetleri toplamıyla hesaplanır. P t nin üyelerinin Pt nin üyelerinden daha iyi uyguluğa sahip olduklarını garantilemek için toplama bir eklenir (burada dikkat edilmesi gereken nokta uygunluğun minimize edilmesidir, örneğin küçük uygunluk değerleri yüksek yeniden üretilmeyle iliģkilidir): F j S i F j, N i P, m i t m j Bu dereceleme metodunun etkisi Ģekil 4.6 da açık olarak görülmektedir.

56 45 Şekil 4.6: SPEA da kullanılan hücreleme mekanizmasının gösterimi (Zitzler, 000) Kümeleme algoritması Bazı problemlerde Pareto-Optimal küme aģırı derece geniģ ve hatta sonsuz sayıda çözümden oluģabilir. Bununla beraber bu durum karar verici açısından kabul edilebilir sınırı aģtığında, bulunan bastırılmamıģ çözümlerin çoğu yararsız hale gelir. Ayrıca harici kümenin boyutu SPEA nın çalıģmasını da etkiler. Çok fazla harici birey seçim baskısını düģürür ve aramayı yavaģlatır (ġekil 4.7). Şekil 4.7: BastırılmamıĢ kümeyi azaltma ilkeleri (Zitzler, 000). Birbirine yakın her bir çözümler gruplandırılır.. Her gruptan bir temsilci çözüm seçilir.

57 46 3. Kalan diğer çözümler kümeden çıkarılır. Girdi: P t N ' harici küme maksimum harici küme boyutu Çıktı: P t güncellenen harici küme Adım : C kümesini oluģtur. Her bir oluģturur. C ' i P i i ' P bireyi ayrı bir küme Adım : Eğer C N ise Adım 5 e git aksi halde Adım 3 e git. Adım 3: tüm mümkün olan küme çiftlerinin uzaklıkları hesapla. c ve c kümelerinin d c uzaklığı aģağıdaki gibi hesaplanır. d c c. c. d( i, i ) f c, f c Adım 4: Adım 5: c ve c kümeleri arasındaki minimum dc mesafesini belirle. Seçilen kümeleri daha geniģ bir küme içinde birleģtir. C C / c, c c c. Adım ye git. her bir kümeden temsilci bir birey seç ve diğer tüm bireyleri kümeden çıkar. Genellikle merkezdeki birey (küme içinde diğer bireylere ortalama uzaklığı en düģük olan) tercih edilir. Kümelerin temsilcilerini birleģtirerek azaltılan bastırılmamıģ kümeyi hesapla: P t c C c 4.7. SPEA: Kuvvet Pareto Evrimsel Algoritması (Strength Pareto Evolutionary Algorithm ) SPEA daki uygunluk ataması, yoğunluk tahmini ve arģiv küçültmedeki potansiyel zayıflıklarını yine Zitzler ve arkadaģları iyileģtirilmeye çalıģmıģ ve 00 yılında SPEA yi önermiģlerdir. Uygunluk Ataması: Aynı arģiv üyeleri tarafından bastırılan bireyler, özdeģ uygunluk değerlerine sahiptir. Bunun anlamı, arģiv tek bir bireye sahip olduğu

58 47 durumda, tüm popülasyon üyelerinin, birbirlerini bastırıp bastırmadıkları aynı derecede seçilim etkinliğine sahip olmasıdır. Sonuç olarak, seçim basıncı büyük ölçüde azalır. Bu durumda SPEA rasgele araģtırma algoritması gibi çalıģır. Yoğunluk Tahmini: mevcut popülâsyondaki birçok birey farksızsa, birbirlerini bastırmıyorlarsa, üstünlük iliģkisiyle tanımlı kısmi sıralama temelinde, yok denecek kadar az bilgi elde edilir. Yoğunluk bilgisi; aramaya yön göstermek için daha etkili bir Ģekilde kullanılmak zorundadır. Arşiv Küçültme: SPEA da kullanılan sınıflandırma tekniği, bastırılmamıģ kümenin karakteristiğini bozmadan küçültebilmesine rağmen, atılan bireyleri kaybedebilir. Bununla beraber, iyi bir bastırılmamıģ çözümler dağılımı elde etmek için bu çözümlerin arģivde tutulması daha iyidir. SPEA de bu gerçekleģtirilmektedir (Zitzler, 00) SPEA Algoritması Girdi: N N T Çıktı: A (popülasyon boyutu) (arşiv boyutu) (maksimum jenerasyon sayısı) (bastırılmamış küme) Adım : Başla: P 0 baģlangıç popülâsyonunu üret ve arģivi boģ olarak oluģtur. P 0 ve t 0 Adım : Uygunluk ataması: P t ve P t deki bireylerin uygunluk değerlerini hesapla. Adım 3: Çevresel seçim: P t ve P t deki bireylerin tamamını Pt e kopyala. Eğer P t in boyutu N yi aģarsa, küçültme operatörü aracılığıyla Pt takdirde t bireylerle doldur. P in boyutu N den daha küçükse, Pt i P t ve i azalt. Aksi P t deki bastırılmıģ

59 48 Adım 4: Sonlandırma: eğer t T ise veya diğer herhangi bir durdurma kriteri sağlanmıģsa, Pt deki bastırılmamıģ bireyler aracılığıyla gösterilen karar vektörleri kümesini, A çıktı kümesine ata ve bitir. Adım 5: Eşleşme seçimi: eģleģme havuzunu doldurmak için P t üzerinde çaprazlama ile ikili turnuva seçimini gerçekleģtir. Adım 6: Değişim: eģleģme havuzuna çaprazlama ve mutasyon iģlemcilerini uygula ve sonuç popülâsyonuna P t i ata. Jenerasyon sayacını artır ( t t ) ve Adım ye git. Şekil 4.8: iki amaç fonksiyonlu ( f ve f ) bir maksimizasyon problemi için SPEA ve SPEA deki uygunluk atama Ģemalarının karģılaģtırılması. ġekil 4.8 de solda SPEA Ģemasına göre verilen bir popülâsyon için uygunluk değerleri görülmektedir. Sağda iģlenmemiģ SPEA uygunluk değerleri aynı popülâsyon için çizilmiģtir. SPEA dan farklı olarak, SPEA yoğunluk bilgisini kullanan ince-taneli (finegrained) uygunluk atama stratejisini kullanır. Ayrıca, arģiv boyutu da sabittir. BastırılmamıĢ bireylerin sayısı önceden tanımlanmıģ arģiv boyutundan daha küçükse, arģiv bastırılmamıģ bireylerle doldurulur. SPEA da ise arģiv boyutu çoğu zaman

60 49 değiģebilir. Ek olarak; bastırılmamıģ yüzey arģiv boyutunu aģtığı zaman kullanılan kümeleme tekniği, benzer özellikleri olan ama sınır noktalarını kaybetmeyen alternatif bir küçültme yöntemiyle değiģtirilmiģtir. Son olarak, SPEA dan bir baģka farkı, seçim iģleminde sadece arģiv üyelerinin kullanılmasıdır Uygunluk ataması SPEA dan farklı olarak; bireylerin sadece aynı arģiv üyeleri tarafından bastırılarak özdeģ uygunluk değerlerine sahip olmalarını önlemek için, hem bastırılan hem de bastırılmamıģ tüm bireyler hesaba katılır. ArĢivdeki ve popülâsyondaki her bir i bireyine, bu bireyi kaç tane çözümün bastırdığını gösteren bir S i kuvvet değeri atanır. S i j j P t P t i j. notasyonu bir kümenin en önemliliğini gösterir, + çoklu küme birleģimi ve sembolü Pareto üstünlük iliģkisiyle ilgilidir. S değerlerinin temelinde bir i bireyinin iģlenmemiģ j bireylerinin S değerleri toplamıdır. R i uygunluğu hesaplanır. Özetle bu değer; i bireyini bastıran R i S j j Pt Pt, j i Bu değer, sadece arģiv üyelerinin dikkate alındığı SPEA nın aksine hem arģiv hem de popülâsyondaki bireylerin kuvvet değerleri tanımlanır. Burada dikkat edilmesi gereken bir nokta da uygunluğun minimize ediliyor olmasıdır. R i 0 durumu bastırılmamıģ bir bireyi gösterir. Yüksek bir R i değeri i bireyinin birçok birey tarafından bastırıldığını gösterir. Bu durum ġekil 4.7 de görülmektedir. ĠĢlenmemiĢ uygunluk ataması, Pareto üstünlük kavramına dayalı bir tür hücreleme (niching) mekanizması sağlamasına rağmen, bireylerin çoğu birbirlerini bastırdığı zaman baģarısız olabilir. Bu yüzden özdeģ iģlenmemiģ uygunluk değerlerine sahip bireyler arasında ayrım yapabilmek için ek bir yoğunluk bilgisi

61 50 daha kullanılır. SPEA da ise kullanılan yoğunluk tahmin tekniği k. en yakın komģu tekniğinin bir uyarlamasıdır. Bu metot, herhangi bir noktadaki yoğunluğun k. en yakın veri noktasına uzaklığının bir fonksiyonudur. Burada yoğunluk tahmini olarak k. en yakın komģuya uzaklığın tersi alınır. Daha açık bir Ģekilde, her bir i bireyi için, arģiv ve popülasyondaki tüm j bireylerine uzaklıkları hesaplanır ve bir listede depolanır. Bu liste artan düzende sıralandıktan sonra, k. eleman uzaklık arasını verir ve bu k i olarak gösterilir. Genellikle k, örnek uzay boyutunun karekökü olarak alınır k N N. Daha sonra yoğunluk D i aģağıdaki gibi hesaplanır. D i k i Paydada, değerin sıfırdan büyük olması ve D i olması için iki eklenir. Son olarak D i ve iģlenmemiģ uygunluk değeri R i toplanarak i bireyinin uygunluk değeri bulunur. F i R i D i Çevresel seçim SPEA de arģiv güncelleme iģlemi, SPEA ya göre iki açıdan farklılık gösterir. Bunlar, arģiv boyutunun sabit olması ve arģiv küçültme metodunun uç çözümleri korumasıdır. Çevresel seçim sürecinde ilk adım, arģiv ve popülâsyonda uygunluğu birden düģük olan tüm bastırılmamıģ bireylerin sonraki jenerasyona kopyalanmasıdır. P t i i P Pt F i t Eğer bastırılmamıģ yüzeydeki birey sayısı arģiv boyutuyla tam olarak uyuģursa Pt N çevresel seçim iģlemi tamamlanır. Aksi takdirde, arģiv boyutu olması gerekenden ya küçük Pt N yada büyük Pt N olacaktır. ArĢiv boyutundan küçük olması durumunda, önceki arģiv ve popülâsyondaki en iyi N Pt bastırılmamıģ birey yeni arģive kopyalanır. Bu durum, uygunluk

62 5 değerlerine göre P t P t çoklu kümesi sıralanarak gerçekleģtirilebilir ve F i olan ilk Pt N tane i bireyi sıralanmıģ sonuç listesinden P t e kopyalanır. Pareto yüzeydeki birey sayısının arģiv boyutunu aģması durumda ise yani mevcut bastırılmamıģ kümenin boyutu N yi aģtığında, Pt N oluncaya kadar P t den iteratif olarak eksiltme yapılır. Hangi bireylerin çıkarılması gerektiğine karar vermek için bir arģiv küçültme prosedürüne baģvurulur. Burada her bir iterasyonda, tüm j Pt ve j i d olan ve aģağıdaki eģitsizliklere bağlı olarak çıkarılmak üzere seçilen i bireyi için gösterir. k i, i bireyinin P t deki k. en yakın komģusuna uzaklığını i d j : 0 k P t : k i k j 0 k P t : 0 l k : k i k j k i k j Diğer bir değiģle, her bir adımda, diğer bireylere minimum uzaklığa sahip olan birey seçilir. Eğer minimum uzaklığa sahip birkaç birey varsa, ikincisine ve sonraki komģu uzaklıklarına bakılarak tercih yapılır PESA: Pareto Zarflama-Temelli Seçim Algoritması (Pareto Envelope-based Selection Algorithm) Corne ve ark.(00) tarafından önerilen genetik algoritma, Pareto Zarflama- Temelli Seçim Algoritması olarak adlandırıldı. Bu yaklaģımda, seçim ve çeģitliliğin korunması bir hiper-grid Ģeması aracılığıyla kontrol edilir. PESA seçim yöntemi; popülâsyonda çözümlerin bastırdığı diğer çözümlerin derecelendirilmesine bağlı bir katsayı kullanır. ÇeĢitliliğin sağlanması için kullanılan yöntem ise, diğer algoritmaların da kullandıkları yöntemlere benzerdir. PESA; SPEA gibi diğer algoritmalardaki fikirlerden faydalanır ve bütünleģtirerek kendi içinde kullanır. SPEA da olduğu gibi, PESA da küçük bir dahili popülasyon ve genellikle bundan daha geniģ bir harici popülasyon kullanır. Harici popülasyon gerçekten Pareto yüzeye o anki yakınsamayı depolayan arģivdir.

63 5 Dahili popülasyon ise, arģive girmek için yarıģan yeni aday çözümlerdir. PESA tam olarak fenotip uzayının hiper-grid bölmelerini kullanır. Bu bölmeler, arģivin farklı alanlarındaki kalabalıklık seviyesinin korunmasını sağlar. Bununla beraber PESA da seçim, SPEA nın aksine bu kalabalıklığın ölçüsüne dayanır (Corne ve ark. 00) PESA Algoritması PESA da çaprazlama ve mutasyon oranları gibi standart parametreler kullanılır. Ayrıca, popülasyon boyutuyla ilgili olarak iki ve hiper-grid kalabalıklık stratejisi ile ilgili olarak da bir tane daha parametre kullanılır. PESA algoritmasının detaylı açıklaması aģağıda verilmektedir. IP dahili popülasyonunun boyutu P I ve harici popülasyon-ep nin maksimum boyutu P E olarak gösterilmektedir.. BaĢlangıç popülâsyonunun (dâhili popülasyon-ip) tüm kromozomlarını üret ve değerlendir. Harici popülasyon-ep yi boģ küme olarak oluģtur.. IP nin bastırılmamıģ bireylerini EP ye ekle. 3. Eğer bir sonlandırma kriterine ulaģılmıģsa dur ve EP deki kromozom kümesini sonuç olarak ver. Aksi halde, IP nin Ģu anki içeriğini sil ve P I yeni aday çözümleri üretilinceye kadar aģağıdakileri tekrarla: - p c olasılığı ile EP den iki ebeveyn seç, çaprazlamayla tek bir çocuk 4. Adım ye dön. üret ve buna mutasyon uygula. pc olasılığı ile bir ebeveyn daha seç ve bir çocuk üretmek için buna mutasyon uygula. ArĢiv birleģtirme adımında (adım ), yeni aday çözümlerin o anki kümesi (IP) tek tek arģivde birleģtirilir. Eğer bir aday IP içinde bastırılmamıģ ise ve arģivin herhangi bir diğer üyesi tarafından da bastırılamıyorsa arģive girebilir. Bir aday arģive girdikten sonra, onun bastırdığı arģiv üyeleri arģivden çıkarılır. Eğer arģive bir aday eklemek, arģiv boyutunun taģmasına sebep oluyorsa (yani geçici olarak P E + olması durumu), EP nin o anki üyelerinden biri çıkarılır.

64 53 Şekil 4.9: PESA nın crowding Statejisi (Corne ve ark. 00) PESA da bir ebeveyn seçimi(adım 3), arģivin farklı bölgelerindeki kalabalıklık derecesine bağlıdır. Bu durum ġekil 4.9 da gösterilmektedir. ġekilde iki-amaçlı bir minimizasyon probleminin fenotip uzayında birkaç nokta gözükmektedir. Daireler bastırılmamıģ noktalardır ve dolayısıyla PESA arģivinde olabilirler. Kareler arģiv üyeleri tarafından bastırılır ve bunlar dâhili popülâsyondaki noktalar olabilir. PESA daki kalabalıklık stratejisi, fenotip uzayını hiper-kutular içine bölen kapalı bir hiper-grid Ģekillendirerek çalıģır. Bu ġekil 4.9 da kalın yatay ve dikey çizgilerle gösterilir. Çünkü problem iki boyutludur ve bu yüzden bu hiper-kutular basitçe karelerle ifade edilir. ArĢivdeki her bir kromozom, fenotip uzayındaki belirli bir hiper-kutu ile iliģkilidir ve sıkıģtırma faktörü (squeeze factor) denen bir parametreye sahiptir. Bu, aynı kutuda yer alan arģivdeki toplam kromozom sayısıdır. Örneğin, ġekil 4.9 daki kromozom A nın sıkıģtırma faktörü ve kromozom B nin sıkıģtırma faktörü dir. SıkıĢtırma faktörü seçici uygunluk için kullanılır. Örneğin PESA ikili turnuva seçimi kullandığı zaman, iki kromozom arģivden rastgele alınır ve en düģük sıkıģtırma faktörüne sahip olan birey seçilir. SıkıĢtırma faktörü ayrıca arģiv güncelleme iģlemi için kullanılır. Bir dâhili popülasyon üyesini arģive eklemek, arģiv boyutunun maksimum E P boyutunu aģmasına neden olabilir. Bu yüzden çözümlerden biri arģivden çıkarılmalıdır. Çıkarılacak bireyi seçmek için, popülâsyondaki sıkıģtırma faktör değeri en fazla olan ilk hiper-grid tespit edilir ve bu grid içindeki kromozomlardan biri rastgele çıkarılır.

65 54 5. PERFORMANS KRİTERLERİ Çok amaçlı optimizasyon problemlerinde performans ölçüsü olarak dikkat edilmesi gereken önemli iki durum söz konusudur. Bunlar;. Elde edilen bastırılmamıģ yüzeyin gerçek Pareto-Optimal yüzeye olan mesafesi. Bu yüzeyin Pareto-Optimal kümenin çözümleri içindeki çeģitlilik iddiası Ġlk durum, problem için algoritmanın çalıģtırılması sonucunda elde edilen bastırılmamıģ çözümlerin, gerçek Pareto-Optimal yüzeye ne kadar yakınsadığının, yani sonuçların doğruluk tespiti için önemlidir. Ġkinci durum ise çözümlerin Pareto yüzeyin farklı alanlarına ne derecede tutarlı bir dağılım gösterdiğini belirler. Bu da karar vericinin Pareto-Optimal çözümlerden yapacağı tercihi kolaylaģtırabilir. Bu iki durum yeterli derecede tek bir performans metriği ile ölçülemez. Bu nedenle yapılan çalıģmalarda birçok performans metriği önerilmiģtir (Deb 00, Fonseca ve ark. 993, Zitzler 999). Tez çalıģmasındaki değerlendirmeler, yukarıdaki iki durumu dikkate alan Deb in önermiģ olduğu Yakınsama( ) ve ÇeĢitlilik( ) metrikleri kullanılarak yapılmıģtır (Deb 00). 5.. Yakınsama Metriği ( ) Bu metrik bilinen Pareto-Optimal çözümler kümesine yakınsama boyutunu ölçer. Pareto-Optimal çözümler kümesi bilinen problemler test edileceği zaman, bu metriğin hesaplanması mümkündür. Seçilen herhangi bir problemde bu metriğin sonuçlarını hesaplayabilmek için problemin gerçek Pareto-Optimal yüzeyi bilinmiyorsa, karģılaģtırılacak diğer algoritmaların hepsinden elde edilen bastırılmamıģ çözümlerin yeniden Pareto üstünlüklerine göre birleģtirilmesiyle elde edilen sonuç kümesi gerçek Pareto yüzey olarak kullanılır ve buna göre değerlendirilir.

66 55 Öncelikle amaç uzayda gerçek Pareto-Optimal yüzeyden, H olarak isimlendirilen küme için 500 tane sabit çözüm bulunur. Elde edilen her bir çözüm için, H kümesindeki çözümlere en küçük Öklid mesafesi hesaplanır ve bu mesafelerin ortalaması metrik sonucu olarak kullanılır. (a) Şekil 5.: Performans Metrikleri (a) Yakınsama Metriği (b) ÇeĢitlilik Metriği (b) ġekil 5..a yakınsama metriğinin hesaplanıģını göstermektedir. Gölgeli bölge uygun arama uzayıdır. Ġçi dolu daireler elde edilmiģ bastırılmamıģ çözümleri, içi boģ dairelerse gerçek Pareto yüzeyden alınmıģ H kümesinin elemanlarını gösterir. Bu metriğin değerinin küçülmesi, Pareto-Optimal yüzeye daha iyi bir yakınsama yapılması anlamına gelir. Elde edilmiģ tüm bastırılmamıģ çözümler H kümesi üzerinde ise metrik sıfır değerini alır. Bu metrik kendi baģına çözümlerin yayılımı hakkında da bir miktar bilgi verse de yeterli değildir. 5.. Çeşitlilik Metriği ( ) ÇeĢitlilik metriği, bulunan çözümler arasındaki yayılım baģarısının boyutunu ölçer. Bu kriter tüm Pareto-Optimal bölgeyi kapsayan alana olan dağılımla ilgilenir. Elde edilen bastırılmamıģ çözümler kümesinde, ardıģık çözümler arasındaki d i

67 56 Öklid mesafeleri hesaplanır. Buradan bu mesafelerin ortalaması d hesaplanır. Daha sonra bulunan bastırılmamıģ çözümlerden, amaç uzay içindeki ekstrem çözümler gerçek Pareto-Optimal yüzeye uygun olarak hesaplanır. Dağılımdaki farklılığı hesaplayacak çeģitlilik metriği aģağıdaki gibi formülize edilir: d f d f d l d l N i di d N d Burada d f ve d l ġekil 5..b de de iģaret edildiği gibi, uç çözümler ve bulunan bastırılmamıģ kümenin sınır çözümler kümesi arasındaki Öklid mesafeleridir. Yukarıdaki eģitlikteki diğer ifadeler açıklanacak olunursa; N tane çözüm olduğu düģünüldüğünde, i,,..., ( N ) olmak üzere, d tüm mesafelerin ortalamasını gösterir. Tüm çözümlerin tek çözüm üzerinde yığılması durumunda pay paydaya eģittir. Ancak bu durum çözümler için olabilecek en kötü durum değildir. Mesafeler arasındaki geniģ varyans değerleri olması durumunda metriğin değeri den büyük olabilir. Bununla beraber, olabilecek iyi bir dağılım, tüm d l değerlerinin d ye eģit olmasıdır. d f d 0 durumu bastırılmamıģ kümede ekstrem çözümlerin mevcudiyetiyle beraber olabilecek en iyi durumdur. Bu yüzden en geniģ bir Ģekilde ve en değiģmez Ģekilde bastırılmamıģ çözümler kümesinin yayılımında, metriğin değerini sıfır yapmak için, durumunda metriğin değeri sıfırdan daha büyük olur. nın payı sıfır olacaktır. Herhangi baģka bir dağılım

68 57 6. ÇOK AMAÇLI EVRİMSEL ALGORİTMALAR ARACI (MOEAT: Multiobjective Evolutionary Algorithms Tool) Çok Amaçlı Evrimsel Algoritmalar Yazılımı, çok amaçlı optimizasyon alanında geliģtirilmiģ genetik algoritmalardan baģlıca sekizini (VEGA, MOGA, NPGA, NSGA, NSGAII, SPEA, SPEA, PESA) tek bir arayüzde çalıģtırılarak simülasyonun yapılabilmesi ve sonuçların değerlendirilmesi amacıyla geliģtirilmiģtir. Yazılım; problem simülasyonu, performans metrik hesaplamaları, tüm algoritmalar için parametre değerlerini değiģtirebilme, yeni problem dosyalarını arayüz aracılığı ile oluģturabilme ve kolay kullanılabilirlik gibi özelliklere sahiptir. Program C ailesinin son uzantısı olan C# (C Sharp) programlama dili kullanılarak geliģtirilmiģtir. Tam olarak nesne yönelimli programlamayı destekleyen C# dilinin güçlü, modern, nesne tabanlı ve aynı zamanda tip güvenlikli olması gibi özelliklerinin olması tercih edilmesinin baģlıca sebeplerindendir. Yazılımının açıklanması, kullanıcı arayüzleri ile algoritma ve kodlama olarak iki kısımda ele alınabilir: 6.. Kullanıcı Arayüzleri GeliĢtirilen editör programda, iģlevsellik ve kolay kullanılabilirlik nitelikleri göz önüne alınarak toplam yedi arayüz tasarlanmıģtır. Bunlar açıklanma sırasıyla; Ana Form (MgaForm.cs), Parametreler.cs, PerformansÖlçümü.cs, Euclidean_Mesafesi.cs, Goster.cs, About.cs ve Editor.cs dosyalarında tutulmaktır.

69 Çok kriterli genetik algoritmalar formu (mgaform.cs) Programın kullanıcıya açılan ve diğer formlara bağlantının sağlandığı arayüzüdür. Seçilen algoritmanın çalıģtırılması sürecinde parametrelerin değiģen sayısal değerlerinin takip edildiği ve simülasyonların gerçekleģtirildiği formdur. Ana form ġekil-6. den görülebileceği gibi, temel olarak üç alandan meydana gelir. Bunlar; o anki jenerasyona kadar olan bastırılmamıģ çözümler kümesi (Pareto-Optimal kümeyi), o anki jenerasyonda üretilen popülâsyonun sonuçlarının listelendiği veri tabloları (datagrid) ve bunların fenotipik uzaylarına karģılık gelen koordinat sistemindeki yerlerini gösterir grafik alanıdır. Ayrıca Öklid, Göster, Performans, Parametreler isimli butonlar ile Dosya, Düzen ve Yardım menüleri de bu arayüz üzerinde bulunmaktadır. Yine, hangi algoritmanın çalıģtırılacağını seçmek için kullanılan radiobuttonlar da arayüzün sol alt kısmında yer almaktadır. Form üzerinde bulunan bu veri tablolarının kolon sayıları, çalıģtırılacak problemde bulunan amaç fonksiyonu ve parametre sayılarına (gen sayılarına) bağlı bir Ģekilde otomatik olarak değiģir. Örneğin ġekil-6. de çalıģtırılan problem, iki amaç fonksiyonuna (f(x) ve f(x)) ve üç parametreye (x, x, x3) sahip olduğu için veri tabloları beģ kolonlu olarak ayarlanır. Parametreler arayüzü açıklanırken bu durum hakkında daha detaylı bilgi verilecektir. Kullanıcı, optimizasyon problemi için gerekli parametre ayarlarını yaptıktan ve kullanacağı algoritmayı belirledikten sonra BaĢla butonunu tıklayarak programı çalıģtırır. Program çalıģmaya baģladığı anda BaĢla butonunun adı Dur olarak değiģir. Program, seçilen jenerasyon sayısınca çalıģmasına izin verilebilir veya Dur butonu tıklanılarak istenilen bir zamanda sonlandırılabilir. Her iki durumda da o ana kadar elde edilmiģ olan sonuçlar çalıģtırılan algoritmanın ismiyle programın ana dizinine text dosyalar Ģeklinde kaydedilir. Simülasyon sürecinde, Pareto-Optimal yüzeyle beraber popülâsyonun gösterilmesi tercihli tutulmuģtur. Varsayılan olarak hem Pareto-Optimal yüzey hem de popülâsyon değerleri beraber gösterilir. Bununla birlikte; form baģlığında gösterilen jenerasyon sayısı, algoritmanın tamamlanmasını yüzde olarak gösteren ilerleme çubuğu ve elde edilen toplam Pareto-Optimal çözüm sayısını gösteren metin kutusu her jenerasyon sonunda güncellenir.

70 Şekil 6.: Çok Amaçlı Evrimsel Algoritmalar Aracı Ana Form 59

71 Parametreler arayüzü (Parametre.cs) Parametreler formu (ġekil 6.), parametre değerlerinin atanması, problem ve sonuç dosyaları için gerekli ayarlamaların yapılabilmesi, kullanılacak genlerin sayısı, değer aralıklarının belirlenmesi ve isimlendirilmesi gibi iģlemlerin yapılabildiği bir arayüzdür. Parametreler formunun sol tarafında genel olarak tüm genetik algoritmalarda kullanılan, popülasyon boyutu (Npop), çaprazlama oranı (pc), mutasyon oranı (pm), jenerasyon sayısı, Seçkinlik gibi temel parametre değerlerinin ayarlandığı bölüm bulunmaktadır. Parametreler arayüzü yedi kısımdan meydana gelmektedir. Bunlar; temel genetik parametreleri (Npop, pc, pm, jenerasyon, seçkinlik), PaylaĢım Parametreleri (tdom, sigma share), Çaprazlama Türü (tek ve çift noktalı), Gen Parametre Ayarı (popülasyon ve nondominated için ayrı ayrı), BaĢlangıç Popülasyonu, Problem Dosyası ve mesafe kriteri ve fonksiyon hassasiyet değerlerinin ayarlanması olarak sıralanabilir. Şekil 6.: Parametreler Arayüzü

72 6 Genler, belirlenen sayı kadar ekle ve çıkar butonları kullanılarak problemde istenildiği kadar (dinamik olarak) eklenebilir, çıkarılabilir ya da düzenlemeleri yapılabilir. Genler listesinden seçilen parametre ya da parametrelerin değer aralıkları yine gen parametre ayarları bölümündeki alt sınır üst sınır ve bit sayısı değer alanları ile atanır. Gen in bit sayısı varsayılan olarak alt ve üst sınır değerlere göre bitsayı ( üstsıınır alt sıınır ) olacak Ģekilde hesaplanır. Ancak daha hassas bir hesaplama istenirse kullanılacak bit sayısı doğrudan girilebilir. Bununla birlikte genlerin isimleri probleme paralel olarak listeden çift tıklanarak değiģtirilebilir. En sonunda Kaydet butonu tıklanarak yapılan bu gen parametre ayarları genpar.txt dosyasına kaydedilir. Daha önce hazırlanmıģ bir problemin gen ayarları, Listeden butonu aracılığıyla açılan penceren ilgili dosya seçilerek otomatik olarak yüklenebilir. BaĢlangıç Popülâsyonu alanında, algoritmanın kullanacağı baģlangıç popülâsyonun random oluģturulması veya dosyadan okunması sağlanabilir. Bunun avantajı farklı algoritmalar için çalıģtırılan bir problemin aynı Ģartlarda değerlendirilmesinin sağlanabilmesidir. Benzer Ģekilde baģlangıç bastırılmamıģ çözümler kümesi de boģ olarak yâda daha önce kaydedilmiģ bir dosyadan okunarak oluģturulabilir. Buradaki amaç yarıda bırakılmıģ bir çalıģtırma iģleminin kaldığı yerden devam ettirilebilmesine fırsat vermektir. Problem Dosyası alanında, optimize edilecek problem dosyası listeden seçilerek veya metin kutusuna doğrudan dosya yolu yazılarak belirlenir. Diğer parametrelerin ne amaçla kullanıldığı hakkında detaylı bilgiler 3.Bölümde anlatılmıģtır. Bunların dıģında amaç fonksiyon sayısı ve kısıt fonksiyon sayısı değerleri de bu arayüz aracılığıyla belirlenebilir. Seçilen probleme bağlı olarak istenen sayıda amaç fonksiyon ve kısıt fonksiyon tanımlanabilir. Burada tanımlanan sayıya bağlı olarak dinamik bir Ģekilde ana formdaki veri tablolarının kolonları güncellenir. Eğer gen parametre değerleri dosyadan okunarak alınıyorsa, bu değerler otomatik olarak atanır. Son olarak arayüzün sağ alt tarafında bulunan fonksiyon hassasiyeti, yapılan iģlemlerin virgülden sonra kaç basamak ile hesaplanacağının belirlenmesini sağlar. Yapılan düzenlemelerin kalıcı olarak kaydedilmesi için varsayılan olarak kaydet

73 6 seçeneğinin iģaretlenerek Tamam butonuna tıklanması gerekir. Düzenlemelerden vazgeçip formun kapanmasını sağlamak için Kapat butonu tıklanabilir yada ESC ile çıkılabilir Performans ölçümü arayüzü (PerformansÖlçümü.cs) Kullanılan Permormans Kriterleri bölümünde açıklanan Yakınsama ( ) ve ÇeĢitlilik ( ) metriklerinin ve bu metriklere karģılık gelen minimum varyans değerlerinin hesaplandığı arayüzdür (ġekil 6.3). Form tasarımı; grafik gösterim alanı, metrik sonuçları ve seçilen sonuç dosyasının değerlerini gösteren veri tablosu olmak üzere bazı butonlardan oluģmaktadır. Öncelikle, metrik hesaplamalarını yapabilmek için gerçek yâda gerçek olduğu varsayılan Pareto-Optimal yüzey kümesi hesaplanır. Bu küme, H kümesi olarak ifade edilir. Problemin gerçek Pareto yüzey bilinmiyorsa, tüm algoritmalar için elde edilmiģ olan sonuç kümeleri, Pareto üstünlüklerine göre birleģtirilerek yeni bir sonuç dosyası elde edilir. Bu dosya H kümesi olarak kullanılır. Bu iģlem bilinen Pareto- Optimal yüzey için, problem combobox ından hesaplanacak problemin seçilmesiyle gerçekleģtirilir. Bilinmeyen problem için ise combobox ın son maddesinde yer alan dosyadan oku seçeneği ile birleģtirilmiģ dosya iģaret edilerek yapılır. BirleĢtir butonu tıklandığında açılan dosya dialog penceresi aracılığı ile seçilen sonuç dosyalarını Pareto üstünlüklerine göre değerlendirerek tek bir dosyada birleģtirir ve bu dosyanın kaydedileceği dosya yolu kullanıcıya sorulur. Bu iģlemin yapılma amacı, birden fazla ve/veya farklı parametre değerleri için çalıģtırılmıģ bir problemin sonuç dosyalarını birleģtirerek bir algoritma için en iyi sonuç dosyasını elde etmek veya yukarıda bahsedilen H dosyasını oluģturmaktır.

74 Şekil 6.3: Performans Ölçümü Arayüzü 63

75 64 Hesapla butonu tıklanıldığında, ġekil 6.4 de görülen form açılır ve kullanıcıdan metrik sonuçlarının hesaplanması istenen algoritmaların sonuç dosya yolarının girilmesi istenir. Tamam butonun tıklanmasıyla iģlem tamamlanmıģ olur. Şekil 6.4: Performan Ölçümü -Sonuç Dosyaları GiriĢ Formu Metriği hesaplanacak algoritma için parametre dosyası da bu formdan değiģtirilebilir. Varsayılan olarak son çalıģtırılan algoritmanın parametre dosyası burada gözükür. Algoritmaların isimlerinin yazılı olduğu radiobuttonlarından seçili olan algoritmanın sonuç dosyası, ON/OFF butonu aktifken, grafik alanında H kümesi ile beraber simüle edilir. Bu sayede hangi algoritmanın gerçek pareto yüzeye daha iyi bir yakınsama sağladığı grafiksel olarak gözlemlenmiģ olur. ġekil 6.3 de H kümesi ile beraber MOGAnın sonuçları grafik alanında görülmektedir.

76 Öklid mesafesi arayüzü (Euclidean_Mesafesi.cs) Pareto-Optimal yüzey elde edildikten sonra bu çoklu çözümler arasından karar verici tarafından en uygun çözüm seçilir. Uygun çözümün seçiminde problem hakkında bilgi sahibi olmak önemlidir. Bu durumda probleme göre daha özel olan parametrelerden birinin değerine en yakın olan çözüm, karar vericinin tercih edeceği çözüm olabilir. Bu durumda karar vericiye yardımcı olabilmesi açısından sıklıkla kullanılan Öklid mesafesi arayüzü ġekil 6.6 da görülmektedir. Hesaplanan Pareto-Optimal yüzeyin parametre ve sonuç dosyaları ilgili metin kutularına girildikten sonra, Pareto-Optimal çözümlerin her biri için, kullanıcının belirleyebileceği bir orijin noktasına olan uzaklıkları hesaplanır (ġekil 6.5). Bu orijine en yakın olan nokta grafiksel olarak da diğer çözümler içinde farklı bir renkle simüle edilir. Şekil 6.5: Öklid Mesafesi Orijin Noktası Burada dikkat edilmesi gereken nokta, grafiksel gösterim iki boyutlu olsa da hesaplamalar problemdeki amaç fonksiyonu sayısı boyutunda yapılmaktadır. Hesaplamalarda herhangi bir kısıtlama sorunu yoktur ve probleme bağlı olarak, dinamik bir Ģekilde gerçekleģtirilir. Grafiği hep temizle seçeneği iģaretli değilse, aynı problemde farklı orijin noktalarına göre yapılan hesaplamaların hepsi bir grafikte beraber gösterilir.

77 Şekil 6.6: Öklid Mesafesi Arayüzü 66

78 Grafik arayüzü (Goster.cs) Ana Form, Performans Ölçümü, Öklid mesafesi formlarının hepsinde kullanılan grafik gösterimi Grafik Arayüzüdür. ġekil 6.7 de grafik arayüzü görülmektedir. Ayrıca tek bir arayüz Ģeklinde de kullanılabilmektedir. Kullanılma amacı daha önce sayısal olarak kaydedilmiģ sonuç dosyalarının grafiksel gösterimini yapmaktır. Ana formdaki Göster butonu aracılığı ile açılan dosya dialog penceresinden seçilen sonuç dosyalarını bir arada göstermek için kullanılır. Sadece bir dosya seçilirse bu sonuç ana form üzerindeki grafik alanında çizilir. Birden fazla dosyanın seçildiği durumlarda yeni bir pencere açılarak çizim yapılır. Yapılan çizimler, MSOffice yazılımın çizim componenti olan OWC bileģen nesne modelinin 003 versiyonu olan OWC.dll kullanılarak gerçekleģtirilir. Bu bileģen microsoftun sitesinden ücretsiz olarak indirilebilir ve Office yazılımının kurulumunu gerektirmez. Hazırlanan tüm arayüzlerde olduğu gibi grafik arayüzünde de form elemanları kullanıcının formun boyutunda yapacağı manüel değiģikliklere paralel olarak otomatik Ģekilde biçimlenir.

79 Şekil 6.7: Mevcut Grafik Gösterim Arayüzü 68

80 Hakkında arayüzü (About.cs): ġekil 6.8: Hakkında Arayüzü

81 Editör arayüzü (Editor.cs) Kullanıcının kendi problemini MATLAB formatına uygun Ģekilde yazarak derlenmesine imkân veren arayüzdür (ġekil 6.9). Problem yeni butonu ile açılan notepad benzeri pencerede tanımlandıktan sonra, istenirse çalıģtır butonu kullanılarak dll uzantılı olarak çalıģtırılabilir problem dosyası formatında; istenirse de kaydet butonu kullanılarak txt uzantısıyla istenilen bir dizinde metin dosyası olarak saklanabilir. Saklanan bu dosyalara daha sonra düzenlenmek üzere aç butonundan eriģilir. Fonksiyon ekle ve kısıt ekle butonları kullanıcıya kolaylık sağlanması amacıyla eklenmiģ kısa yollardır. Aynı anda birden fazla alt pencere açılarak, istenen sayıda problem dosyası üzerinde eģ zamanlı olarak çalıģılabilir ve derlenebilir. Derleme iģleminin çalıģma zamanında olması programa kullanıcının kendi problemlerini deneyebilme esnekliğini kazandırmıģtır. Şekil 6.9: Editör Arayüzü

82 7 6.. Kodlama ve Algoritmalar Yazılım nesne yönelimli programlama tekniği kullanılarak geliģtirilmiģtir. GeliĢtirilen algoritmaların her biri ayrı sınıflarda yazılmıģ ve kullanılan tüm iģlevler amacına uygun Ģekilde sınıflandırılarak kod tekrarından kaçınılmıģtır. Yazılımı yapılan algoritmaların en basitinden en karmaģığına tamamı yeniden yazılarak kodlanmıģ ve hazır herhangi bir kütüphane kullanılmamıģtır. Yazılımının kodlaması, birbiriyle iliģkilendirilmiģ üç projeden oluģmaktadır. Bunlar:. multiobjective_genetic_algorithms. Genetic 3. Problem olmak üzere sırasıyla açıklanacaktır Proje I: multiobjective_genetic_algorithms Diğer projelerin içinde kullanıldığı ve çok amaçlı genetik algoritmaların kodunun yazıldığı ana projedir. Projede yazılan tüm sınıfların ve dosyaların listesi ġekil 6.0 daki Solution Explorer penceresinden görülmektedir. Buradan da anlaģılabileceği gibi geliģtirilen yazılımda, algoritmaların her biri ayrı sınıflarda kodlanmıģtır. Bunlar VEGA.cs, MOGA.cs, NPGA.cs, NSGA.cs, NSGAII.cs, SPEA.cs, SPEA.cs, PESA.cs dosyalarında tutulmaktadır. Böylece kod karmaģası önlenerek okunabilirlik artırılmıģ, hata ayıklama ve algoritma geliģtirme süresi hızlandırılmıģtır. Algoritmaların yoğun matris iģlemleri ve döngü gerektirmesinden dolayı ortaya çıkabilecek olası program ve iģlemci kilitlenmelerinin önüne process kanallama tekniği kullanılarak geçilmiģtir. AĢağıda yazılan diğer sınıflar hakkında kısaca bilgi verilmektedir. GenetikIslemci.cs: Ana formda baģla butonuna basılmasıyla birlikte, ayarlanan parametre değerlerini alarak çalıģtırılacak algoritmaya temsilciler (delegate) aracılığı ile yönlendirme yapan ve algoritmanın her jenerasyon sonundaki çıktılarını alarak simüle edilmesini sağlamak amacıyla yazılmıģ olan MgaEventArgs.cs sınıfındaki olay metotlarını tetikleyen sınıftır. Bununla beraber yazılan hemen hemen tüm MOP algoritmalarında kullanılan bazı ortak metotları içerir (calcminmax, Euclidean, Hamming, gibi ). Ayrıca istenen jenerasyonda çalıģmanın durdurulması ve sonuçların dosyalanması için gerekli çağrılar da bu sınıf tarafından yapılır.

83 7 Şekil 6.0: Proje I multiobjective_genetic_algorithms Çaprazlama.cs: Çaprazlama iģlemcisi olarak kullanılan çaprazlama türlerinin yazıldığı metotlar bulunur. Bunlar tek_noktalı_çaprazlama ve iki_noktalı_çaprazlama olmak üzere iki adettir. Ancak projede yeni bir çaprazlama yöntemi kullanılmak istenirse bu sınıfa dâhil edilmesi yeterlidir. Çünkü çaprazlama metodu temsilciler (delegate) kullanılarak çağırılmaktadır.

84 73 Mutasyon.cs: Çaprazlama sınıfında olduğu gibi bu sınıf da mutasyon iģlemcisi olarak kullanılan alternatif mutasyon metotlarını içerir. DOSYA.cs: Dosya giriģ/çıkıģ iģlemleri için kullanılan ve statik olarak yazılan metotların bulunduğu sınıftır. ayar.cs: Projede kalıcı olarak parametre değerlerinin saklanmasını sağlayan Settings dosyasının sınıfıdır. MgaEventArgs.cs: Projede kanallama tekniği kullanılmasından dolayı form iģlemleri ve yazılan diğer sınıflar arasındaki iletiģimin sağlanması ve kanal çakıģmalarının önlenmesi için yazılmıģ olan olay sınıfıdır. SHARING.cs: PaylaĢım kullanan algoritmaların kullandığı metotlar statik olarak bu sınıfta toplanmıģtır (Sharing, NicheCount_mi, gibi). SORT.cs: ÇeĢitli yerlerde Pareto üstünlüklerine göre farklı Ģekillerde yapılan sıralama iģlemlerinde kullanılan referans sınıftır. tahirspareto.cs: Pareto-Optimal çözümleri bulmak için çok amaçlı problemlerin tanımlamasına imkan sağlamak için geliģtirilmiģtir. Tüm algoritmaların sonunda ortak olarak kullanılan dominates, constrained_dominates, ParetoOptimal, Constrained_ParetoOptimal gibi statik metotları içeren sınıftır Proje II: Genetic Genetik Algoritmanın temel yapısını oluģturabilmek için geliģtirilmiģ Sınıf Kütüphanesi (ClassLibrary) projesidir (ġekil 6.). Dolayısıyla projenin çıktısı dinamik bağlantı kütüphane dosyasıdır. GeliĢtirilen proje, genetik algoritmanın doğasına en uygun olan ikili kodlama temelli olarak gerçekleģtirilmiģtir. Bu bağlamda, öncelikle her biri bir geni temsil edecek olan parametrelerin, değerlerini tutan ve sadece parametrelere özgü iģlemleri gerçekleģtiren Gen.cs sınıfı ile bu gen sınıfından türetilmiģ nesneleri kullanarak kromozom yapısını modelleyen Kromozom.cs sınıfı tasarlanmıģtır.

85 74 Gen sınıfı random olarak yâda parametre olarak verilen baģka bir genin kopyasından üretilmeyi sağlayan iki kurucu fonksiyona sahiptir. Kromozom sınıfında, Reflection Namespace i kullanılmıģtır. Bu sayede çalıģma zamanında dinamik olarak kaç adet amaç ve kısıt fonksiyon kullanılabileceği belirlenebilmektedir. Şekil 6.: Genetic Projesi Sınıf Diagramaları ve Solution Explorer Penceresi

86 Proje III: Problem ÇalıĢtırılacak olan optimizasyon problemlerinin matematiksel formülasyonun programlanabilir formata dönüģtürüldüğü projedir. Bu iģlem ayrıca ana projenin editör bölümüne de eklenmiģ durumdadır. Diğer bir ifadeyle, optimizasyon problemindeki amaç ve kısıt fonksiyonların her biri gerekli değiģken ve parametre tanımlamaları ile beraber bu program aracılığı ile oluģturulur. Daha sonra buradan çıktı olarak dll uzantılı problem dosyası elde edilir. Bu dosya optimizasyon algoritmalarında çalıģtırılmak üzere saklanır.

87 76 7. DENEYSEL ÇALIŞMALAR Yazılımın ve algoritmaların çalıģması literatürden seçilen sekiz adet test problemi kullanılarak değerlendirildi. Ayrıca algoritmaların performansları iki ayrı gerçek mühendislik problemiyle test edildi. Bu problemlere ait grafikler ayrıca verildi. 7.. Test Problemleri Çok amaçlı optimizasyon problemlerini matematiksel yapıları itibariyle kısıtlamalı ve kısıtlamasız olarak gruplandırmak mümkündür. Bu yüzden karģılaģtırmalar yapılırken test problemlerinin tanımlamaları ve metrik sonuçları ayrı tablolar halinde sunulmuģtur. Ayrıca değerlendirmelerin nesnel olması için her problemde ortak olan bazı temel genetik iģlemcilerin (çaprazlama oranı, mutasyon oranı gibi) değerleri ve algoritmaların baģlangıç popülasyonları ortak kullanılmıģtır. Kısıtlamasız test problemi olarak seçilen SCH problemi Shaffer (985) tarafından, FON problemi Fonseca ve Fleming (995) tarafından, POL problemi Poloni (997) tarafından, KUR problemi Kursawe (990) tarafından, ZDT ve ZDT4 problemleri ise Zitzler (999) tarafından önerilmiģtir. Optimizasyonda seçilen parametreler ve değerleri Ģöyledir: jenerasyon sayısı: 50, çaprazlama oranı: 0.8, mutasyon oranı: 0.0, seçkinlik: 5, t dom : 0, sigma share : ve Çaprazlama türü olarak tek noktalı çaprazlama, mutasyon türü olarak bitwise, mesafe kriteri olarak da Öklid mesafesi kullanılmıģtır.

88 77 Her bir test problemi için her bir algoritma aynı Ģartlarda en az 5 kez çalıģtırılmıģtır. Elde edilen sonuç dosyalarının birleģtirilmesiyle ortaya çıkan genel sonuçlar üzerinden değerlendirmeler yapılmıģtır. Tablo 7. de kısıtlamasız test problemleri verilmiģtir. Tablo 7.: Kısıtlamasız Test Problemleri Problem DeğiĢken Sınırları Amaç Fonksiyonlar Optimal Çözümler 3 3 SCH x [ 0,0 ] f ( x x) f 3 ( x) exp xi 3 x [0,] f ( x) ( x ) FON x i [ 4,4] i,,n n 3 3 ( x) exp xi f 3 x x x3 / 3,/ 3 ZDT x i [0,] i,,n n 30 f ( x x) f ( x) g( x) f / g( x) g( x) 9 m i x i /( n ) x [0,] x i 0, i,, n ZDT4 x i [ 5,5] i,,n n 0 f ( x x) f ( x) g( x) f / g( x) g( x) 0( m ) m i [ x i 0cos(4 x )] i x [0,] x i 0, i,, n Karar değiģkenleri üzerindeki birçok sınırlama yüzünden, gerçek dünya problemleri çeģitli kısıtlara sahiptir. Optimizasyon problemlerinin çoğu, birçok kısıtlamaya sahip olduğu için, MOEA ların bu kısıtlamaları değerlendirecek sınırlı mekanizmaları vardır. Burada kısıtlamalı test problemleri, önerilen algoritmaların verimliliğini karģılaģtırmak için kullanılmıģtır. AĢağıda kısıtlamalı test problemleri Tablo 7. de listelenmiģtir.

89 78 Tablo 7.: Kısıtlamalı Test Problemleri Problem DeğiĢken Sınırları Amaç Fonksiyonlar Kısıt Fonksiyonlar CONSTR x x [0.,] [0,5] f ( x) f ( x) x ( x ) / x g ( x) g ( x) x 9x 6 x 9x SRN x x [ [ 0,0] 0,0] f ( x) ( x ) ( x ) f ( x) 9x ( x ) g ( x) x x g x) x 3 ( x TNK x x [0, [0, ] ] x) f x) f ( x ( x g ( x) x x g x) x 3 ( x OSY x x x 3 x 4 x x 6 5 [0,0] [0,0] [,5] [0,6] [,5] [,0] f ( x) f ( x 3 ( x) x 4 ) x [5( x x 5 ( x x 4 x 6 ) 4) x 3 ( x ( x 5 ) ) ] g ( x) g ( x) g ( x) 3 g ( x) 4 g ( x) 5 g ( x) 6 x 6 4 ( x 5 x x x x ( x 3 3) 3x x x 3) x , 6 x CONSTR ve SRN problemleri (00), WATER problemi Ray ve ark. (00) tarafından, TNK problemi Tanaka (995) tarafından ve OSY problemi ise Osyczka ve Kundu (995) tarafından kullanılmıģ test problemleridir. Mühendislik alanlarından seçilen problemler ise indüksiyon motor parametrelerinin belirlenmesi (ÇunkaĢ ve Sağ 007) ve I Kesitli KiriĢ Tasarımıdır (Hajela ve Shih 990).

90 79 Tablo 7.3 ve 7.4 kısıtsız test problemleri için performans ölçüm sonuçlarını göstermektedir. Tablolarda, test problemleri kullanılarak sekiz algoritmadan (VEGA, MOGA, NPGA, NSGA, NSGAII, SPEA, SPEA ve PESA) elde edilen sonuçlar için yakınsama ve çeģitlilik metrikleri ile bunların minimum varyans değerleri gösterilmektedir. Yakınsama metriğine göre, bulunan bastırılmamıģ çözümler ile gerçek Pareto-Optimal çözümler arasındaki uzaklıkların aritmetik ortalaması hesaplanır. Bu bakımdan değerinin sıfıra yaklaģması çözümlerin doğruluğu açısından önemlidir. Tablo 7.3 de görüleceği gibi NSGA-II nin yakınsama metriği sonuçları diğer algoritmalara göre daha iyidir. Daha sonra PESA, SPEA, SPEA ve NSGA algoritmalarının diğer algoritmalara ve birbirlerine göre daha baģarılı sonuçlar ürettiği görülmektedir. ÇeĢitlilik metriğine göre, bulunan çözümlerin pareto yüzeydeki yayılım baģarısı ölçülür. Bu kriter, tüm Pareto-Optimal bölgeyi kapsayan alana olan dağılımla ilgilenir. Tablo 7.4 de görüleceği üzere NSGA-II nin çeģitlilik metriği değerleri, diğer algoritmalardan daha iyidir. Ancak SPEA den elde edilen değerlerle çok az fark olduğu görülmektedir. Tablo 7.3: Kısıtlamasız Test problemleri için Yakınsama Metriği ( ) İlk satır ortalaması ve ikinci satır varyansını( ) gösterir. VEGA MOGA NPGA NSGA NSGAII SPEA SPEA PESA SCH FON ZDT ZDT4 0,0996 0, ,009 0, , , , , , , ,00E-06,40E ,0535 0, ,00 0, , , , ,0047 0, , ,0E-05,90E-05 4,0E-05 9,00E-06 4,0E-05 5,30E-05,8368,008 0, ,3338 0, ,0774 0,0366 0,06595, ,65645,E-0,49E-0 3,03E-03 4,68E-03 6,00E-03 6,6E-03 4, ,669,8747 0,4346 0, ,0736, , ,746,3075,60E+00,55E-0,5E-0,09E+00,05E+00 3,6E+00

91 80 Tablo 7.4: Kısıtlamasız Test problemleri için ÇeĢitlilik Metriği ( ) İlk satır ortalaması ve ikinci satır varyansını( ) gösterir. VEGA MOGA NPGA NSGA NSGAII SPEA SPEA PESA SCH FON ZDT ZDT4 0, ,8997 0, ,5603 0,8956 0, , , ,60E-05 0, ,00E-06 5,00E , , , , , ,3757 0, ,7644 0, , , , , , , , , , ,4695 0,6503 0,0 0,0086 0, , , , , , ,7949 0, , , , , , ,3365,50E-05 9,40E Tablo 7.5 ve 7.6 kısıtlı test problemleri için performans ölçüm sonuçlarını göstermektedir. Kısıtlı test problemlerinde gerçek pareto yüzey bilinmemektedir. Bu yüzden tüm algoritmalardan elde edilen sonuçların birleģtirilmesiyle oluģturulan çözüm kümesi gerçek pareto yüzeyin yerine kullanıldı. Tablo 7.5 ve 7.6 dan görüleceği üzere yakınsama ve çeģitlilik metriği kriterleri açısından NSGA_II diğer algoritmalara göre daha iyi performans sergilemektedir. Tablo 7.5: Kısıtlı test problemleri için Yakınsama Metriği ( ) İlk satır ortalaması ve ikinci satır varyansını( ) gösterir. CONSTR SRN OSY TNK VEGA MOGA NPGA NSGA NSGAII SPEA SPEA PESA 0, , , ,0063 0,0038 0,0093 0, , , , , ,0005 0,0084 0, , , , ,367, ,509 0,538,0357 0, , ,603 0, , ,0693 0, , , , , ,0045 0, , ,00E+00 0,00E+00 0,00E+00 0,00E+00 0,00E+00 0,00E+00

92 8 Tablo 7.6: Kısıtlı test problemleri için ÇeĢitlilik Metriği ( ) İlk satır ortalaması ve ikinci satır varyansını( ) gösterir. VEGA MOGA NPGA NSGA NSGAII SPEA SPEA PESA CONSTR 0, ,7537,36985,6988,3665, ,883756,66 0, , ,0045 0,0045 0,0045 0,0045 0, ,0045 SRN 0, , , , ,5564 0, , ,550933,4608 0,0803 0, , , , ,0546 0,0098 OSY 0,7845 0,99655,0550 0,99467,5306,047 0,798466,05, ,0474 0, , ,80E-05 0,0600 0,008 0, TNK 0, , ,9850 0,9496 0,977 0,899094,0349 0, ,075 0, , ,34E-03 4,34E-03 0, , , Schaffer ın VEGA sı bu alanda öncü bir çalıģma olmasına ve bazı basit problemler için iyi sonuçlar üretmesine rağmen popülasyon temelli ilkel optimizasyon algoritmasıdır. Benzer Ģekilde Muratta nın MOGA sı da popülasyon temelli çok amaçlı evrimsel bir algoritmadır ve VEGA ya nazaran daha iyi bir dağılım göstermektedir. Ancak gerçek optimal çözümlere uzak ve yetersiz bir dağılıma sahip olduğu için diğer algoritmaların sonuçlarıyla karģılaģtırıldığında oldukça verimsiz sonuçlar ürettiği görülür. Goldberg in derecelendirmeli Pareto yüzey önerisini ele alarak ve aynı yıl içinde ortaya atılan algoritmalardan biri Horn ve Nafpliotis in NPGA dır. NPGA seçim iģleminde Pareto üstünlük turnuvası kullanır. Bu metotta belli sayıda bireyden oluģan ve popülasyondan rasgele olarak seçilen bir karģılaģtırma kümesi kullanılarak turnuva yapılır ve kazanan birey seçilir. Burada bireyler arasındaki üstünlük kavramı, boyutu t dom olan rasgele seçilmiģ bir küme ile bireyi mukayese ederek hesaplandığı için, bu algoritmanın baģarısı yüksek derecede t dom parametresine dayanır. Uygun bir boyut seçilmezse, doğru pareto optimal noktalar bulunamayabilir. Küçük bir t dom seçilirse, bu birkaç popülasyonda nondominated noktaya yol açar. Yada t dom büyük bir değer seçilirse, erken yakınsamaya neden olabilir. NPGA nın en büyük dezavantajı probleme bağlı olarak seçimi kullanıcıya bırakılmıģ t dom boyutudur. Srinivas ve Deb (993) tarafından geliģtirilmiģ olan NSGA algoritması Pareto üstünlüğüne dayalı baģarılı algoritmalardan biridir. NSGA da Goldberg in önerisi, popülasyonu Pareto üstünlüklerine göre sınıflandırıp bunlara atadığı sahte uygunluk

93 8 değerleri ve çeģitliliği sağlamak için kullandığı hücrelendirme (niching) tekniği ile daha verimli bir Ģekilde gerçekleģtirilir. Ancak bu algoritmanın da yüksek hesaplama karmaģıklığı, seçkinlik eksikliği ve share parametresinin değerinin ayarlanmasındaki belirsizlik gibi zayıf yönleri bulunmaktadır. Bu eksikler göz önüne alınarak yine Deb ve arkadaģları tarafından geliģtirilmiģ olan NSGAII algoritması, çalıģmada ele alınan algoritmalar arasında en baģarılı sonuçları üretmiģtir (Deb ve ark. 00). SPEA, hem Pareto yüzeye yakınsama hem de çözümlerin çeģitliliği açısından VEGA, MOGA, NPGA ve NSGA dan daha baģarılıdır. Ancak uygunluk ataması, yoğunluk tahmini ve arģiv boyutunun küçültülmesi gibi bazı dezavantajlara sahiptir. Bunları ortadan kaldırmak için SPEA geliģtirilmiģtir. Uygulanan çoğu test problemlerinde SPEA nin SPEA ya göre daha baģarılı sonuçlar ürettiği görüldü. NSGAII, SPEA ve PESA farklı problemler üzerinde oldukça benzer davranıģlar sergilediler. Ancak NSGAII nin diğerlerine nazaran biraz daha geniģ bir yakınsama ve dağılım gerçekleģtirdiği görüldü. Bununla beraber PESA baģlangıçta daha hızlı bir yakınsama sağladı. Sırasıyla OSY, SRN, TNK, CONSTR, FON, SCH, ZDT ve ZDT4 problemlerine ait simülasyon sonuçlarının grafikleri Ģekil 7. ila 7.8 de verilmiģtir. Bu grafiklerden de görülebileceği üzere, SRN, CONSTR, FON ve SCH gibi kolay sayılabilecek problemler için tüm algoritmalar gerçek Pareto yüzeye yakınsayabilmiģler ve benzer dağılımlar göstermiģlerdir. Diğer problemler için özellikle VEGA ve MOGA algoritmalarının çözüm kümeleri çok yetersizdir ve gerçek Pareto-Optimal yüzeyden uzak bir dağılım gösterirler. NPGA ve NSGA algoritmalarının ise VEGA ve MOGA ya göre daha fazla sayıda çözüm ürettikleri görülmektedir. Ancak bu algoritmaların Pareto yüzeye yakınsamalarının iyi olmadığı grafiklerden kolayca anlaģılabilmektedir. Özellikle NSGA-II algoritması baģta olmak üzere SPEA, SPEA ve PESA algoritmalarının daha baģarılı bir dağılım ve yakınsamaya sahip oldukları görülebilir.

94 ġekil 7.: OSY problemi için pareto optimal çözümler 83

95 Şekil 7.: SRN problemi için pareto optimal çözümler 84

96 Şekil 7.3: TNK problemi için pareto optimal çözümler 85

97 Şekil 7.4: CONSTR problemi için pareto optimal çözümler 86

98 Şekil 7.5: FON problemi için pareto optimal çözümler 87

99 ġekil 7.6: SCH problemi için pareto optimal çözümler 88

100 ġekil 7.7: ZDT problemi için pareto optimal çözümler 89

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

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

Detaylı

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

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

Detaylı

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ı

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ı

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

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ı

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ı

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ı

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ı

METASEZGİSEL YÖNTEMLER

METASEZGİSEL YÖNTEMLER METASEZGİSEL YÖNTEMLER Ara sınav - 30% Ödev (Haftalık) - 20% Final (Proje Sunumu) - 50% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn: Zaman çizelgeleme, en kısa yol bulunması,

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ı

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ı

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

GENETİK ALGORİTMALARA GİRİŞ (V) GENETİK ALGORİTMALARA GİRİŞ (V) 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ı

Üçüncü adımda ifade edilen özel kısıtları oluģturabilmek için iki genel yöntem geliģtirilmiģtir:

Üçüncü adımda ifade edilen özel kısıtları oluģturabilmek için iki genel yöntem geliģtirilmiģtir: TAMSAYILI DOGRUSAL PROGRAMLAMA ALGORİTMALARI TDP Algoritmaları, doğrusal programlamanın baģarılı sonuçlar ve yöntemlerinden yararlanma üzerine inģa edilmiģtir. Bu algoritmalardaki stratejiler üç adım içermektedir:

Detaylı

Evrimsel Çok amaçlı eniyileme. Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010

Evrimsel Çok amaçlı eniyileme. Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010 Evrimsel Çok amaçlı eniyileme Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010 Gündem Çok amaçlı eniyileme Giriş Evrimsel çok amaçlı eniyileme Sonuç Giriş Gerçek dünya problemleri

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ı

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ı

Yrd.Doç.Dr. Mehmet ÇUNKAŞ

Yrd.Doç.Dr. Mehmet ÇUNKAŞ Selçuk Üniversitesi Teknik Eğitim Fakültesi Elektronik-Bilgisayar Eğitimi 8061011007 Genetik Algoritmalar ve Uygulamaları Ders Notları Bahar, 2006 Yrd.Doç.Dr. Mehmet ÇUNKAŞ mcunkas@yahoo.com İÇİNDEKİLER

Detaylı

Doç. Dr. Mustafa ÖZDEN Arş. Gör. Gülden AKDAĞ Arş. Gör. Esra AÇIKGÜL

Doç. Dr. Mustafa ÖZDEN Arş. Gör. Gülden AKDAĞ Arş. Gör. Esra AÇIKGÜL Doç. Dr. Mustafa ÖZDEN Arş. Gör. Gülden AKDAĞ Arş. Gör. Esra AÇIKGÜL 11.07.2011 Adıyaman Üniversitesi Eğitim Fakültesi İlköğretim Bölümü Fen Bilgisi Öğretmenliği A.B.D GĠRĠġ Fen bilimleri derslerinde anlamlı

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ı

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ı

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ı

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ı

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ YAPAY SİNİR AĞLARI Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ İÇERİK Sinir Hücreleri Yapay Sinir Ağları Yapısı Elemanları Çalışması Modelleri Yapılarına Göre Öğrenme Algoritmalarına Göre Avantaj ve

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ı

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ı

9. ULUSAL ÜRETĠM ARAġTIRMALARI SEMPOZYUMU Ekim 2009 ÜAS 2009 BĠLDĠRĠLER KĠTABI. Editörler: Prof.Dr. Nihat YÜZÜGÜLLÜ Yrd.Doç.Dr.

9. ULUSAL ÜRETĠM ARAġTIRMALARI SEMPOZYUMU Ekim 2009 ÜAS 2009 BĠLDĠRĠLER KĠTABI. Editörler: Prof.Dr. Nihat YÜZÜGÜLLÜ Yrd.Doç.Dr. 9. ULUSAL ÜRETĠM ARAġTIRMALARI SEMPOZYUMU 15-17 Ekim 2009 ÜAS 2009 BĠLDĠRĠLER KĠTABI Editörler: Prof.Dr. Nihat YÜZÜGÜLLÜ Yrd.Doç.Dr. Servet HASGÜL Eskişehir Osmangazi Üniversitesi Mühendislik Mimarlık

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ı

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ı

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ı

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ı

K En Yakın Komşu Methodu (KNearest Neighborhood)

K En Yakın Komşu Methodu (KNearest Neighborhood) K En Yakın Komşu Methodu (KNearest Neighborhood) K-NN algoritması, Thomas. M. Cover ve Peter. E. Hart tarafından önerilen, örnek veri noktasının bulunduğu sınıfın ve en yakın komşunun, k değerine göre

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ı

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI Genişletilmiş Lagrange Yöntemi Hazırlayan: Nicat GASIM Öğretim Üyesi Prof. Dr. İpek Deveci KARAKOÇ

Detaylı

ERCİYES ÜNİVERSİTESİ KİMYA ANABİLİM DALI

ERCİYES ÜNİVERSİTESİ KİMYA ANABİLİM DALI İlaç Tasarımında Yeni Yazılımların Geliştirilmesi: Elektron Konformasyonel-Genetik Algoritma Metodu ile Triaminotriazin Bileşiklerinde Farmakofor Belirlenmesi ve Nicel Biyoaktivite Hesabı; ERCİYES ÜNİVERSİTESİ

Detaylı

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Kümeleme İşlemleri Kümeleme Tanımı Kümeleme Uygulamaları Kümeleme Yöntemleri Kümeleme (Clustering) Kümeleme birbirine

Detaylı

Lineer Programlama. Doğrusal terimi, hem amaç hem de kısıtları temsil eden matematiksel fonksiyonların doğrusal olduğunu gösterir.

Lineer Programlama. Doğrusal terimi, hem amaç hem de kısıtları temsil eden matematiksel fonksiyonların doğrusal olduğunu gösterir. LİNEER PROGRAMLAMA Giriş Uygulamada karşılaşılan birçok optimizasyon problemi kısıtlar içerir. Yani optimizasyon probleminde amaç fonksiyonuna ilave olarak çözümü kısıtlayıcı ek denklemler mevcuttur. Bu

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ı

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 Quadratic Programming Bir karesel programlama modeli aşağıdaki gibi tanımlanır. Amaç fonksiyonu: Maks.(veya Min.) z

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ı

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ı

DEPO OPERASYONLARININ KÜMELENDĠRME ESASLI GENETĠK ALGORĠTMALAR ĠLE YÖNETĠLMESĠ

DEPO OPERASYONLARININ KÜMELENDĠRME ESASLI GENETĠK ALGORĠTMALAR ĠLE YÖNETĠLMESĠ DEPO OPERASYONLARININ KÜMELENDĠRME ESASLI GENETĠK ALGORĠTMALAR ĠLE YÖNETĠLMESĠ Yusuf ġahġn Osman KULAK Hasan AKYER Pamukkale Üniversitesi, Mühendislik Fakültesi, Endüstri Mühendisliği Bölümü, Kınıklı Kampusu

Detaylı

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir Kümeleme Analizi: Temel Kavramlar ve Algoritmalar Kümeleme Analizi Nedir? Her biri bir dizi öznitelik ile, veri noktalarının bir kümesi ve noktalar arasındaki benzerliği ölçen bir benzerlik ölçümü verilmiş

Detaylı

Program AkıĢ Kontrol Yapıları

Program AkıĢ Kontrol Yapıları C PROGRAMLAMA Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü,

Detaylı

T.C. GAZĠ ÜNĠVERSĠTESĠ SOSYAL BĠLĠMLER ENSTĠTÜSÜ EKONOMETRĠ ANABĠLĠM DALI UYGULAMALI YÖNEYLEM ARAġTIRMASI BĠLĠM DALI

T.C. GAZĠ ÜNĠVERSĠTESĠ SOSYAL BĠLĠMLER ENSTĠTÜSÜ EKONOMETRĠ ANABĠLĠM DALI UYGULAMALI YÖNEYLEM ARAġTIRMASI BĠLĠM DALI T.C. GAZĠ ÜNĠVERSĠTESĠ SOSYAL BĠLĠMLER ENSTĠTÜSÜ EKONOMETRĠ ANABĠLĠM DALI UYGULAMALI YÖNEYLEM ARAġTIRMASI BĠLĠM DALI GENETĠK ALGORĠTMA ĠLE BÜYÜKBAġ SÜT HAYVANLARINDA SÜT VERĠMĠ MAKSĠMĠZASYONU YÜKSEK LĠSANS

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ı

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ı

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

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

Detaylı

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş Dr. Özgür Kabak Doğrusal Olmayan Programlama Eğer bir Matematiksel Programlama modelinin amaç fonksiyonu ve/veya kısıtları doğrusal değil

Detaylı

KISITLI OPTİMİZASYON

KISITLI OPTİMİZASYON KISITLI OPTİMİZASYON SİMPLEKS YÖNTEMİ Simpleks Yöntemi Simpleks yöntemi iteratif bir prosedürü gerektirir. Bu iterasyonlar ile gerçekçi çözümlerin olduğu bölgenin (S) bir köşesinden başlayarak amaç fonksiyonunun

Detaylı

2. Klasik Kümeler-Bulanık Kümeler

2. Klasik Kümeler-Bulanık Kümeler 2. Klasik Kümeler-Bulanık Kümeler Klasik Küme Teorisi Klasik kümelerde bir nesnenin bir kümeye üye olması ve üye olmaması söz konusudur. Bu yaklaşıma göre istediğimiz özelliğe sahip olan bir birey, eleman

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ı

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ı

TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU. Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi

TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU. Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi Bilim Dalı öğrencisi Ahmet ÖZKAN tarafından hazırlanan Ġlkokul ve Ortaokul Yöneticilerinin

Detaylı

GENETİK ALGORİTMALARA GİRİŞ

GENETİK ALGORİTMALARA GİRİŞ GENETİK ALGORİTMALARA GİRİŞ 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 Düzce

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ı

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

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

Detaylı

Sigma 2006/3 Araştırma Makalesi / Research Article A SOLUTION PROPOSAL FOR INTERVAL SOLID TRANSPORTATION PROBLEM

Sigma 2006/3 Araştırma Makalesi / Research Article A SOLUTION PROPOSAL FOR INTERVAL SOLID TRANSPORTATION PROBLEM Journal of Engineering and Natural Sciences Mühendislik ve Fen Bilimleri Dergisi Sigma 6/ Araştırma Makalesi / Research Article A SOLUTION PROPOSAL FOR INTERVAL SOLID TRANSPORTATION PROBLEM Fügen TORUNBALCI

Detaylı

MAK 210 SAYISAL ANALİZ

MAK 210 SAYISAL ANALİZ MAK 210 SAYISAL ANALİZ BÖLÜM 5- SONLU FARKLAR VE İNTERPOLASYON TEKNİKLERİ Doç. Dr. Ali Rıza YILDIZ MAK 210 - Sayısal Analiz 1 İNTERPOLASYON Tablo halinde verilen hassas sayısal değerler veya ayrık noktalardan

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ı

1 ÜRETİM VE ÜRETİM YÖNETİMİ

1 ÜRETİM VE ÜRETİM YÖNETİMİ İÇİNDEKİLER ÖNSÖZ III Bölüm 1 ÜRETİM VE ÜRETİM YÖNETİMİ 13 1.1. Üretim, Üretim Yönetimi Kavramları ve Önemi 14 1.2. Üretim Yönetiminin Tarihisel Gelişimi 18 1.3. Üretim Yönetiminin Amaçları ve Fonksiyonları

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 Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan

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ı

T.C. ORTA KARADENİZ KALKINMA AJANSI GENEL SEKRETERLİĞİ. YURT ĠÇĠ VE DIġI EĞĠTĠM VE TOPLANTI KATILIMLARI ĠÇĠN GÖREV DÖNÜġ RAPORU

T.C. ORTA KARADENİZ KALKINMA AJANSI GENEL SEKRETERLİĞİ. YURT ĠÇĠ VE DIġI EĞĠTĠM VE TOPLANTI KATILIMLARI ĠÇĠN GÖREV DÖNÜġ RAPORU YURT ĠÇĠ VE DIġI EĞĠTĠM VE TOPLANTI KATILIMLARI ĠÇĠN GÖREV DÖNÜġ RAPORU Adı Soyadı : Doç. Dr. Mustafa GÜLER, Dilem KOÇAK DURAK, Fatih ÇATAL, Zeynep GÜRLER YILDIZLI, Özgür Özden YALÇIN ÇalıĢtığı Birim :

Detaylı

TAMSAYILI PROGRAMLAMA

TAMSAYILI PROGRAMLAMA TAMSAYILI PROGRAMLAMA Doğrusal programlama problemlerinde sık sık çözümün tamsayı olması gereken durumlar ile karşılaşılır. Örneğin ele alınan problem masa, sandalye, otomobil vb. üretimlerinin optimum

Detaylı

NAPOLEON PROBLEMİNE FARKLI BİR BAKIŞ

NAPOLEON PROBLEMİNE FARKLI BİR BAKIŞ ÖZEL EGE LİSESİ NAPOLEON PROBLEMİNE FARKLI BİR BAKIŞ HAZIRLAYAN ÖĞRENCİLER: Fatma Gizem DEMİRCİ Hasan Atakan İŞBİLİR DANIŞMAN ÖĞRETMEN: Gülşah ARACIOĞLU İZMİR 2013 İÇİNDEKİLER 1. PROJENİN AMACI... 3 2.

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ı

ANKASTRE KĠRĠġ TASARIMI ĠÇĠN MATLAB VE ANSYS OPTĠMĠZASYONU

ANKASTRE KĠRĠġ TASARIMI ĠÇĠN MATLAB VE ANSYS OPTĠMĠZASYONU T.C. ATATÜRK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ MAKĠNA MÜHENDĠSLĠĞĠ BÖLÜMÜ BĠTĠRME ÖDEVĠ ANKASTRE KĠRĠġ TASARIMI ĠÇĠN MATLAB VE ANSYS OPTĠMĠZASYONU HAZIRLAYANLAR Halim KOVACI Onur ALBAYRAK YÖNETEN Doç.

Detaylı

KATMANLI KOMPOZİT KİRİŞLERİN GENETİK ALGORİTMA İLE OPTİMİZASYONU

KATMANLI KOMPOZİT KİRİŞLERİN GENETİK ALGORİTMA İLE OPTİMİZASYONU KATMANLI KOMPOZİT KİRİŞLERİN GENETİK ALGORİTMA İLE OPTİMİZASYONU Fatih Karaçam ve Taner Tımarcı Trakya Üniversitesi, MMF Makine Mühendisliği Bölümü 030 Edirne e-mail: tanert@trakya.edu.tr Bu çalışmada

Detaylı

ÇOK KRİTERLİ KARAR VERME TEKNİKLERİ. Dersin Amacı Çok Kriterli Karar Verme Yaklaşımının Genel Yapısı. Dr.Öğr.Üyesi Gökçe BAYSAL TÜRKÖLMEZ

ÇOK KRİTERLİ KARAR VERME TEKNİKLERİ. Dersin Amacı Çok Kriterli Karar Verme Yaklaşımının Genel Yapısı. Dr.Öğr.Üyesi Gökçe BAYSAL TÜRKÖLMEZ ÇOK KRİTERLİ KARAR VERME TEKNİKLERİ Dr.Öğr.Üyesi Gökçe BAYSAL TÜRKÖLMEZ Zeleny (1982) multiple criteria decision making kitabına aşağıdaki cümle ile başlar: ıt has become more and more difficult to see

Detaylı

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN MATLAB A GİRİŞ EE-346 Hafta-1 Dr. Ayşe DEMİRHAN MATLAB Teknik ve bilimsel hesaplamalar için yazılmış yüksek performanslı bir yazılım geliştirme aracı MATrix LABoratory (MATLAB) Boyutlandırma gerekmeyen

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ı

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ı

Polinom olmayan denklemlerin genetik algoritma tabanlı çözümü

Polinom olmayan denklemlerin genetik algoritma tabanlı çözümü 322 Polinom olmayan denklemlerin genetik algoritma tabanlı çözümü Nihat ÖZTÜRK *, Emre ÇELİK * Gazi Üniversitesi Teknoloji Fakültesi Elektrik Elektronik Mühendisliği Bölümü, ANKARA ÖZET Anahtar Kelimeler:

Detaylı

YZM 3217 YAPAY ZEKA DERS#10: KÜMELEME

YZM 3217 YAPAY ZEKA DERS#10: KÜMELEME YZM 317 YAPAY ZEKA DERS#10: KÜMELEME Sınıflandırma (Classification) Eğiticili (supervised) sınıflandırma: Sınıflandırma: Sınıf sayısı ve bir grup örneğin hangi sınıfa ait olduğunu bilinir Eğiticisiz (unsupervised)

Detaylı

1: DENEYLERİN TASARIMI VE ANALİZİ...

1: DENEYLERİN TASARIMI VE ANALİZİ... İÇİNDEKİLER Bölüm 1: DENEYLERİN TASARIMI VE ANALİZİ... 1 1.1. Deneyin Stratejisi... 1 1.2. Deneysel Tasarımın Bazı Tipik Örnekleri... 11 1.3. Temel Kurallar... 16 1.4. Deneyleri Tasarlama Prensipleri...

Detaylı

Rasgele Sayı Üretme. Rasgele Sayıların Özellikleri. İki önemli istaiksel özelliği var :

Rasgele Sayı Üretme. Rasgele Sayıların Özellikleri. İki önemli istaiksel özelliği var : Rasgele Sayı Üretme Rasgele Sayıların Özellikleri İki önemli istaiksel özelliği var : Düzgünlük (Uniformity) Bağımsızlık R i, rasgele sayısı olasılık yoğunluk fonksiyonu aşağıdaki gibi olan uniform bir

Detaylı

Rasgele Sayıların Özellikleri

Rasgele Sayıların Özellikleri Rasgele Sayı Üretme Rasgele Sayıların Özellikleri İki önemli istaiksel özelliği var : Düzgünlük (Uniformity) Bağımsızlık R i, rasgele sayısı olasılık yoğunluk fonksiyonu aşağıdaki gibi olan uniform bir

Detaylı

8.Konu Vektör uzayları, Alt Uzaylar

8.Konu Vektör uzayları, Alt Uzaylar 8.Konu Vektör uzayları, Alt Uzaylar 8.1. Düzlemde vektörler Düzlemdeki her noktası ile reel sayılardan oluşan ikilisini eşleştirebiliriz. Buna P noktanın koordinatları denir. y-ekseni P x y O dan P ye

Detaylı

4.2. EKSENEL VANTİLATÖRLERİN BİLGİSAYARLA BOYUTLANDIRILMASI

4.2. EKSENEL VANTİLATÖRLERİN BİLGİSAYARLA BOYUTLANDIRILMASI 4.2. EKSENEL VANTİLATÖRLERİN BİLGİSAYARLA BOYUTLANDIRILMASI Yrd.Doç.Dr.Asaf VAROL Tek.Eğt.Fak. Makina Eğitimi Bölüm BaĢkanı ELAZIĞ Mak.Müh. İbrahim UZUN F.Ü.Bilgi iģlem Daire BaĢkan Vekili ELAZIĞ ÖZET

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ı

yöneylem araştırması Nedensellik üzerine diyaloglar I

yöneylem araştırması Nedensellik üzerine diyaloglar I yöneylem araştırması Nedensellik üzerine diyaloglar I i Yayın No : 3197 Eğitim Dizisi : 149 1. Baskı Ocak 2015 İSTANBUL ISBN 978-605 - 333-225 1 Copyright Bu kitabın bu basısı için Türkiye deki yayın hakları

Detaylı

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir sınıflandırma: temel kavramlar, karar ağaçları ve model değerlendirme Sınıflandırma : Tanım Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir Eğitim setindeki her kayıt

Detaylı

Makine Öğrenmesi 2. hafta

Makine Öğrenmesi 2. hafta Makine Öğrenmesi 2. hafta Uzaklığa dayalı gruplandırma K-means kümeleme K-NN sınıflayıcı 1 Uzaklığa dayalı gruplandırma Makine öğrenmesinde amaç birbirine en çok benzeyen veri noktalarını aynı grup içerisinde

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ı

Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü

Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 17.05.2014 Sayfa 1 Curve Fitting with RBS Functional Networks RBS fonksiyonel ağı ile eğri uygunluğu Andr es Iglesias, Akemi G alvez Department of Applied Mathematics and Computational Sciences, University

Detaylı

ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX

ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX XI İÇİNDEKİLER ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX 1. GİRİŞ... 1 2. PLANLAMANIN TARİHÇESİ... 7 2.1 Literatürdeki Planlayıcılar ve Kullandıkları Problem... Gösterimi

Detaylı

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY) DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY) 1 DOĞRUSAL PROGRAMLAMADA İKİLİK (DUALİTE-DUALITY) Doğrusal programlama modelleri olarak adlandırılır. Aynı modelin değişik bir düzende oluşturulmasıyla Dual (İkilik)

Detaylı

Algoritma ve Programlama II Dersi 3.ÖDEVĠ

Algoritma ve Programlama II Dersi 3.ÖDEVĠ Algoritma ve Programlama II Dersi 3.ÖDEVĠ 1. 3 boyutlu uzayda koordinatları dıģarıdan girilen bir üçgenin normalini ve açılarını bulan programı yazınız. 3 boyutlu uzaydaki bir V vektörünün x,y ve z koordinatları

Detaylı

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DOKTORA TEZİ

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DOKTORA TEZİ ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DOKTORA TEZİ ÇOK AMAÇLI OPTİMİZASYON PROBLEMLERİNDE PARETO CEPHESİNİN MALİYET ETKİN YÖNTEMLERLE TEMSİL EDİLMESİ Ökkeş Tolga ALTINÖZ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ

Detaylı

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ Bilgisayar Mühendisliği Ana Bilim Dalı MULTIPLE ANTENNAS. Hazırlayan: Temel YAVUZ

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ Bilgisayar Mühendisliği Ana Bilim Dalı MULTIPLE ANTENNAS. Hazırlayan: Temel YAVUZ T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ Bilgisayar Mühendisliği Ana Bilim Dalı MULTIPLE ANTENNAS Hazırlayan: Temel YAVUZ 20.12.2010 KABLOSUZ AĞLARDA ÇOKLU GIRIġ ÇOKLU ÇıKıġ (MIMO) Son yıllarda

Detaylı

T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ

T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ PARÇACIK SÜRÜ OPTĠMĠZASYONU ALGORĠTMASININ GEZGĠN SATICI PROBLEMĠNE UYGULANMASI VE PERFORMANSININ ĠNCELENMESĠ MEHMET YASĠN ÖZSAĞLAM YÜKSEK LĠSANS TEZĠ ELEKTRONĠK

Detaylı

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü Dr. Özgür Kabak Doğrusal olmayan programlama Tek değişkenli DOP ların çözümü Uç noktaların analizi Altın kesit Araması Çok değişkenli DOP ların

Detaylı

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler MIT AçıkDersSistemi http://ocw.mit.edu 18.034 İleri Diferansiyel Denklemler 2009 Bahar Bu bilgilere atıfta bulunmak veya kullanım koşulları hakkında bilgi için http://ocw.mit.edu/terms web sitesini ziyaret

Detaylı

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş Mühendislik Mekaniği Statik Yrd.Doç.Dr. Akın Ataş Bölüm 10 Eylemsizlik Momentleri Kaynak: Mühendislik Mekaniği: Statik, R. C.Hibbeler, S. C. Fan, Çevirenler: A. Soyuçok, Ö. Soyuçok. 10. Eylemsizlik Momentleri

Detaylı

PERDELĠ BETONARME YAPILAR ĠÇĠN DOĞRUSAL OLMAYAN ANALĠZ METOTLARI

PERDELĠ BETONARME YAPILAR ĠÇĠN DOĞRUSAL OLMAYAN ANALĠZ METOTLARI PERDELĠ BETONARME YAPILAR ĠÇĠN DOĞRUSAL OLMAYAN ANALĠZ METOTLARI Nonlinear Analysis Methods For Reinforced Concrete Buildings With Shearwalls Yasin M. FAHJAN, KürĢat BAġAK Gebze Yüksek Teknoloji Enstitüsü,

Detaylı

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler Doç.Dr.Mehmet Hakan Satman mhsatman@istanbul.edu.tr İstanbul Üniversitesi 2014.10.22 Doç.Dr.Mehmet Hakan Satmanmhsatman@istanbul.edu.tr Tedarik Zinciri

Detaylı