29
EMRULLAH SONUÇ AKADEMIK BILIŞIM ŞUBAT 2015 Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması EMRULLAH SONUÇ, BAHA ŞEN, ŞAFAK BAYIR

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Embed Size (px)

Citation preview

Page 1: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

E M R U L L A H S O N U Ç

A K A D E M I K B I L I Ş I M

Ş U B A T 2 0 1 5

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

Hesaplamanın Kullanılması

E M R U L L A H S O N U Ç , B A H A Ş E N , Ş A F A K B A Y I R

Page 2: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

İçindekiler

Gezgin Satıcı Problemi

Benzetilmiş Tavlama

Benzetilmiş Tavlama Algoritmasının Paralelleştirilme Nedenleri

Literatürde Paralel Benzetilmiş Tavlama

BT ile Seri GSP

CPU Üzerinde Yapılan Paralelleştirme Çalışmaları

GPU Üzerinde Yapılan Paralelleştirme Çalışmaları

Sonuç ve Öneriler

Kaynaklar

2

Page 3: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Gezgin Satıcı Problemi

Gezgin Satıcı Problemi (GSP) bir seyyar satıcınınelindeki mallarını n şehirde satmak istemesindenoluşmaktadır.

Satıcı tüm şehirlere mümkün olduğu kadar en kısayoldan ve maksimum bir kez uğrayarak turlamakistemektedir.

Problemin çözümünde amaç ise satıcıya en kısa yolusunabilmektir.

3

Page 4: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Gezgin Satıcı Problemi

Optimizasyon konusunda başı çeken konular arasındayer alır. "Hesaplamanın karmaşıklığı" teorisine göreçözümü NP-Tam (NP-complete) olan en önemlialgoritma problemlerinden biridir.

Bu problemleri tam bir şekilde çözebilecek bir algoritmaolmadığı kabul edilmektedir. Şu anda çözülmeye çalışılanen büyük problem dünya üzerinde kayıtlı yerleşimi olanher nokta için en kısa yol problemidir. Bu problem1.904.711 şehir içermektedir

4

Page 5: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Gezgin Satıcı Problemi

Çok şehirli GSP’leri çözmek için yaklaşık çözümüreten sezgisel algoritmalar kullanılmaktadır.

Sezgisel algoritmalar, en iyi çözüm hakkındaherhangi bir garanti vermemelerine karşılık, en iyiçözüme yakın iyi bir sonucun makul bir süredebulunmasını sağlarlar.

5

Page 6: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Benzetilmiş Tavlama

Bilgisayar bilimlerinde, özellikle hesaplama alanındakullanılmaktadır.

Amacı, Herhangi bir problem için genel iyileştirme (global optimization)

elde etmek.

Herhangi bir fonksiyonun genel minimum veya maksimum (globalminimum) değerini elde etmek.

Özellikle matematiksel modellerle gösterilemeyenkombinasyonel problemlerin eniyileme uygulamalarındatercih edilir.

6

Page 7: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Benzetilmiş Tavlama

Yöntem bölgesel en iyi çözümlere (local optimum)takılmamak için kullanılır.

Soğutma işlemi bu algoritmada daha iyi sonuçlarınbulunmasını sağlayacak yeni komşu çözümlerinüretilmesini sağlar.

Kirkpatrick ve arkadaşları tarafından 1983 yılındaönerilmiştir.

7

Page 8: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Benzetilmiş Tavlama

s ← s0; e ← E(s) // İlk durum, enerji. sbest ← s; ebest ← e // Başlangıçta en iyi çözüm. k ← 0 // İterasyon sayısı while k < kmax and e > emax // İterasyon bitene kadar döngüde kal: T ← temperature(k/kmax) // Sıcaklığın düşürülmesi snew ← neighbor(s) // Yeni bir konfigürasyon seç. enew ← E(snew) // Enerjiyi hesapla. if P(e, enew, T) > random() then // Yeni durum kabul edilebilir mi? s ← snew; e ← enew // Evet ise mevcut durumu değiştir if e < ebest then // Enerji daha düşükse en iyi çözüm yap. sbest ← snew; ebest ← enew // Mevcut durumu en iyisiyle değiştir k ← k + 1 // İterasyon sayısını artır. return sbest // En iyi durum bulundu.

8

Page 9: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Benzetilmiş Tavlama

Algoritma rastgelelik üzerine kurulu bir yöntemdir.

Literatürde yöntemin birden çok kez uygulandığıgörülmüş ve daha iyi sonuçlar elde edilmiştir.

BT’de genel olarak 4 ana parametre vardır. Bunlar:

Başlangıç Sıcaklığı,

Soğutma Katsayısı,

Hedef Sıcaklık ve

İterasyon Sayısıdır.

9

Page 10: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Benzetilmiş Tavlama Algoritmasının Paralelleştirilme Nedenleri

Seri algoritmada her adımda tek bir çözüm bulunur vemevcut ile karşılaştırılır.

Günümüzde kullanılan paralelleştirme yöntemlerikullanılarak her adımın iş parçacıklarına dağıtılmasıylabirden fazla çözüm üretilip bunlar için en uygun olanıseçebilmek mümkündür.

Seri algoritma için gereken süre içerisinde paralel biryöntemde birden fazla çözüm üretilerek daha iyi sonuçbulabilme ihtimali de artmış olmaktadır.

10

Page 11: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Literatürde Paralel Benzetilmiş Tavlama

Literatürde BT ile ilgili yapılan paralelleştirmeçalışmaları Graphics Processing Unit (GPU)teknolojisinin gelişmesiyle birlikte CentralProcessing Unit (CPU)’dan GPU’ya doğru kaymıştır.

Yapılan birçok çalışmada, CPU ve GPU arasındaperformans değerlendirmeleri yapılmış, kriter olaraksüre ve sonuçların doğruluğu değerlendirilerekanalizlerde bulunulmuştur.

11

Page 12: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Literatürde Paralel Benzetilmiş Tavlama

Kullanılan iş parçacığı sayısı da bir başka kriterolarak ortaya çıkmaktadır. Algoritmanın CPUüzerinde çalışırken işletim sistemi tarafından işparçacıklarının meşgul edilmesi gibi sebepler CPU’yubu konuda dezavantajlı hale getirildiği belirtilmiştir.

Ayrıca GPU teknolojisinin gelişmesinden kaynaklıortaya konulan yeni çalışmalar ve yaklaşımlar ilesonuçların her geçen gün daha da iyileştirildiğigörülmektedir.

12

Page 13: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

BT ile Seri GSP

Öncelikle program seri olarak kodlanarakuygulanmıştır. GSP yaygın bir problem olduğundanparalelleştirme çalışmaları GSP üzerinde testedilmiştir.

GSP için veri seti olarak TSPLIB kütüphanesinde bulunan Berlin52 veri seti kullanılmıştır.

Berlin52 veri seti için optimum değer 7542’dir.

13

Page 14: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

BT ile Seri GSP

Seri çalıştırılan programda BT’ye ait parametrelerdeğiştirilerek probleme uygun hale getirilmeyeçalışılmıştır.

İterasyon sayısı olarak 1000 belirlenmiştir. Heriterasyonda yaklaşık 30000 adım test edilmiştir.

Seri çalıştırılan programda BT’ye ait parametrelerdeğiştirilerek probleme uygun hale getirilmeyeçalışılmıştır.

14

Page 15: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

BT ile Seri GSP

Toplamda 92 adımda maliyet indigenmiş, sonuçlargrafik olarak Şekil 1’de gösterilmiştir.

En düşük maliyet 9417 olarak bulunmuştur.Programın parametre değerleri ise şunlardır:

Başlangıç Sıcaklığı = 1000000000,

Soğutma Katsayısı = 0.999,

Hedef Sıcaklık = 0.0001,

İterasyon Sayısı = 1000.

15

Page 16: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

BT ile Seri GSP16

6500

8000

9500

11000

12500

14000

15500

17000

18500

20000

21500

1 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 91 92

Seri Uygulamada Toplam Maliyet

Şekil 1. BT’nin seri çalıştırılması sonucunda elde edilen maliyet değerleri.

Page 17: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

CPU Üzerinde Yapılan Paralelleştirme Çalışmaları

CPU üzerinde paralelleştirme çalıştırmaları yapılmadanönce BT’nin paralel versiyonları incelenmiş ve enoptimum paralel algoritma üzerinde kodlama çalışmalarıyapılmıştır. Bu algoritmanın çalışma prensibi şu adımlarıiçerir:

1. Başlangıç sıcaklığı T ve ilk konfigürasyon E ilealgoritma ayarlanır. T ve E değerleri her bir işparçacığına gönderilir.

2. Her bir iş parçacığı seri bir şekilde BT algoritmasınıçalıştırır ve maliyet hesabı yapar.

17

Page 18: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

CPU Üzerinde Yapılan Paralelleştirme Çalışmaları

3. Her bir iş parçacığı işlemini tamamladıktan sonraelde ettiği değeri ve konfigürasyonu ana işparçacığına gönderir. Burada en düşük enerjiye(maliyete) sahip değer ve konfigürasyonkarşılaştırma yöntemiyle ya da belirlenen biralgoritma yardımıyla belirlenir.

4. Elde edilen yeni konfigürasyon tekrar işparçacıklarına dağıtılır. 2. ve 3. adım sıcaklık değerihedef sıcaklığa indirgene kadar tekrarlanır.Algoritma bu şekilde sonlandırılır.

18

Page 19: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

CPU Üzerinde Yapılan Paralelleştirme Çalışmaları

CPU üzerinden parallelleştirme çalışmalarındaOpenMP kullanılmıştır. OpenMP birçok işletimsistemleri üzerinde çoğu işlemci mimarisi üzerindeFortran, C++, C programlama dillerinde çokluplatform paylaşımlı bellek çoklu işlemeyi destekleyenbir uygulama geliştirme arayüzüdür.

Toplamda 20 adımda maliyet indigenmiş, buindirgeme durumlarının farklı iş parçacıklarıtarafından elde edildiği görülmüştür. En düşükmaliyet 8099 olarak elde edilmiştir.

19

Page 20: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

CPU Üzerinde Yapılan Paralelleştirme Çalışmaları

OpenMP kullanılarak CPU üzerinde 8 iş parçacığı ileprogram çalıştırılmıştır. Sonuçlar Şekil 2’tegösterilmiştir.

20

5000

8000

11000

14000

17000

20000

23000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Paralel Uygulamada (CPU) Toplam Maliyet

Şekil 2. BT’nin CPU üzerinde paralel çalıştırılması sonucunda elde edilen maliyet değerleri.

Page 21: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

GPU Üzerinde Yapılan Paralelleştirme Çalışmaları

GPU’nun CPU’ya nazaran en önemli özelliği çekirdeksayısının fazla olmasıdır. GPU’nun binlerce işparçacığı aynı anda işlem yapabilmekte ve paralelhesaplamaya uygun dizayn edilmesi neticesindeverimli sonuçlar elde edilebilmektedir.

GPU üzerinde CUDA kullanılarak yapılan çalışmadaCPU tarafında kullanılan algoritma temel alınmıştır.Algoritmanın çalıştırılması esnasındaki GPU’daki işparçacığı sayısı CPU ile karşılaştırma açısından 8olarak belirlenmiştir.

21

Page 22: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

GPU Üzerinde Yapılan Paralelleştirme Çalışmaları

22

Şekil 3. CPU ve GPU yapısının karşılaştırılması.

CUDA, NVIDIA’nın GPU (grafik işlem birimi)gücünü kullanarak hesaplama performansındabüyük ölçüde artışlara olanak veren paralelhesaplama mimarisidir.

Page 23: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

GPU Üzerinde Yapılan Paralelleştirme Çalışmaları

Algoritmanın çalıştırılması sonucunda en düşükmaliyet 7976 olarak bulunmuştur. Toplamda 5adımda maliyet indirgenmiş ve Şekil 4’tegösterilmiştir. En düşük maliyet 25. Adımdabulunmuştur.

Sonraki yaklaşık 975 adımda daha uygun bir sonuçelde edilememiştir. Bu açıdan bakılacak olursaGPU’daki hesaplama yetenekleriyle sonuca daha azadımda erişilmiştir.

23

Page 24: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

GPU Üzerinde Yapılan Paralelleştirme Çalışmaları

24

0

2000

4000

6000

8000

10000

12000

1 2 3 4 5

Paralel Uygulamada (GPU) Toplam Maliyet

Şekil 3. BT’nin GPU üzerinde paralel çalıştırılması sonucunda elde edilen maliyet değerleri.

Page 25: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

GPU Üzerinde Yapılan Paralelleştirme Çalışmaları

Yapılan çalışmalardaki ilk amaç maliyeti düşürmekolduğundan süreler kriter olarakdeğerlendirilmemiştir. Gerek CPU’da gerekseGPU’da uygulanan paraleleştirme seri uygulamayanazaran daha uzun sürmüştür.

GPU tarafında kullanılan teknolojinin son teknolojiolmaması (Compute Capability 1.1) vedeğerlendirilen veri setinin küçük boyutlu olmasıbunda etken olarak değerlendirilebilir.

25

Page 26: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Sonuç ve Öneriler

Sonuca bakılacak olursa BT algoritmasının bu tarz problemleriçin uygun bir yöntem olduğunu söylemek mümkündür.

Ayrıca problemin çözümüne göre uygun parametrelerbelirlemek optimum çözüm elde etmek konusunda etkilidir.İterasyon sayısının artması yani algoritmayı birden çok kezçalıştırmak daha iyi sonuçların elde edilmesine imkansağlamak ile birlikte zaman problemini ortaya çıkarmaktadır.

Çözülecek problemin boyutu arttıkça zaman problemi debüyük bir problem haline gelmektedir. Bu yüzden paralelçalışmaların bu konudaki çözümleri önemlidir.

26

Page 27: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Kaynaklar

http://tr.wikipedia.org/wiki/Sezgisel_algoritma http://bilgisayarkavramlari.sadievrenseker.com/2009/11/23/

simulated-annealing-benzetilmis-tavlama/ http://www.yapay-

zeka.org/modules/wiwimod/index.php?page=Simulated+Annealing

Kirkpatrick S., Gerlatt C. D. Jr., Vecchi M.P., “Optimization bySimulated Annealing”, Science, 220, 671-680, (1983).

http://163.18.62.64/wisdom/Simulated%20annealing%20overview.pdf (Simulated annealing overview, Franco Busetti)

http://en.wikipedia.org/wiki/Simulated_annealing Petru Eles, Simulated Annealing Lecture Notes, Department

of Computer and Information Science (IDA) LinköpingsIniversitet, http://www.ida.liu.se/~petel/

27

Page 28: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

Kaynaklar

http://en.wikipedia.org/wiki/Traveling_salesman_problem(Travelling salesman problem - Wikipedia, the free encyclopedia)

http://www.matematikdunyasi.org/arsiv/PDF/03_3_37_40_GEZGIN.pdf (Gezgin Satıcı Problemi, Haldun SURAL)

http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ (TSPLIB -Ruprecht-Karls-Universität Heidelberg).

http://www.ccs.neu.edu/course/com3620/projects/simul_annealing/parallel-final-report.doc (Parallel Simulated Annealing)

http://openmp.org/wp/ (The OpenMP® API specification forparallel programming).

http://www.nvidia.com/object/cuda_home_new.html (CUDAParallel Computing Platform)

http://docs.nvidia.com/cuda/curand/ (cuRAND :: CUDA ToolkitDocumentation)

28

Page 29: Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle ...ab.org.tr/ab15/sunum/329.pdf · rview.pdf (Simulated annealing overview, Franco Busetti) ... Petru Eles, Simulated

~ Son ~29

Dinlediğiniz için teşekkürler.

Emrullah SONUÇ – Akademik Bilişim (Şubat 2015)