th International Advanced Technologies Symposium (IATS 11), 1-1 May 211, Elazığ, Turkey Güncel Sezgisel Arama Algoritmalarının Denetleyici Parametrelerinin Optimizasyonunda Başarım Kıyaslaması M. Kesler 1, C. Karakuzu 1, U. Yüzgeç 2 1 Bilecik Üniversitesi Bilgisayar Mühendisliği Bölümü, 112, Bilecik cihan.karakuzu@bilecik.edu.tr, metin.kesler@bilecik.edu.tr, 2 Bilecik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü, 112, Bilecik, ugur.yuzgec@bilecik.edu.tr Performance Comparison of Newsworthy Heuristic Search Algorithms on Controller Parameter Optimization Abstract In order to solve nonlinear optimization problems, usage of heuristic methods has become widespread. In this paper, performance of four heuristic search algorithms (Genetic Algoritm-GA, Ant Colony Algorithm-ACO, Particle Swarm Optimization-PSO, Differential Evolution-DE) is investigated to determine PID controller parameters for DC motor control. The algorithms have been separately run times for the same swarm size and maximum generation number. Obtained results are evaluated and compared according to the measures of central tendency. Keywords Genetic Algorithm, Particle Swarm Algorithm, Ant Colony Algorithm, Differential Evolution, PID parameter. H I. GİRİŞ EM fen bilimleri hem de sosyal bilimlerin uygulama alanlarında karşılaşılan birçok problem, doğrusal veya doğrusal olmayan optimizasyon problemi olarak tanımlanmaktadır. Gerçek hayattaki uygulamalardaki optimizasyon problemlerinin büyük bir bölümü doğrusal olmayan bir yapıya sahiptir ve bu tip doğrusal olmayan problemlerin çözümüne yönelik olarak geliştirilmiş birçok teknik ve yaklaşım mevcuttur [1]. Özellikle çok değişkenli optimizasyon süreçlerinde, değişken sayısına ve veri tiplerine bağlı olarak problemlerin zorluk dereceleri de artabilmektedir. Bu tip problemlerin klasik optimizasyon yöntemleri ile çözümü, hem problemin yapısına bağlı olarak modellemede, hem de çözüm sürecinde zorluklar içermektedir. Yani bu tip çözüm yöntemleri daha ziyade problemlere özeldir ve problemin kesinlikle matematiksel fonksiyonlarla tanımlanma gerekliliği gibi birçok sakıncaya sahiptir. Bu güçlüklerin üstesinden gelebilmek için doğada var olan sistemleri ve olayları temel alarak oluşturulan sezgisel yöntemler geliştirilmiştir [2]. Özellikle popülasyon temelli sezgisel çok boyutlu arama işlemleri sayesinde, optimizasyon probleminin çözümüne hızlı bir şekilde ulaşılabilmektedir. Bu sezgisel yaklaşımlardan Genetik Algoritma (GA), Karınca Kolonisi Algoritması (KKA), Parçacık Sürü Optimizasyonu (PSO) ve Diferansiyel Gelişim (Differential Evolution, DE) algoritması en yaygın kullanılanlar arasında sayılabilir. Bu çalışmada PID parametrelerinin ayarlanması bu dört farklı sezgisel arama algoritması kullanılarak yapılmış ve bu algoritmaların başarımları değerlendirilmiştir. II. SEZGİSEL ARAMA ALGORİTMALARI Bu bölümde çalışmada kullanılan dört sezgisel arama algoritmasına ait temel bilgiler verilmiştir. A. Diferansiyel (Farksal) Gelişim Algoritması (DE) Farksal Gelişim Algoritması Price ve Storn tarafından 15 yılında geliştirilmiş, özellikle sürekli verilerin söz konusu olduğu problemlerde etkin sonuçlar verebilen, isleyiş ve operatörleri itibariyle genetik algoritmaya dayanan popülasyon temelli sezgisel bir optimizasyon tekniğidir [2-5]. DE Algoritmasının temel fikri popülasyondaki iki bireyin arasındaki farkın bir üçüncü bireye ilave edilmesine dayanmaktadır. Genetik Algoritmalardan farklı olarak, DE algoritması çaprazlama olasılık oranı (crossover probability constant), ölçekleme faktörü (scaling factor) gibi birkaç kontrol parametresine daha sahiptir. Kontrol parametrelerinin değerleri arama algoritmasının verimi ve elde edilen çözümün kalitesini artırmak için dikkatli bir şekilde seçilmelidir. Yine DE Algoritmasında klasik ikili (binary) Genetik Algoritma dan farklı olarak popülasyondaki bireyler gerçek değerleriyle temsil edilmektedir ve her bir operatör (çaprazlama ve mutasyon) tüm popülasyona sırayla uygulanmamaktadır. Kromozomlar tek tek ele alınmakta, rastgele seçilen diğer üç kromozomda kullanılarak yeni bir birey elde edilmektedir. Bu işlemler sırasında mutasyon ve çaprazlama operatörleri kullanılmaktadır. Mevcut kromozomla elde edilen yeni kromozomun uygunlukları karsılaştırılarak uygunluğu daha iyi olan, yeni birey olarak bir sonraki popülasyona aktarılmaktadır. Böylelikle seçim operatörü de kullanılmış olmaktadır. DE Algoritmalarında önemli parametre mevcuttur: çaprazlama olasılık faktörü, ölçekleme faktörü ve popülasyon boyu. DE algoritmalarında farklı strateji vardır: 21
C.Karakuzu, M. Kesler, U. Yüzgeç DE/best/1/exp DE/rand/1/exp DE/rand-to-best/1/exp DE/best/2/exp DE/rand/2/exp DE/best/1/bin DE/rand/1/bin DE/rand-to-best/1/bin DE/best/2/bin DE/rand/2/bin DE Algoritmasında kullanılan bu stratejilerde, ilk kısım karıştırılacak bireyi, ikinci kısım ilk kısım ile çaprazlama yapılacak fark vektörlerinin sayısını son kısım ise çaprazlama tipini göstermektedir. Bu çalışmada kullanılan DE/rand-tobest/1/bin stratejisi kullanılmıştır. DE algoritmasının çalışması kısaca aşağıda verilmiştir: 1. DE algoritmasının parametrelerinin belirlenmesi. (maksimum jenerasyon, çaprazlama olasılık oranı, ölçekleme faktörü, popülasyon boyu gibi) 2. Başlangıç popülasyonunun rastgele oluşturulması. Her bir bireyin maliyet fonksiyonunun hesaplanması ve en iyi bireyin tespit edilerek saklanması 4. Popülasyon içinden üç farklı bireyin seçilmesi ve seçilen stratejiye uygun olarak mutasyon ve çaprazlama işlemleri ile yeni popülasyonun oluşturulması 5. Eski popülasyon ve yeni oluşturulan popülasyondaki bireylerin maliyet fonksiyonu değerlerine göre yeni popülasyon bireylerinin seçilmesi. Popülasyondaki en iyi bireyin güncellenmesi. Eğer maksimum jenerasyona ulaşılmadı ise 4. adıma gidilmesi, aksi halde aramanın sonlandırılması. Son adımdaki en iyi bireylerin çözüm olarak kullanılması. B. Tur atan Karınca Koloni Algoritması TACO (Touring Ant Colony Optimization) algoritması Hiroyasu ve arkadaşları [] tarafından özellikle mühendislik alanında sürekli optimizasyon problemleri için önerilmiştir. Bu algoritmada çözümler ikili sayılarla temsil edilmekte ve tasarım parametreleri ikili sayıların alt guruplarından oluşan bir vektör olarak ele alınmaktadır. Bu nedenle, her bir yapay karınca dizideki ikili sayının değerini araştırır. Başka bir deyişle ikili sayının değerinin 1 ya da olup olmadığına karar vermeye çalışır. Bir ikili sayının değeri için karar verme aşamasında, karıncalar sadece feromon maddesi bilgisini kullanır. Bir karınca dizideki tüm ikili sayıların değeri için karar verdiğinde problem için bir çözüm üretmiş demektir. Bu çözüm, problem için değerlendirilir ve uygunluk fonksiyonu olarak adlandırılan bir fonksiyon aracılığıyla çözüme ilişkin bir ölçüt değeri elde edilir. Bu değere bağlı olarak, yapışacak bir feromon maddesi miktarı ikili sayılar arasında oluşan yapay bütün alt yollara yapıştırılır[2,]. Şekil 1 de bir karınca tarafından üretilen temsili yol (çözüm) verilmektedir. Şekil 1: Bir karınca tarafından bulunan yol (çözüm). Eşitlik (1) de k. karıncanın yolunu seçme olasılığı verilmektedir. (2) de ise seçilen yola k. karınca tarafından eklenen feromon miktarı verilmektedir. Burada değeri yoluna eklenen feromon miktarı, Q pozitif sabit sayı C k ise k. karınca tarafından hesaplanan çözümün ölçüt değeridir. M tane karıncanın çözüm üretmesi sonrasında t ve t+1 anları arasında yolunda ki toplam feromon miktarının bulunması () de tanımlanmıştır. Eşitlik (4) de alt yollardaki t+1 anındaki feromon miktarı hesaplanmaktadır. Burada, buharlaşma kasayısıdır ve feromonun buharlaşma miktarını gösterir. C. Parçacık Sürü Optimizasyonu (PSO) Parçacık sürü optimizasyonu algoritması 15 yılında Kennedy ve Eberhart [] tarafından geliştirilmiş, bireyleri arasındaki sosyal etkileşimi kullanarak bireylerini arama uzayında en anlamlı bölgeye yönlendiren populasyon tabanlı stokastik arama algoritmasıdır. Algoritma başlangıçta rastgele atanmış bireylerle (parçacık) başlatılır. Her bir iterasyonda, parçacıkların hızları ve pozisyonları güncellenir. Parçacık hızlarının güncellenmesi için literatürde farklı yöntemler mevcuttur. Bu çalışmada hızların (v i ) güncellenmesi için (5) de verilen yöntem [] kullanılmıştır. (1) (2) () (4) vi n 1r1 plb,i pi n n 1 (5) r p p n vi n 1 2 2 gb i Eşitlikteki, p i, p lb,i ve p gb sırasıyla i. parçaçık, i. parçacık için geçerli iterasyona kadar elde edilmiş en iyi (yerel en iyi) parçacık ve sürüdeki tüm parçacıklar için şimdiye kadar elde edilmiş en iyi (küresel en iyi) parçacık; α 1, α 2, α, öğrenme sabitleri, r 1 ve r 2 [-1) aralığında düzgün dağılımlı rastgele sayılar; ξ sınırlama faktörü, λ normal dağılımlı rastgele sayı vektörüdür. Eşitlik 5 deki son terim parçacıkların erkenden yerel minimuma takılmasını önleyerek, ilgili uzayda daha 22
Güncel Sezgisel Arama Algoritmalarının Denetleyici Parametrelerinin detaylı arama yapılmasına izin verir. Hızlarının belirlenmesinden sonra parçacıklar () ya göre güncellenir. p n pn vn D. Genetik Algoritma (GA) 1 () Genetik algoritmalar doğada var olan bir yarışma ortamında, ancak daha iyi ve daha kuvvetli olan bireylere kazanma şansının verildiği, biyolojik olaylara benzetilerek geliştirilmiş, paralel ve küresel bir arama tekniğidir []. Çözüm için "iyi"nin ne olduğunu belirleyen bir uygunluk (fitness) fonksiyonu ve yeni çözümler üretmek için yeniden kopyalama (recombination), değiştirme (mutation) gibi operatörleri kullanırlar. Genetik algoritmaların bir diğer önemli özelliği de bir grup çözümle uğraşmasıdır. Bu sayede çok sayıda çözümün içinden iyileri seçilip kötüleri elenebilir. Genetik algoritmaları diğer algoritmalardan ayıran en önemli özelliklerden biri de seçim işlemidir, çözümün uygunluğu bireyin seçilme şansını arttırır ancak bunu garanti etmez. Seçim işlemi rastgeledir, ancak bu rastgele seçimde seçilme olasılıklarını çözümlerin uygunluğu belirler. Çözüm için takip edilen işlem basamakları aşağıda verilmiştir. 1. Başlangıç (Olası çözümlerin kodlandığı bir çözüm grubu oluşturulur) 2. Uyumluluk (Her kromozomun ne kadar iyi olduğu bulunur -fitness function). Çoğalma (Kromozomlar uygunluk değerlerine göre seçilir, seçilmiş kromozomlar bir eşleşme havuzuna kopyalanır ve havuzda bireyler çiftler halinde gruplara ayrılır) 4. Çaprazlama (Mevcut havuzun potansiyelini artırmak üzere olay iki ebeveyn kromozomun arasında belirlenen parçalar takas edilir) 5. Mutasyon (Oluşan yeni çözümlerin önceki çözümü kopyalamasını önlemek ve genetik çeşitliliği sağlamak amacıyla yeni bireyin bir bitini (eğer ikili düzende ifade edilmiş ise) rasgele değiştirir). Döngü (Önceden belirlenen kuşak sayısı boyunca 2. adımdan itibaren yukarıdaki işlemler devam ettirilir). Son (İterasyon sona erdiğinde amaç fonksiyonuna en uygun olan kromozom seçilir) (Şekil 2) Başlangıç populasyonun rastgele oluşması Maksimum Jenerasyon? Kromozomların uygunluklarının hesaplanması Çoğalma çaprazlama ve mutasyon İşlemlerinin uygulanması Şekil 2: GA tarafından çözüm üretme döngüsü. III. UYGULAMA Sonuç ve bitir sargısı denetimli DA motorunun hızı, endüvi sargısı uçlarına uygulanan gerilimle kolayca denetlenebilir. Şekil de DA motoru modeli blok diyagramı verilmiştir. Bu çalışmada kullanılan DA motoruna ait parametreler Tablo 1 de verilmiştir. K m 1 V a w Ls + R Js + K f - V emf Armature T d K b Load Şekil : DA motoru blok diyagramı. Tablo 1: DA motoru parametreleri p. kw Hız 115 devir/dk V a 2 V R a.125 Ω L a 1.2 mh B 1. Nm/rad/s J 2. kg.m 2 K b, K d 1. PID parametrelerinin optimizasyonu için ölçüt fonksiyonu olarak () de verilen ortalama karesel ortalama hata (mse) ölçütü kullanılmıştır. Eşitlikte, N toplam örnek sayısını, d(k) istenilen değeri, y(k) ise çıkış değerini göstermektedir. N 1 mse d k y k () N k 1 2 ( ) ( ) Kullanılan sezgisel algoritmalarda sürü büyüklüğü, en büyük nesil sayısı olarak alınmıştır. Algoritmalarda kullanılan parametreler sırasıyla; DE algoritması için ölçekleme faktörü.5 ve çaprazlama olasılık oranı ise. olarak seçilmiştir. PSO algoritmasının parametreleri olarak =.2, 1 = 2 =2.5, ve =2-5 kullanılmıştır. TACO algoritmasında buharlaşma ve GA algoritmasında mutasyon oranı.1 seçilmiştir. PID parametrelerinin sınır değerleri () de verildiği biçimde kullanılmıştır. K p., K., K. () d Sezgisel algoritmalara ait kodlar MATLAB programlama dilinde yazılmış ve Pentium(R) Dual-Core CPU, T42 @ 2. GHz, GB RAM donanımlı, 2 bit işletim sistemine sahip bir diz üstü bilgisayarda çalıştırılmıştır. Her bir algoritma, bir önceki bölümde tanımlanan problemin çözümünde başarımını irdelemek için er defa çalıştırılmıştır. Her bir ayrı çalışma sonucu bulunan PID parametreleri ve en son nesilde elde edilen en iyi ölçüt değeri, her bir algoritma için Şekil 4- de ayrı ayrı verilmiştir. i DA motoru hız kontrolü için PID parametrelerinin (K p, K d ve K i ) optimizasyonunda, bu çalışmada önceki bölümde verilen dört sezgisel arama algoritması kullanılmıştır. Endüvi 2
Ki Ölçüt (mse) degeri Ki Ölçüt (mse) degeri C.Karakuzu, M. Kesler, U. Yüzgeç a) b).1.5.12.11.1 c) d) 5 25 4 2 Şekil 4: DE algoritmasının defa koşturulması sonucu her bir koşturma sonunda elde edilen PID denetleç parametreleri (a), (b), Ki ve ölçüt değerleri (d). a) b) 2. 2. 2.4 2.2 c) d) 2 1 1 14 Şekil 5: TACO algoritmasının defa koşturulması sonucu her bir koşturma sonunda elde edilen PID denetleç parametreleri (a), (b), Ki ve ölçüt değerleri (d). 24
Ki Ölçüt (mse) degeri Ki Ölçüt deðeri Güncel Sezgisel Arama Algoritmalarının Denetleyici Parametrelerinin a) b) 2 5 1 c) 2 d) 15 4 5 2 Şekil : PSO algoritmasının defa koşturulması sonucu her bir koşturma sonunda elde edilen PID denetleç parametreleri (a), (b), Ki (c) ve ölçüt değerleri (d). a) b) 2.5 5 2 5 c) d) 1 5 14 12 5 Şekil : GA algoritmasının defa koşturulması sonucu her bir koşturma sonunda elde edilen PID denetleç parametreleri (a), (b), Ki (c) ve ölçüt değerleri (d). kategorisinde GA ve TACO ile DE ve PSO arasında çok IV. SONUÇLAR VE TARTIŞMA büyük fark gözlenmiştir. Bu sonuca dayalı olarak, gerçek Elde edilen bu sonuçlar merkezi eğilim ölçülerine dayalı zamanlı uygulamalarda DE ve PSO nun kullanımının TACO olarak irdelenmiş Tablo 2 de toplu olarak verilen istatistikî ve GA ya göre daha elverişli olduğu anlaşılmaktadır. sonuçlar elde edilmiş. Tabloda merkezi eğilim ölçüleri baz Her bir algoritma için bulunan Tablo 2 deki aritmetik alınarak, en iyi başarımı gösteren algoritmaya ait veri koyu ortalaması verilen PID parametreleri ile denetim başarımı mavi yazı tipi ile, en kötü başarımı gösteren algoritmaya ait Şekil de verilmiştir. Bir sonraki çalışmada sabit olarak veri altı çizilmiş kırmızı yazı tipi ile verilmiştir. Bu verilere alınan DC motor set değeri, zamanla değişen bir fonksiyon dayalı olarak, DE algoritmasının tüm kategorilerde en iyi olarak düşünüldüğünde, yani yörünge takibinde sezgisel başarımı gösterdiği, PSO algoritmasının ise çoğu kategoride algoritmaların başarımları test edilecektir. en kötü başarımı sergilediği görülmektedir. Ayrıca, en önemli Ayrıca bozucu etkenlere karşı PID parametrelerinin gerçek gösterge olarak görülebilecek ortalama koşma zamanı zamanlı olarak ayarlanması da hedeflenmektedir. 25
w (rad/s) C.Karakuzu, M. Kesler, U. Yüzgeç Tablo 2: Algoritmaların kez koşturulma sonucu başarım kıyaslama ölçütleri Parametre Ölçüt değeri Değeri (Son nesilde bulunan) Değeri (Son nesilde bulunan) Ki Değeri (Son nesilde bulunan) Merkezi Eğilim Ölçütü TACO GA PSO DE Ortalama 1,2 11,2 5, 22, Ort. sapma,5,522 1,42,11 Varyans, 12,54 2,4 1,44 Ortalama,1,5,11,54 Ort. sapma,,12 1,,44 Varyans,411,44 2,1,4 Ortalama 2,4 2,211,,114 Ort. sapma,15,1,4,112 Varyans,14,22252,422,22 Ortalama,144,5,4,11 Ort. sapma,411,42,2424,2 Varyans,15, 1,5,2 Koşma zaman Ortalama 14,15 1.1 1,15 1, 14 12 TACO GA PSO DE w set 4 2.5 1 1.5 2 2.5.5 4 4.5 zaman (sn) Şekil : Algoritmaların defa koşturulması sonucu elde edilen ortalama PID denetleç parametreleri ile denetim başarımı. KAYNAKLAR [1] T. Keskintürk, Diferansiyel Gelişim Algoritması, İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi, vol. 5/, pp. 5-, 2. [2] D. Karaboğa, Yapay Zeka Optimizasyon Algoritmaları. İstanbul: Atlas Yayın Dağıtım, 24. [] K. Price, and R. Storn, Differential Evolution: A Simple Evolution Strategy for Fast Optimization. Dr. Dobb s J. Software Tools, 22 (4), pp. 1-24, 1. [4] R. Storn, and K. Price, Differential evolution-a simple and efficient heuristic for global optimization over continuous spaces, J. Global Optimization, vol. 11, pp. 41-5, 1. [5] K. Price, An Introduction to Differential Evolution, D. Corne, M. Dorigo, and F. Glover, Eds. London, U.K.: McGraw-Hill, 1, pp., ISBN: -5-5, New Ideas in Optimization. [] Hiroyasu, T., Miki, M., Ono, Y., & Minami, Y. (2). Ant colony for continuous functions. The Science and Engineering, Doshisha University. [] N. Karaboga, K. Güney, A. Akdagli, Null Steering of Linear Antenna Arrays with Use of Modified Touring Ant Colony Optimization Algorithm International Journal of RF and Microwave Computer-Aided Engineering, vol 12, no 4, pp. 5-, 22. [] J. Kennedy, R. C. Eberhart, Particle Swarm Optimization, Proc, IEEE Int. Conf. Neural Network IV, Porth Australia, pp.142-14, 15. [] M. A. Çavuşlu, C. Karakuzu, Neuro-Fuzzy Dynamic System Modeling and Identification on FPGA with PSO Learning, Turkish Journal of Electrical Engineering and Computer Sciences, (incelemede). [] K.C. Tan, Y Li, D.J. Murray-Smith, K.C.Sharman, System identification and linearization using genetic algorithms with simulated annealing in Proc. of First International Conference on Genetic Algorithms in Engineering Systems: Innovations and Applications (GALESIA), pp.14-1, 15. 2