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



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

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

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

Fonksiyon Optimizasyonunda Genetik Algoritmalar

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

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

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

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım

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

Veri Yapıları Laboratuvarı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Zeki Optimizasyon Teknikleri

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

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

Helikopter Dolaşım Sistemi

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

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

Yrd. Doç. Dr. Caner ÖZCAN

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

Rasgele Sayıların Özellikleri

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

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

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

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

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

İZMİR İN GEZGİN SATICISI

BIP116-H14-1 BTP104-H014-1

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

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

Yrd. Doç. Dr. Ümit ATİLA

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

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

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

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

IENG 227 Modern Üretim Yaklaşımları

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

Esnek Hesaplamaya Giriş

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

YZM 2116 Veri Yapıları

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

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

VERİ YAPILARI VE PROGRAMLAMA

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

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

Özyineleme (Recursion)

3. Bölüm Algoritmalar

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

METASEZGİSEL YÖNTEMLER

Fiziksel Veritabanı Modelleme

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

THE EFFECT OF PRODUCT NUMBER ON SOLVING THE JOP-SHOP SCHEDULING PROBLEM BY USING GENETIC ALGORITHM

Genel Programlama II

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

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

Yrd. Doç. Dr. Caner ÖZCAN

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

ALGORİTMA VE PROGRAMLAMA II

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

DOĞRUSAL OLMAYAN REGRESYON ANALİZİNDE GERÇEK DEĞER KODLAMALI GENETİK ALGORİTMA

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Algoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste. Mustafa Kemal Üniversitesi

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

Populasyon Genetiği. Populasyonlardaki alel ve gen frekanslarının değişmesine neden olan süreçleri araştıran evrimsel bilim dalı.

Yrd. Doç. Dr. Caner ÖZCAN

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

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

9.DERS Yazılım Geliştirme Modelleri

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

AMUSE A MUSICAL EXPERT

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

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

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

ALGORİTMA VE PROGRAMLAMA I

Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları. Mustafa Kemal Üniversitesi

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

Temel Bilgisayar Programlama

Yrd. Doç. Dr. Caner ÖZCAN

SNP TEK NÜKLEOTİD POLİMORFİZMLERİ (SINGLE NUCLEOTIDE POLYMORPHISMS)

ALGORİTMA VE PROGRAMLAMA II

Ağaç (Tree) Veri Modeli

ÜRETİM SİSTEMLERİ ve ÖZELLİKLERİ

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

ALP OĞUZ ANADOLU LİSESİ EĞİTİM ÖĞRETİM YILI BİLGİSAYAR BİLİMİ DERSİ 2.DÖNEM 2.SINAV ÖNCESİ ÇALIŞMA SORULARI VE YANITLARI

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Zeki Optimizasyon Teknikleri

ALGORİTMA VE PROGRAMLAMA I

Transkript:

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 GSP'nin GA ile Çözülmesi Permütasyon Kodlama İkili Kodlama Geliştirilen Yeni Yöntem Geliştirilen Yeni Yöntemin Avantajları ve Dezavantajları Deneysel Sonuçlar Sonraki Çalışmalar

Gezgin Satıcı Problemi Verilen n tane şehir için Her şehre bir kez uğramak Ve başlanan noktaya geri dönmek Şartlarıyla en az maliyeti içeren turu bulma Tanımlanması kolay, çözümü zor bir problemdir. GSP yi çözen algoritmalar: Sezgisel Algoritmalar Kesin Algoritmalar

GSP yi Çözen Algoritmalar Kesin Algoritmalar Genellikle tamsayılı doğrusal programlamaya dayanır. Hesaplanabilirlik açısından pahalıdır. Branch&Bound Dinamik Programlama

GSP yi Çözen Algoritmalar Sezgisel Algoritmalar İdeale yakın bir çözüm 3 ana gruba ayrılır: Tur Oluşturan Sezgiseller: Greedy, Ekleme Sezgiseli,... Turu Geliştiren Sezgiseller: 2-opt, Lin-Kernighan, GA,... Melez Yöntemler: Iterated Lin-Kernighan, Hibrid GA,...

Genetik Algoritmalar Arama ve en iyileme problemlerini çözmek için kullanılır. Doğal Seçilim ve Uyarlanım prensibi. Rasgele çözümler üretilir ve her bir çözümün problemi çözebilme yeteneği ölçülür. Problemi en iyi çözen çözümler den Genetik İşleçler yardımı ile yeni çözümler üretilir.

Genetik Algoritmalar

Genetik Algoritmalar Genetik Algoritmalar için üç önemli karar noktası vardır: Kodlama (aday çözümün temsili) Çözümleri Değerlendirme (Uygunluk Fonksiyonu) Birey Üretimi (Çaprazlama, Mutasyon, Seçilim)

GSP nin GA İle Çözülmesi Permütasyon Kodlama Permütasyon Kodlama Verilen şehir sayısı (n) kadar gen Her gen bir şehri temsil eder Genlerin dizilimi (permütasyon) o anki turu temsil eder. n=5 olsun. Örnek bir populasyon: 1. kromozom: (2 3 0 1 4)... x. kromozom: (0 2 3 1 4) n. kromozom: (4 3 1 0 2)

GSP nin GA İle Çözülmesi Permütasyon Kodlama En iyi kromozomlar seçilerek Genetik İşleçlere (çaprazlamaya/mutasyona) tabii tutulur. (2 3 0 1 4) ve (4 3 1 0 2) kromozomlarını çaprazlayalım : çaprazla[(2 3 0 1 4), (4 3 1 0 2)] -> (2 3 1 0 2) Klasik çaprazlama yöntemi Hatalı kromozom oluşabilir Tamir edilmeli!

GSP nin GA İle Çözülmesi İkili Kodlama (Lidd in yöntemi) Her bir gen onluk değeri ile değil de ikili (binary) değeri ile temsil edilir. n=5 olsun. Her şehri ikili olarak temsil etmek için 3 bite ihtiyaç var. Bir önceki (2 3 0 1 4) ve (4 3 1 0 2) turlarını ikili olarak temsil edelim: (010 011 000 001 100) -> (2 3 0 1 4 5) (100 101 001 000 010) -> (4 3 1 0 2)

GSP nin GA İle Çözülmesi İkili Kodlama (Lidd in yöntemi) Yukarıdaki iki kromozomu çaprazlama işlemine tabi tutalım: çaprazla[(010 011 000 001 100), (100 101 001 000 010) ] - > (010 011 001 000 010) Klasik Çaprazlama Hatalı kromozom üretimi! mutasyon[010 011 000 001 100] -> (010 111 000 001 100) Klasik Mutasyon (Rasgele bit seç, değilini al) Hatalı kromozom üretimi! (111 şehri tanımlı değil)

GSP nin GA İle Çözülmesi İkili Kodlama (Lidd in yöntemi) Lidd in yöntemi 100 şehirlik örneklere kadar iyi sonuç üretmektedir. Fakat Lidd in yöntemiyle de sıra bağımlılığından kurtulamıyoruz. Klasik GA işleçleri hatalı üretime neden oluyor. Eksik şehirleri içeren kromozomlar üretilebiliniyor. İdeal üretim teknikleri (mutasyon, çaprazlama) atalardan bilgiyi bozmadan alabilmelidir.

Geliştirilen Yeni Yöntem Her şehir için ikili değerde bir puan tanımlanır. Kromozom bu puanlardan oluşur. Bu puan değerlerinin sıralanması, bizim için bir tur oluşturur. n=5 olsun. Rasgele ikili dizi oluşturalım. Her bir şehir için en az 3 bitlik bir puan değeri olmalı. İkili dizinin toplam boyutu = 3*5 dir.

Geliştirilen Yeni Yöntem Rasgele üretilen bir kromozom: (000010001110111) olsun. Peki biz bu kromozomdan anlamlı bir turu nasıl oluşturacağız? Kromozomu 3 erli gruplara ayırıyoruz: (000110001010111) Her bir grubun onluk sistemdeki değeri puandır. O halde (0 3 1 2 7) bizim puan dizimiz olacaktır. Puan dizisinden geçerli bir turu iki şekilde oluşturabiliriz:

Geliştirilen Yeni Yöntem 1. puan dizisinin bir kopyasını (kopya1) oluştur ve sırala. (0 3 1 2 7) -> puan dizisi (0 1 2 3 7) -> kopya1 dizisi kopya1 deki her bir elemanın puan dizisindeki konumuyla tur oluşturulur. kopya1 deki 0 elemanı puan dizisinde 0. sırada kopya1 deki 2 elemanı puan dizisinde 3.sırada O halde geçerli tur -> (0 2 3 1 4)

Geliştirilen Yeni Yöntem 2. puan dizisinin bir kopyasını (kopya2) oluştur ve sırala. (0 3 1 2 7) -> puan dizisi (0 1 2 3 7) -> kopya2 dizisi puan dizisindeki her bir elemanın kopya2 deki konumuyla geçerli bir tur oluştur. puan dizisindeki 0 elemanın kopya2 dizisinde 0. sırada. puan dizisindeki 2 elemanı kopya2 dizisinde 2. sırada O halde geçerli tur -> (0 3 1 2 4)

Geliştirilen Yeni Yöntem Geliştirilen yöntemle bir kromozomdan geçerli bir tur üretilirken Hatalı gen üretimi Eksik şehir üretimi Tur olmayan kromozom üretimi gibi herhangi bir sorunla karşılaşmadık.

Geliştirilen Yeni Yöntemin Avantajları ve Dezavantajları Avantajları GSP sıra değer bağımlılığından kurtuluyor. Klasik GA işleçleri kullanılıyor. Gerek permütasyon kodlamada gerekse de Lidd in yönteminde karşılaşılan hatalı üretimler (eksik şehir ya da tanımlanmamış şehirlerin üretilmesi gibi) ortadan kalkıyor. Dezavantajları Şehir sayısına bağlı olarak kromozom boyutu artmaktadır. Karmaşıklık ve çalışma süresi artmaktadır.

Deneysel Sonuçlar TSPLIB ten gr24, gr48, berlin52 ve kroa100 test verilerini kullandık. Her bir kromozomdan yukarıda bahsettiğimiz Yöntem-1 e göre geçerli tur oluşturduk. Genetik algoritma parametreleri olarak çaprazlama oranı olarak 0.8, mutasyon oranı olarak da 0.03 belirledik. Her test verisi için algoritmayı 10 defa çalıştırdık.

Deneysel Sonuçlar TSPLIB Problemi Populasyon Boyutu Nesil Sayısı Yaklaşık Hata Oranı gr24 500 300 %8 gr48 2000 400 %11 berlin52 6000 600 %13 kroa100 10000 800 %25

İleri Çalışmalar Daha az ikili değer kullanarak bu problem çözülebilir mi? Bu yönteme özgü yerel en iyileme algoritmaları geliştirilebilir mi? Diğer temsil yöntemlerine göre nasıl çalışmaktadır?

Teşekkürler! Sorular?