MELEZ BİR ENİYİLEME YÖNTEMİ İLE ROTA PLANLAMA Barış ÖZKAN barisozkan@mail.ege.edu.tr Utku CEVRE utkucevre@mail.ege.edu.tr Yrd. Doç. Aybars UĞUR aybars.ugur@ege.edu.tr
ROTA PLANLAMA Rota planlama (Route planning), belirli bir harita üzerindeki herhangi bir A noktasından B noktasına giden en düşük maliyetli (yol uzunluğu, zaman vb.) yolu bulmayı hedefleyen bir problem türüdür. Rota planlama problemlerinin en belirgin uygulaması planlanan rotadaki başlangıç ve bitiş şehirlerinin aynı olduğu Gezgin Satıcı Problemidir. AKADEMİK BİLİŞİM 2008
GEZGİN SATICI PROBLEMİ (GSP) Gezgin Satıcı Problemi (Traveling Salesman Problem) veya kısaca GSP (TSP), aralarındaki uzaklıklar bilinen N adet noktanın (şehir, parça veya düğüm gibi) her birisinden yalnız bir kez geçen en kısa veya en az maliyetli turun bulunmasını hedefleyen bir problemdir. Ayrık ve Kombinasyonel Eniyileme (Combinatorial Optimization) problemlerinin kapsamına girer. AKADEMİK BİLİŞİM 2008
GSP ÇÖZÜM YÖNTEMLERİ Kaba kuvvet arama yöntemi ile, doğrudan tüm permütasyonların toplam yol uzunluklarının hesaplanması ve en küçüğünün bulunması şeklinde çözülebilmekle birlikte, N’in büyük değerleri için permütasyon sayısı N! büyük değerlere ulaşacağından, bu işlem çok uzun zaman almaktadır. Genetik Algoritmalar, Karınca Kolonisi Optimizasyonu, Yerel Arama yöntemleri (2opt, 3opt) gibi sezgisel veya yaklaşıma dayalı çözümler veren yöntemler ise, makul bir sürede en iyi ya da en iyiye yakın sonuçlara ulaşılmasını sağlarlar. AKADEMİK BİLİŞİM 2008
GSP’NİN ÖNEMİ Bilgisayar mühendisliği müfredatında algoritmalar, veri yapıları, ayrık matematik, optimizasyon, yapay zeka gibi birçok derste bu probleme ve çözüm yöntemlerine değişik bakış açıları ile değinilmektedir. Çözümü ise, yol planlama (uçak, otobüs, dağıtım kamyonları, bilgisayar ağları, posta taşıyıcılar, vb.), iş planlama, baskı devre kartlarındaki delgi işlemi sırasının belirlenmesi gibi birçok alanda kullanılmaktadır. AKADEMİK BİLİŞİM 2008
ÇALIŞMAMIZ Bu çalışmada, GA ve 2-opt yöntemleri ile, uzaklıkları verilen yerleşim noktalarını dolaşarak en uygun rotayı bulan melez bir yöntem ve yazılım geliştirilmiştir. Çözüm Java üzerinde görselleştirilmiş ve Internet üzerinden de ulaşılabilecek şekilde, web-tabanlı gerçekleştirilmiştir. Rota planlama örneği olarak GSP seçilmiş; uygulama örneği olarak ise Türkiye’nin 81 ilinin karayolu ile, THY’nin sefer gerçekleştirdiği 31 merkezin ise kuşuçuşuyla en uygun dolaşım sırası belirlenmiştir. AKADEMİK BİLİŞİM 2008
ENİYİLEME YÖNTEMLERİ Genetik Algoritmalar (Genetic Algorithms) Karınca Kolonisi Optimizasyonu (Ant Colony Optimization) Yapay Sinir Ağları (Neural Networks) Benzetimli Tavlama (Simulated Annealing) Yerel Arama Sezgileri (Local Search Heuristics) Yasak Arama (Tabu Search) AKADEMİK BİLİŞİM 2008
GENETİK ALGORİTMALAR Kombinasyonel eniyileme problemlerine yaklaşık iyi sonuçlar bulmayı hedefleyen arama yöntemleridir. Temel ilkeleri ilk kez 1975 yılında John Holland tarafından ortaya atılmıştır. Problemin çözümünde kullanılacak rastgele seçilmiş bir çözüm kümesi oluşturabilmek için evrimsel mekanizmalar kullanılır. Temel mantığı topluluğun nesilden nesle geçmesi sırasında kötü çözümlerin yok olmasına ve iyi çözümlerden daha iyi çözümlere ulaşılmasına dayanır. AKADEMİK BİLİŞİM 2008
GA’NIN TEMEL KAVRAMLARI Genetik algoritmalarda kromozomlar, problem için olası çözümleri temsil ederler. Topluluk, kromozomlardan oluşan kümedir. Uygunluk değeri, çözümün kalitesini belirler ve uygunluk fonksiyonu (fitness function) kullanılarak hesaplanır. Çaprazlama ve mutasyon olası çözümleri temsil eden kromozomlar üzerinde uygulanan işlemlerdir. Yeni nesiller, seçilen bireylerin çaprazlama ve mutasyon gibi genetik operatörlerden geçirilmesi ile elde edilir. AKADEMİK BİLİŞİM 2008
GENETİK ALGORİTMA SÜRECİ [Başlat] N adet kromozom içeren topluluğu oluştur. [Uygunluk] Her x kromozomu için f(x) uygunluk değerini hesapla. [Yeni Topluluk] Aşağıdaki adımları tekrarlayarak yeni popülasyonu oluştur. [Seçilim] Topluluktan uygunluk değerlerini dikkate alarak (uygunluk değeri daha iyi olanların seçilme olasılığı yüksek olacak şekilde) iki kromozom seç. [Çaprazlama] Belirli bir çaprazlama olasılığıyla ebeveynlerden gelen kromozomları çaprazlayarak yeni birey oluştur. Çaprazlama yapılmazsa ebeveynlerden gelen kromozomları aynen bir sonraki nesle kopyala. [Mutasyon] Yeni bireyi belirli bir olasılığa göre mutasyona uğrat. [Ekleme] Oluşturulan bireyi yeni topluluğa ekle. [Değiştir] Önceki topluluğu, yeni toplulukla değiştir. [Test] Sonlandırma koşulu sağlandıysa mevcut topluluktaki en iyi çözümü döndür, sağlanmadıysa 2. adıma dön. AKADEMİK BİLİŞİM 2008
KROMOZOMLARIN KODLANMASI İkili kodlamada her kromozom 1 ve 0’lardan oluşan bir karakter dizisi şeklinde ifade edilir. Permutasyon kodlamada ise her kromozom, ilgili karakterin sıralamadaki pozisyonunu belirten sayılardan oluşan bir dizi ile ifade edilir. Permutasyon kodlama, genelde GSP gibi sıralama problemlerinde kullanılır. AKADEMİK BİLİŞİM 2008
SEÇİLİM Yeni topluluğu oluşturmak için mevcut topluluktan çaprazlama ve mutasyon işlemine tabi tutulacak bireylerin seçilmesi gerekir. Teoriye göre iyi olan bireyler yaşamını sürdürmeli ve bu bireylerden yeni bireyler oluşturulmalıdır. Bu nedenle tüm seçilim yöntemlerinde uygunluk değeri fazla olan bireylerin seçilme olasılığı daha yüksektir. En bilinen seçilim yöntemleri Rulet Seçilimi, Turnuva Seçilimi ve Sıralı Seçilimdir. AKADEMİK BİLİŞİM 2008
SEÇİLİM YÖNTEMLERİ Rulet Seçilimi: Topluluktaki tüm bireylerin uygunluk değerleri toplanır ve her bireyin seçilme olasılığı, uygunluk değerinin bu toplam değere oranı kadardır. Sıralı Seçilim: En kötü uygunlukta olan kromozoma 1 değeri verilir, ondan daha iyi olana 2, daha iyisine 3 değeri verilerek devam edilir. Bir bireyin seçilme olasılığı, o bireye verilen değerin tüm bireylere verilen değerler toplamına oranı kadardır. Turnuva Seçilimi: Topluluk içerisinden rastgele k adet (3,5,7) birey alınır. Bu bireylerin içerisinden uygunluk değeri en iyi olan birey seçilir. AKADEMİK BİLİŞİM 2008
RULET TEKERLEĞİ – SIRALI SEÇİLİM Rulet tekerleği, düşük uygunluk değerli bireylere çok düşük seçilme şansları tanırken, sıralı seçilimde bu olasılıklar artmaktadır. Böylece her nesilde en iyi çözüm seçilerek çeşitliliğin azalması tehlikesinin önüne geçilmektedir. Uygunluk Rulet Seçilimi Sıralı Seçilim 16 16/20 3/6 3 3/20 2/6 1 1/20 1/6 AKADEMİK BİLİŞİM 2008
ÇAPRAZLAMA Genetik Algoritmalarda çaprazlama işlemi, iyi çözümlerin farklı bölümlerini birleştirip daha iyi çözümler oluşturabilmek amacıyla kullanılır. Çaprazlamanın en kolay yolu rastgele bir çaprazlama noktası belirleyip, bu noktadan önceki bölümü ilk ebeveynden, sonraki bölümü ise diğer ebeveynden alarak yeni bir birey oluşturmaktır. AKADEMİK BİLİŞİM 2008
ÇAPRAZLAMA II 11001011 + 11011111 = 11001111 21745863 + 58234167 = 21745836 AKADEMİK BİLİŞİM 2008
GREEDY SUBTOUR CROSSOVER Çaprazlama aşamasında yerel minimumlardan kurtulmayı sağladığı için Greedy Subtour Crossover (GXO) yöntemini kullandık. GSP’de turun belli kısımları için en iyi alt turu içeren çözümler yerel minimumlara neden olabilir. AKADEMİK BİLİŞİM 2008
MUTASYON Bireyin bir sonraki nesle geçirilmesi sırasında kromozomu oluşturan karakter dizisinde yapılan rastgele değişikliğe mutasyon denir. Orijinal Birey 1 1101111000011110 Birey 1 (Mutasyon) 1100111000011110 AKADEMİK BİLİŞİM 2008
MUTASYON II Mutasyon, oluşan yeni çözümlerin önceki çözümü kopyalamasını önleyerek çeşitliliği sağlamak ve sonuca daha hızlı ulaşmak amacıyla gerçekleştirilir. Mutasyon olasılığı çok düşük (Ör:%0.01) tutulmalıdır. Yüksek mutasyon olasılığı uygun çözümlerin de bozulmasına yol açabilir. AKADEMİK BİLİŞİM 2008
SEÇKİNCİLİK (ELİTİZM) Seçilim, çaprazlama ve mutasyon işlemleri sonrasında mevcut topluluktaki en iyi uygunluk değerine sahip birey yeni topluluğa aktarılamayabilir. Bunu önlemek için bu işlemlerden sonra, bir önceki topluluğun en iyi (elit) bir veya daha çok bireyi, yeni oluşturulan topluluğa doğrudan aktarılır. Buna seçkincilik adı verilir. AKADEMİK BİLİŞİM 2008
YEREL ARAMA SEZGİLERİ En İyi Öncelikli Arama (Best-First Search) A* Yinelemeli Derinleşen A* (Iterative-Deepening A* - IDA*) Basitleştirilmiş Bellek Bağımlı (Simplified Memory-Bounded A* - SMA* ) 2-opt 3-opt AKADEMİK BİLİŞİM 2008
2-OPT 2-opt, bir turdaki iki kenarı silerek turu iki parçaya ayırır ve bu parçaları ters çevirerek birleştirir. Böylece genetik algoritmanın yerel minimumlara takılma olasılığı büyük ölçüde azalır. AKADEMİK BİLİŞİM 2008
JAVA İLE GELİŞTİRİLEN ARAÇ Bildiri kapsamında rota planlama için geliştirdiğimiz ve gezgin satıcı problemini çözen Java tabanlı simülasyon aracı, Türkiye’nin 81 ilinin karayolları ve 31 ilinin hava yolları bağlantısı için mesafeye bağlı rota çözümleri vermektedir. Kullanıcı araç üzerinde etkileşimli olarak düzenleyebildiği nokta kümeleri için, kendi belirlediği problemler ile, TSPLIB kütüphanesinden alınmış bazı önemli GSP’leri de çözdürebilmektedir. Sonuçta bulunan güzergahlar ise hesaplanan uzunluklarla birlikte bilgisayar grafikleri kullanarak ekranda gösterilmektedir. AKADEMİK BİLİŞİM 2008
81 İL İÇİN BULUNAN EN İYİ ROTA AKADEMİK BİLİŞİM 2008
81 İLİN DOLAŞILMA SIRASI İzmir - Manisa - Balıkesir - Çanakkale - Edirne – Kırklareli - Tekirdağ İstanbul - Kocaeli - Yalova - Bursa - Bilecik – Sakarya - Düzce - Bolu Zonguldak - Bartın - Karabük - Kastamonu - Sinop - Samsun - Ordu Giresun - Trabzon - Rize - Artvin - Ardahan - Kars - Iğdır - Ağrı Erzurum - Bayburt - Gümüşhane - Erzincan - Tunceli - Elazığ - Malatya Bingöl - Muş - Bitlis - Van - Hakkari - Şırnak - Siirt - Batman - Diyarbakır Mardin - Urfa - Adıyaman - Maraş - Gaziantep - Kilis - Hatay Osmaniye - Adana - İçel - Karaman - Konya - Aksaray - Nevşehir Niğde - Kayseri - Sivas - Tokat - Amasya - Çorum - Yozgat - Kırşehir Kırıkkale - Çankırı - Ankara - Eskişehir - Kütahya - Afyon - Uşak Isparta - Burdur - Antalya - Denizli - Muğla - Aydın - İzmir AKADEMİK BİLİŞİM 2008
DENEYSEL SONUÇLAR GSP Örneği Bilinen En İyi Sonuç En İyi Berlin52 7544.37 KroA100 21285.44 KroA150 26524.86 KroA200 29368 29375.91 Turkiye81 9954 9947 Thy31 - 4419.84 AKADEMİK BİLİŞİM 2008
WEB TABANLI ARACIN YARARLARI Değişik meslek gruplarından kişiler, ellerindeki parça toplama, parça yerleştirme ve dolaşmaya dayalı birçok problemi farklı nokta sayıları ve konumları için deneyerek en uygun sonucu alabilmektedirler. Bir fabrikadaki parçaların toplanmasından, bir kampüsteki posta dağıtımına, baskı devrelerdeki bileşenlerin yerleştirilmesinden, turlarda belirtilen tüm turistik merkezlere uğramaya kadar uyarlanabilir. AKADEMİK BİLİŞİM 2008
WEB TABANLI ARACIN YARARLARI II Uygulamayı geliştirirken Java ortamını tercih etmemizin nedeni, Java’nın nesneye dayalı programlamayı desteklemesi ve platform bağımsızlığı sunarak, aracın çok sayıda kullanıcıya ulaşmasını sağlamasıdır. Araç, değişik eniyileme yöntemi geliştiren araştırmacılar için, kendi sonuçlarını geliştirdiğimiz melez yöntemin sonuçları ile karşılaştırma olanağı da sunmaktadır. AKADEMİK BİLİŞİM 2008
WEB TABANLI ARACIN YARARLARI III Rota planlama konusunda bu tür web-tabanlı eniyileme yazılımlarının geliştirilmesi, araştırmacılara test olanağı sunması ve değişik meslek gruplarındaki kişilerin ellerindeki problemlere çözüm getirmesinin yanında, GA ve yerel arama sezgileri gibi YZ alanları ile daha çok kişinin de tanışmasını sağlar. Çalışmamız, ayrıca endüstride rota planlama ve GSP’ye dayalı değişik problemlerin çözümünde kullanılabilecek eğlenceli, kullanımı kolay, etkileşimli ve esnek yazılım araçlarının nesne yönelimli yaklaşımla geliştirilmesi için de bir örnek oluşturur. AKADEMİK BİLİŞİM 2008
KAYNAKÇA Cevre U., Özkan B., Uğur A., Gezgin Satıcı Probleminin Genetik Algoritmalarla Eniyilemesi ve Etkileşimli Olarak Internet Üzerinde Görselleştirilmesi, INET-TR 2007, 2007 Sengoku, H., Yoshihara, I., 'A Fast TSP Solution using Genetic Algorithm',1998. Goldberg DE, Genetic Algorithms in Search, Optimization and Machine Learning. Reading, MA: Addison-Wesley, 1989. Holland, J., 'Adaptation in Natural and Artificial Systems', Ann Arbor USA, University of Michigan, 1975. Larranaga P, Kuijpers CMH, Murga RH, Inza I, Dizdarevic S, Genetic algorithms for the travelling salesman problem: A review of representations and operators, Articial Intelligence Review, 13, pp. 129—170, 1999. Johnson, D.S. and McGeoch, L.A., 'The traveling salesman problem: A case study in local optimization', In E.H.L. Aarts and J.K. Lenstra, editors, Local Search in Combinatorial Optimization, 1997, pp 215–310. Uğur A., Aydın D., Ant System Algoritmasının Java ile Görselleştirilmesi, Akademik Bilişim 2006, 2006 AKADEMİK BİLİŞİM 2008
SORULAR Bizi dinlediğiniz için teşekkür ederiz. AKADEMİK BİLİŞİM 2008