Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
BANDIRMA 17 EYLUumlL UumlNİVERSİTESİ
GENETİK ALGORİTMA
GUumlZ DOumlNEMİ
BANDIRMA2017
201410306014 OumlZNUR CENGİZ
150306024 HİLAL KOCA
2
İCcedilİNDEKİLER
1GENETİK ALGORİTMA 4
11Genetik Algoritma Uygulama Alanları Nerelerdir 6
12 Genel Uygulama Alanları 6
13 İşletmelerdeki Uygulama Alanları 7
2Genetik Algoritma Kullanılarak Noktadan Noktaya Yol ve Rota Planlama 8
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı 9
22Performans Analizi 11
23Sonuccedillar ve Oumlneriler 13
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON 14
31 Optimizasyon 14
32 Genetik Algoritmalar ve Evrimsel Hesaplama 18
33 Rasgele Araştırma Algoritması 20
34 İkili kodlu genetik algoritmalar 21
341 İkili kodlu genetik algoritmaların operatoumlrleri 21
342 Amaccedil fonksiyonu ve parametreler 23
35 Başlangıccedil popuumllasyonu 26
36Doğal seccedilim 27
37 Ccedilaprazlama 30
38 Mutasyon 31
381Gelecek nesil 32
382 Yakınsama 36
39 Gerccedilek kodlu genetik algoritma 37
Şekil 20 GA‟nın akış diyagramı 38
310Amaccedil fonksiyonu ve parametreler 38
311 Başlangıccedil Popuumllacircsyonu 39
3
312Doğal seccedilim 40
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ 41
3131Seccedilim 41
3132 Ccedilaprazlama 42
3133 Mutasyon 42
4Gezgin Satıcı Probleminin Genetik Algoritmalarla Uygulaması 42
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması 46
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR 47
SİMUumlLATOumlRUuml TASARIMI 47
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ 48
611 PID Kontroloumlrler 48
62 PID Kontroloumlr Tasarım Youmlntemleri 50
621 Ziegler-Nichols youmlntemi 50
622 Cohen-Coon youmlntemi 51
623 Wang-Juang-Chan youmlntemi 51
63 GENETİK ALGORİTMALAR 51
7PID SİMUumlLATOumlR 52
71PID SONUCcedilLARI 53
8OumlRNEKLER 54
OumlRNEK II 54
OumlRNEK III 54
OumlRNEK IV 55
9 SONUCcedilLAR 59
KAYNAKCcedilA 60
4
1GENETİK ALGORİTMA
GİRİŞ
Genetik algoritmalar doğada goumlzlemlenen evrimsel suumlrece benzer bir şekilde
ccedilalışan arama ve eniyileme youmlntemidir Karmaşık ccedilok boyutlu arama uzayında en
iyinin hayatta kalması ilkesine goumlre buumltuumlnsel en iyi ccediloumlzuumlmuuml arar
Genetik algoritmaların temel ilkeleri ilk kez Michigan Uumlniversitesinde John Holland
tarafından ortaya atılmıştır Holland 1975 yılında yaptığı ccedilalışmaları ldquoAdaptation in
Natural and Artificial Systemsrdquo adlı kitabında bir araya getirmiştir İlk olarak Holland
evrim yasalarını genetik algoritmalar iccedilinde eniyileme problemleri iccedilin kullanmıştır
Genetik algoritmalar problemlere tek bir ccediloumlzuumlm uumlretmek yerine farklı ccediloumlzuumlmlerden
oluşan bir ccediloumlzuumlm kuumlmesi uumlretir Boumlylelikle arama uzayında aynı anda birccedilok nokta
değerlendirilmekte ve sonuccedilta buumltuumlnsel ccediloumlzuumlme ulaşma olasılığı yuumlkselmektedir
Ccediloumlzuumlm kuumlmesindeki ccediloumlzuumlmler birbirinden tamamen bağımsızdır Her biri ccedilok boyutlu
uzay uumlzerinde bir vektoumlrduumlr
Genetik algoritmalar problemlerin ccediloumlzuumlmuuml iccedilin evrimsel suumlreci bilgisayar ortamında
taklit ederler Diğer eniyileme youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir yapının
geliştirilmesi yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem
iccedilin olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlme genetik algoritma terminolojisinde
nuumlfus adını alır Nuumlfuslar vektoumlr kromozom veya birey adı verilen sayı dizilerinden
oluşur Birey iccedilindeki her bir elemana gen adı verilir Nuumlfustaki bireyler evrimsel
suumlreccedil iccedilinde genetik algoritma işlemcileri tarafından belirlenirler
Problemin bireyler iccedilindeki goumlsterimi problemden probleme değişiklik goumlsterir
Genetik algoritmaların problemin ccediloumlzuumlmuumlndeki başarısına karar vermedeki en
oumlnemli faktoumlr problemin ccediloumlzuumlmuumlnuuml temsil eden bireylerin goumlsterimidir Nuumlfus
iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup olmayacağına karar veren bir uygunluk
fonksiyonu vardır Uygunluk fonksiyonundan doumlnen değere goumlre yuumlksek değere
sahip olan bireylere nuumlfustaki diğer bireyler ile ccediloğalmaları iccedilin fırsat verilir Bu
bireyler ccedilaprazlama işlemi sonunda ccedilocuk adı verilen yeni bireyler uumlretirler Ccedilocuk
kendisini meydana getiren ebeveynlerin (anne baba) oumlzelliklerini taşır Yeni bireyler
uumlretilirken duumlşuumlk uygunluk değerine sahip bireyler daha az seccedilileceğinden bu
bireyler bir suumlre sonra nuumlfus dışında bırakılırlar Yeni nuumlfus bir oumlnceki nuumlfusta yer
alan uygunluğu yuumlksek bireylerin bir araya gelip ccediloğalmalarıyla oluşur Aynı
5
zamanda bu nuumlfus oumlnceki nuumlfusun uygunluğu yuumlksek bireylerinin sahip olduğu
oumlzelliklerin buumlyuumlk bir kısmını iccedilerir Boumlylelikle pek ccedilok nesil aracılığıyla iyi oumlzellikler
nuumlfus iccedilerisinde yayılırlar ve genetik işlemler aracılığıyla da diğer iyi oumlzelliklerle
birleşirler Uygunluk değeri yuumlksek olan ne kadar ccedilok birey bir araya gelip yeni
bireyler oluşturursa arama uzayı iccedilerisinde o kadar iyi bir ccedilalışma alanı elde edilir
Probleme ait en iyi ccediloumlzuumlmuumln bulunabilmesi iccedilin
Bireylerin goumlsterimi doğru bir şekilde yapılmalı
Uygunluk fonksiyonu etkin bir şekilde oluşturulmalı
Doğru genetik işlemciler seccedililmeli
Bu durumda ccediloumlzuumlm kuumlmesi problem iccedilin bir noktada birleşecektir Genetik
algoritmalar diğer eniyileme youmlntemleri kullanılırken buumlyuumlk zorluklarla karşılaşılan
oldukccedila buumlyuumlk arama uzayına sahip problemlerin ccediloumlzuumlmuumlnde başarı
goumlstermektedir Bir problemin buumltuumlnsel en iyi ccediloumlzuumlmuumlnuuml bulmak iccedilin garanti
vermezler Ancak problemlere makul bir suumlre iccedilinde kabul edilebilir iyi ccediloumlzuumlmler
bulurlar Genetik algoritmaların asıl amacı hiccedilbir ccediloumlzuumlm tekniği bulunmayan
problemlere ccediloumlzuumlm aramaktır Kendilerine has ccediloumlzuumlm teknikleri olan oumlzel
problemlerin ccediloumlzuumlmuuml iccedilin mutlak sonucun hızı ve kesinliği accedilısından genetik
algoritmalar kullanılmazlar Genetik algoritmalar ancak
Arama uzayının buumlyuumlk ve karmaşık olduğu
Mevcut bilgiyle sınırlı arama uzayında ccediloumlzuumlmuumln zor olduğu
Problemin belirli bir matematiksel modelle ifade edilemediği
Geleneksel eniyileme youmlntemlerinden istenen sonucun alınmadığı alanlarda etkili ve
kullanışlıdır
Genetik algoritmalar parametre ve sistem tanılama kontrol sistemleri robot
uygulamaları goumlruumlntuuml ve ses tanıma muumlhendislik tasarımları planlama yapay zeka
uygulamaları uzman sistemler fonksiyon ve kombinasyonel eniyileme problemleri
ağ tasarım problemleri yol bulma problemleri sosyal ve ekonomik planlama
problemleri iccedilin diğer eniyileme youmlntemlerinin yanında başarılı sonuccedillar vermektedir
Diğer youmlntemlerden farkı
6
1-Genetik algoritmalar problemlerin ccediloumlzuumlmuumlnuuml parametrelerin değerleriyle değil
kodlarıyla arar Parametreler kodlanabildiği suumlrece ccediloumlzuumlm uumlretilebilir Bu sebeple
genetik algoritmalar ne yaptığı konusunda bilgi iccedilermez nasıl yaptığını bilir
2-Genetik algoritmalar aramaya tek bir noktadan değil noktalar kuumlmesinden başlar
Bu nedenle ccediloğunlukla yerel en iyi ccediloumlzuumlmde sıkışıp kalmazlar
3-Genetik algoritmalar tuumlrev yerine uygunluk fonksiyonunun değerini kullanır Bu
değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez
4-Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır
11Genetik Algoritma Uygulama Alanları Nerelerdir
Genetik algoritmalar deneysel ccedilalışmalarda optimizasyon aşamasında enduumlstriyel
uygulamalarda ve sınıflandırmalarda uygulama alanı bulunmaktadır Muumlhendislik
alanında en ccedilok optimizasyon amaccedillı olarak kullanılmakta ve diğer klasik
youmlntemlere goumlre daha iyi sonuccedil vermektedir Genetik algoritmalar bazı doğal
olayları modelleyen skolastik algoritmalardır Bu algoritmalar biyolojik evrimin işleyiş
biccedilimini taklit eder Konuyla ilgili ccedilalışmalar incelendiğinde araştırma alanı geniş ve
karmaşık ise konuyla ilgili bilgi az veya eldeki bilgi araştırma alanını daraltmada
yeterli değilse matematiksel analiz elde edilemiyorsa veya geleneksel araştırma
metotları ile başarısız olunmuş veya iyi sonuccedil alınmamışsa genetik algoritmalardan
faydalanıldığı goumlruumllmuumlştuumlr
Genetik Algoritması uygulama alanları ikiye ayrılır
11 Genel Uygulama Alanları
1 2 İşletmelerdeki Uygulama Alanları
12 Genel Uygulama Alanları
Otomatik Programlama ve Bilgi Sistemleri
Genetik algoritmaların yaygın olarak kullanıldığı alanlardan biri belirli ve oumlzel
goumlrevler iccedilin gerekli olan bilgisayar programlarını geliştirmedir Ayrıca diğer
hesaplama gerektiren yapıların tasarımı iccedilin de kullanılmaktadır Bunlara oumlrnek
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
2
İCcedilİNDEKİLER
1GENETİK ALGORİTMA 4
11Genetik Algoritma Uygulama Alanları Nerelerdir 6
12 Genel Uygulama Alanları 6
13 İşletmelerdeki Uygulama Alanları 7
2Genetik Algoritma Kullanılarak Noktadan Noktaya Yol ve Rota Planlama 8
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı 9
22Performans Analizi 11
23Sonuccedillar ve Oumlneriler 13
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON 14
31 Optimizasyon 14
32 Genetik Algoritmalar ve Evrimsel Hesaplama 18
33 Rasgele Araştırma Algoritması 20
34 İkili kodlu genetik algoritmalar 21
341 İkili kodlu genetik algoritmaların operatoumlrleri 21
342 Amaccedil fonksiyonu ve parametreler 23
35 Başlangıccedil popuumllasyonu 26
36Doğal seccedilim 27
37 Ccedilaprazlama 30
38 Mutasyon 31
381Gelecek nesil 32
382 Yakınsama 36
39 Gerccedilek kodlu genetik algoritma 37
Şekil 20 GA‟nın akış diyagramı 38
310Amaccedil fonksiyonu ve parametreler 38
311 Başlangıccedil Popuumllacircsyonu 39
3
312Doğal seccedilim 40
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ 41
3131Seccedilim 41
3132 Ccedilaprazlama 42
3133 Mutasyon 42
4Gezgin Satıcı Probleminin Genetik Algoritmalarla Uygulaması 42
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması 46
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR 47
SİMUumlLATOumlRUuml TASARIMI 47
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ 48
611 PID Kontroloumlrler 48
62 PID Kontroloumlr Tasarım Youmlntemleri 50
621 Ziegler-Nichols youmlntemi 50
622 Cohen-Coon youmlntemi 51
623 Wang-Juang-Chan youmlntemi 51
63 GENETİK ALGORİTMALAR 51
7PID SİMUumlLATOumlR 52
71PID SONUCcedilLARI 53
8OumlRNEKLER 54
OumlRNEK II 54
OumlRNEK III 54
OumlRNEK IV 55
9 SONUCcedilLAR 59
KAYNAKCcedilA 60
4
1GENETİK ALGORİTMA
GİRİŞ
Genetik algoritmalar doğada goumlzlemlenen evrimsel suumlrece benzer bir şekilde
ccedilalışan arama ve eniyileme youmlntemidir Karmaşık ccedilok boyutlu arama uzayında en
iyinin hayatta kalması ilkesine goumlre buumltuumlnsel en iyi ccediloumlzuumlmuuml arar
Genetik algoritmaların temel ilkeleri ilk kez Michigan Uumlniversitesinde John Holland
tarafından ortaya atılmıştır Holland 1975 yılında yaptığı ccedilalışmaları ldquoAdaptation in
Natural and Artificial Systemsrdquo adlı kitabında bir araya getirmiştir İlk olarak Holland
evrim yasalarını genetik algoritmalar iccedilinde eniyileme problemleri iccedilin kullanmıştır
Genetik algoritmalar problemlere tek bir ccediloumlzuumlm uumlretmek yerine farklı ccediloumlzuumlmlerden
oluşan bir ccediloumlzuumlm kuumlmesi uumlretir Boumlylelikle arama uzayında aynı anda birccedilok nokta
değerlendirilmekte ve sonuccedilta buumltuumlnsel ccediloumlzuumlme ulaşma olasılığı yuumlkselmektedir
Ccediloumlzuumlm kuumlmesindeki ccediloumlzuumlmler birbirinden tamamen bağımsızdır Her biri ccedilok boyutlu
uzay uumlzerinde bir vektoumlrduumlr
Genetik algoritmalar problemlerin ccediloumlzuumlmuuml iccedilin evrimsel suumlreci bilgisayar ortamında
taklit ederler Diğer eniyileme youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir yapının
geliştirilmesi yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem
iccedilin olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlme genetik algoritma terminolojisinde
nuumlfus adını alır Nuumlfuslar vektoumlr kromozom veya birey adı verilen sayı dizilerinden
oluşur Birey iccedilindeki her bir elemana gen adı verilir Nuumlfustaki bireyler evrimsel
suumlreccedil iccedilinde genetik algoritma işlemcileri tarafından belirlenirler
Problemin bireyler iccedilindeki goumlsterimi problemden probleme değişiklik goumlsterir
Genetik algoritmaların problemin ccediloumlzuumlmuumlndeki başarısına karar vermedeki en
oumlnemli faktoumlr problemin ccediloumlzuumlmuumlnuuml temsil eden bireylerin goumlsterimidir Nuumlfus
iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup olmayacağına karar veren bir uygunluk
fonksiyonu vardır Uygunluk fonksiyonundan doumlnen değere goumlre yuumlksek değere
sahip olan bireylere nuumlfustaki diğer bireyler ile ccediloğalmaları iccedilin fırsat verilir Bu
bireyler ccedilaprazlama işlemi sonunda ccedilocuk adı verilen yeni bireyler uumlretirler Ccedilocuk
kendisini meydana getiren ebeveynlerin (anne baba) oumlzelliklerini taşır Yeni bireyler
uumlretilirken duumlşuumlk uygunluk değerine sahip bireyler daha az seccedilileceğinden bu
bireyler bir suumlre sonra nuumlfus dışında bırakılırlar Yeni nuumlfus bir oumlnceki nuumlfusta yer
alan uygunluğu yuumlksek bireylerin bir araya gelip ccediloğalmalarıyla oluşur Aynı
5
zamanda bu nuumlfus oumlnceki nuumlfusun uygunluğu yuumlksek bireylerinin sahip olduğu
oumlzelliklerin buumlyuumlk bir kısmını iccedilerir Boumlylelikle pek ccedilok nesil aracılığıyla iyi oumlzellikler
nuumlfus iccedilerisinde yayılırlar ve genetik işlemler aracılığıyla da diğer iyi oumlzelliklerle
birleşirler Uygunluk değeri yuumlksek olan ne kadar ccedilok birey bir araya gelip yeni
bireyler oluşturursa arama uzayı iccedilerisinde o kadar iyi bir ccedilalışma alanı elde edilir
Probleme ait en iyi ccediloumlzuumlmuumln bulunabilmesi iccedilin
Bireylerin goumlsterimi doğru bir şekilde yapılmalı
Uygunluk fonksiyonu etkin bir şekilde oluşturulmalı
Doğru genetik işlemciler seccedililmeli
Bu durumda ccediloumlzuumlm kuumlmesi problem iccedilin bir noktada birleşecektir Genetik
algoritmalar diğer eniyileme youmlntemleri kullanılırken buumlyuumlk zorluklarla karşılaşılan
oldukccedila buumlyuumlk arama uzayına sahip problemlerin ccediloumlzuumlmuumlnde başarı
goumlstermektedir Bir problemin buumltuumlnsel en iyi ccediloumlzuumlmuumlnuuml bulmak iccedilin garanti
vermezler Ancak problemlere makul bir suumlre iccedilinde kabul edilebilir iyi ccediloumlzuumlmler
bulurlar Genetik algoritmaların asıl amacı hiccedilbir ccediloumlzuumlm tekniği bulunmayan
problemlere ccediloumlzuumlm aramaktır Kendilerine has ccediloumlzuumlm teknikleri olan oumlzel
problemlerin ccediloumlzuumlmuuml iccedilin mutlak sonucun hızı ve kesinliği accedilısından genetik
algoritmalar kullanılmazlar Genetik algoritmalar ancak
Arama uzayının buumlyuumlk ve karmaşık olduğu
Mevcut bilgiyle sınırlı arama uzayında ccediloumlzuumlmuumln zor olduğu
Problemin belirli bir matematiksel modelle ifade edilemediği
Geleneksel eniyileme youmlntemlerinden istenen sonucun alınmadığı alanlarda etkili ve
kullanışlıdır
Genetik algoritmalar parametre ve sistem tanılama kontrol sistemleri robot
uygulamaları goumlruumlntuuml ve ses tanıma muumlhendislik tasarımları planlama yapay zeka
uygulamaları uzman sistemler fonksiyon ve kombinasyonel eniyileme problemleri
ağ tasarım problemleri yol bulma problemleri sosyal ve ekonomik planlama
problemleri iccedilin diğer eniyileme youmlntemlerinin yanında başarılı sonuccedillar vermektedir
Diğer youmlntemlerden farkı
6
1-Genetik algoritmalar problemlerin ccediloumlzuumlmuumlnuuml parametrelerin değerleriyle değil
kodlarıyla arar Parametreler kodlanabildiği suumlrece ccediloumlzuumlm uumlretilebilir Bu sebeple
genetik algoritmalar ne yaptığı konusunda bilgi iccedilermez nasıl yaptığını bilir
2-Genetik algoritmalar aramaya tek bir noktadan değil noktalar kuumlmesinden başlar
Bu nedenle ccediloğunlukla yerel en iyi ccediloumlzuumlmde sıkışıp kalmazlar
3-Genetik algoritmalar tuumlrev yerine uygunluk fonksiyonunun değerini kullanır Bu
değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez
4-Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır
11Genetik Algoritma Uygulama Alanları Nerelerdir
Genetik algoritmalar deneysel ccedilalışmalarda optimizasyon aşamasında enduumlstriyel
uygulamalarda ve sınıflandırmalarda uygulama alanı bulunmaktadır Muumlhendislik
alanında en ccedilok optimizasyon amaccedillı olarak kullanılmakta ve diğer klasik
youmlntemlere goumlre daha iyi sonuccedil vermektedir Genetik algoritmalar bazı doğal
olayları modelleyen skolastik algoritmalardır Bu algoritmalar biyolojik evrimin işleyiş
biccedilimini taklit eder Konuyla ilgili ccedilalışmalar incelendiğinde araştırma alanı geniş ve
karmaşık ise konuyla ilgili bilgi az veya eldeki bilgi araştırma alanını daraltmada
yeterli değilse matematiksel analiz elde edilemiyorsa veya geleneksel araştırma
metotları ile başarısız olunmuş veya iyi sonuccedil alınmamışsa genetik algoritmalardan
faydalanıldığı goumlruumllmuumlştuumlr
Genetik Algoritması uygulama alanları ikiye ayrılır
11 Genel Uygulama Alanları
1 2 İşletmelerdeki Uygulama Alanları
12 Genel Uygulama Alanları
Otomatik Programlama ve Bilgi Sistemleri
Genetik algoritmaların yaygın olarak kullanıldığı alanlardan biri belirli ve oumlzel
goumlrevler iccedilin gerekli olan bilgisayar programlarını geliştirmedir Ayrıca diğer
hesaplama gerektiren yapıların tasarımı iccedilin de kullanılmaktadır Bunlara oumlrnek
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
3
312Doğal seccedilim 40
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ 41
3131Seccedilim 41
3132 Ccedilaprazlama 42
3133 Mutasyon 42
4Gezgin Satıcı Probleminin Genetik Algoritmalarla Uygulaması 42
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması 46
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR 47
SİMUumlLATOumlRUuml TASARIMI 47
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ 48
611 PID Kontroloumlrler 48
62 PID Kontroloumlr Tasarım Youmlntemleri 50
621 Ziegler-Nichols youmlntemi 50
622 Cohen-Coon youmlntemi 51
623 Wang-Juang-Chan youmlntemi 51
63 GENETİK ALGORİTMALAR 51
7PID SİMUumlLATOumlR 52
71PID SONUCcedilLARI 53
8OumlRNEKLER 54
OumlRNEK II 54
OumlRNEK III 54
OumlRNEK IV 55
9 SONUCcedilLAR 59
KAYNAKCcedilA 60
4
1GENETİK ALGORİTMA
GİRİŞ
Genetik algoritmalar doğada goumlzlemlenen evrimsel suumlrece benzer bir şekilde
ccedilalışan arama ve eniyileme youmlntemidir Karmaşık ccedilok boyutlu arama uzayında en
iyinin hayatta kalması ilkesine goumlre buumltuumlnsel en iyi ccediloumlzuumlmuuml arar
Genetik algoritmaların temel ilkeleri ilk kez Michigan Uumlniversitesinde John Holland
tarafından ortaya atılmıştır Holland 1975 yılında yaptığı ccedilalışmaları ldquoAdaptation in
Natural and Artificial Systemsrdquo adlı kitabında bir araya getirmiştir İlk olarak Holland
evrim yasalarını genetik algoritmalar iccedilinde eniyileme problemleri iccedilin kullanmıştır
Genetik algoritmalar problemlere tek bir ccediloumlzuumlm uumlretmek yerine farklı ccediloumlzuumlmlerden
oluşan bir ccediloumlzuumlm kuumlmesi uumlretir Boumlylelikle arama uzayında aynı anda birccedilok nokta
değerlendirilmekte ve sonuccedilta buumltuumlnsel ccediloumlzuumlme ulaşma olasılığı yuumlkselmektedir
Ccediloumlzuumlm kuumlmesindeki ccediloumlzuumlmler birbirinden tamamen bağımsızdır Her biri ccedilok boyutlu
uzay uumlzerinde bir vektoumlrduumlr
Genetik algoritmalar problemlerin ccediloumlzuumlmuuml iccedilin evrimsel suumlreci bilgisayar ortamında
taklit ederler Diğer eniyileme youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir yapının
geliştirilmesi yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem
iccedilin olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlme genetik algoritma terminolojisinde
nuumlfus adını alır Nuumlfuslar vektoumlr kromozom veya birey adı verilen sayı dizilerinden
oluşur Birey iccedilindeki her bir elemana gen adı verilir Nuumlfustaki bireyler evrimsel
suumlreccedil iccedilinde genetik algoritma işlemcileri tarafından belirlenirler
Problemin bireyler iccedilindeki goumlsterimi problemden probleme değişiklik goumlsterir
Genetik algoritmaların problemin ccediloumlzuumlmuumlndeki başarısına karar vermedeki en
oumlnemli faktoumlr problemin ccediloumlzuumlmuumlnuuml temsil eden bireylerin goumlsterimidir Nuumlfus
iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup olmayacağına karar veren bir uygunluk
fonksiyonu vardır Uygunluk fonksiyonundan doumlnen değere goumlre yuumlksek değere
sahip olan bireylere nuumlfustaki diğer bireyler ile ccediloğalmaları iccedilin fırsat verilir Bu
bireyler ccedilaprazlama işlemi sonunda ccedilocuk adı verilen yeni bireyler uumlretirler Ccedilocuk
kendisini meydana getiren ebeveynlerin (anne baba) oumlzelliklerini taşır Yeni bireyler
uumlretilirken duumlşuumlk uygunluk değerine sahip bireyler daha az seccedilileceğinden bu
bireyler bir suumlre sonra nuumlfus dışında bırakılırlar Yeni nuumlfus bir oumlnceki nuumlfusta yer
alan uygunluğu yuumlksek bireylerin bir araya gelip ccediloğalmalarıyla oluşur Aynı
5
zamanda bu nuumlfus oumlnceki nuumlfusun uygunluğu yuumlksek bireylerinin sahip olduğu
oumlzelliklerin buumlyuumlk bir kısmını iccedilerir Boumlylelikle pek ccedilok nesil aracılığıyla iyi oumlzellikler
nuumlfus iccedilerisinde yayılırlar ve genetik işlemler aracılığıyla da diğer iyi oumlzelliklerle
birleşirler Uygunluk değeri yuumlksek olan ne kadar ccedilok birey bir araya gelip yeni
bireyler oluşturursa arama uzayı iccedilerisinde o kadar iyi bir ccedilalışma alanı elde edilir
Probleme ait en iyi ccediloumlzuumlmuumln bulunabilmesi iccedilin
Bireylerin goumlsterimi doğru bir şekilde yapılmalı
Uygunluk fonksiyonu etkin bir şekilde oluşturulmalı
Doğru genetik işlemciler seccedililmeli
Bu durumda ccediloumlzuumlm kuumlmesi problem iccedilin bir noktada birleşecektir Genetik
algoritmalar diğer eniyileme youmlntemleri kullanılırken buumlyuumlk zorluklarla karşılaşılan
oldukccedila buumlyuumlk arama uzayına sahip problemlerin ccediloumlzuumlmuumlnde başarı
goumlstermektedir Bir problemin buumltuumlnsel en iyi ccediloumlzuumlmuumlnuuml bulmak iccedilin garanti
vermezler Ancak problemlere makul bir suumlre iccedilinde kabul edilebilir iyi ccediloumlzuumlmler
bulurlar Genetik algoritmaların asıl amacı hiccedilbir ccediloumlzuumlm tekniği bulunmayan
problemlere ccediloumlzuumlm aramaktır Kendilerine has ccediloumlzuumlm teknikleri olan oumlzel
problemlerin ccediloumlzuumlmuuml iccedilin mutlak sonucun hızı ve kesinliği accedilısından genetik
algoritmalar kullanılmazlar Genetik algoritmalar ancak
Arama uzayının buumlyuumlk ve karmaşık olduğu
Mevcut bilgiyle sınırlı arama uzayında ccediloumlzuumlmuumln zor olduğu
Problemin belirli bir matematiksel modelle ifade edilemediği
Geleneksel eniyileme youmlntemlerinden istenen sonucun alınmadığı alanlarda etkili ve
kullanışlıdır
Genetik algoritmalar parametre ve sistem tanılama kontrol sistemleri robot
uygulamaları goumlruumlntuuml ve ses tanıma muumlhendislik tasarımları planlama yapay zeka
uygulamaları uzman sistemler fonksiyon ve kombinasyonel eniyileme problemleri
ağ tasarım problemleri yol bulma problemleri sosyal ve ekonomik planlama
problemleri iccedilin diğer eniyileme youmlntemlerinin yanında başarılı sonuccedillar vermektedir
Diğer youmlntemlerden farkı
6
1-Genetik algoritmalar problemlerin ccediloumlzuumlmuumlnuuml parametrelerin değerleriyle değil
kodlarıyla arar Parametreler kodlanabildiği suumlrece ccediloumlzuumlm uumlretilebilir Bu sebeple
genetik algoritmalar ne yaptığı konusunda bilgi iccedilermez nasıl yaptığını bilir
2-Genetik algoritmalar aramaya tek bir noktadan değil noktalar kuumlmesinden başlar
Bu nedenle ccediloğunlukla yerel en iyi ccediloumlzuumlmde sıkışıp kalmazlar
3-Genetik algoritmalar tuumlrev yerine uygunluk fonksiyonunun değerini kullanır Bu
değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez
4-Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır
11Genetik Algoritma Uygulama Alanları Nerelerdir
Genetik algoritmalar deneysel ccedilalışmalarda optimizasyon aşamasında enduumlstriyel
uygulamalarda ve sınıflandırmalarda uygulama alanı bulunmaktadır Muumlhendislik
alanında en ccedilok optimizasyon amaccedillı olarak kullanılmakta ve diğer klasik
youmlntemlere goumlre daha iyi sonuccedil vermektedir Genetik algoritmalar bazı doğal
olayları modelleyen skolastik algoritmalardır Bu algoritmalar biyolojik evrimin işleyiş
biccedilimini taklit eder Konuyla ilgili ccedilalışmalar incelendiğinde araştırma alanı geniş ve
karmaşık ise konuyla ilgili bilgi az veya eldeki bilgi araştırma alanını daraltmada
yeterli değilse matematiksel analiz elde edilemiyorsa veya geleneksel araştırma
metotları ile başarısız olunmuş veya iyi sonuccedil alınmamışsa genetik algoritmalardan
faydalanıldığı goumlruumllmuumlştuumlr
Genetik Algoritması uygulama alanları ikiye ayrılır
11 Genel Uygulama Alanları
1 2 İşletmelerdeki Uygulama Alanları
12 Genel Uygulama Alanları
Otomatik Programlama ve Bilgi Sistemleri
Genetik algoritmaların yaygın olarak kullanıldığı alanlardan biri belirli ve oumlzel
goumlrevler iccedilin gerekli olan bilgisayar programlarını geliştirmedir Ayrıca diğer
hesaplama gerektiren yapıların tasarımı iccedilin de kullanılmaktadır Bunlara oumlrnek
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
4
1GENETİK ALGORİTMA
GİRİŞ
Genetik algoritmalar doğada goumlzlemlenen evrimsel suumlrece benzer bir şekilde
ccedilalışan arama ve eniyileme youmlntemidir Karmaşık ccedilok boyutlu arama uzayında en
iyinin hayatta kalması ilkesine goumlre buumltuumlnsel en iyi ccediloumlzuumlmuuml arar
Genetik algoritmaların temel ilkeleri ilk kez Michigan Uumlniversitesinde John Holland
tarafından ortaya atılmıştır Holland 1975 yılında yaptığı ccedilalışmaları ldquoAdaptation in
Natural and Artificial Systemsrdquo adlı kitabında bir araya getirmiştir İlk olarak Holland
evrim yasalarını genetik algoritmalar iccedilinde eniyileme problemleri iccedilin kullanmıştır
Genetik algoritmalar problemlere tek bir ccediloumlzuumlm uumlretmek yerine farklı ccediloumlzuumlmlerden
oluşan bir ccediloumlzuumlm kuumlmesi uumlretir Boumlylelikle arama uzayında aynı anda birccedilok nokta
değerlendirilmekte ve sonuccedilta buumltuumlnsel ccediloumlzuumlme ulaşma olasılığı yuumlkselmektedir
Ccediloumlzuumlm kuumlmesindeki ccediloumlzuumlmler birbirinden tamamen bağımsızdır Her biri ccedilok boyutlu
uzay uumlzerinde bir vektoumlrduumlr
Genetik algoritmalar problemlerin ccediloumlzuumlmuuml iccedilin evrimsel suumlreci bilgisayar ortamında
taklit ederler Diğer eniyileme youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir yapının
geliştirilmesi yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem
iccedilin olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlme genetik algoritma terminolojisinde
nuumlfus adını alır Nuumlfuslar vektoumlr kromozom veya birey adı verilen sayı dizilerinden
oluşur Birey iccedilindeki her bir elemana gen adı verilir Nuumlfustaki bireyler evrimsel
suumlreccedil iccedilinde genetik algoritma işlemcileri tarafından belirlenirler
Problemin bireyler iccedilindeki goumlsterimi problemden probleme değişiklik goumlsterir
Genetik algoritmaların problemin ccediloumlzuumlmuumlndeki başarısına karar vermedeki en
oumlnemli faktoumlr problemin ccediloumlzuumlmuumlnuuml temsil eden bireylerin goumlsterimidir Nuumlfus
iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup olmayacağına karar veren bir uygunluk
fonksiyonu vardır Uygunluk fonksiyonundan doumlnen değere goumlre yuumlksek değere
sahip olan bireylere nuumlfustaki diğer bireyler ile ccediloğalmaları iccedilin fırsat verilir Bu
bireyler ccedilaprazlama işlemi sonunda ccedilocuk adı verilen yeni bireyler uumlretirler Ccedilocuk
kendisini meydana getiren ebeveynlerin (anne baba) oumlzelliklerini taşır Yeni bireyler
uumlretilirken duumlşuumlk uygunluk değerine sahip bireyler daha az seccedilileceğinden bu
bireyler bir suumlre sonra nuumlfus dışında bırakılırlar Yeni nuumlfus bir oumlnceki nuumlfusta yer
alan uygunluğu yuumlksek bireylerin bir araya gelip ccediloğalmalarıyla oluşur Aynı
5
zamanda bu nuumlfus oumlnceki nuumlfusun uygunluğu yuumlksek bireylerinin sahip olduğu
oumlzelliklerin buumlyuumlk bir kısmını iccedilerir Boumlylelikle pek ccedilok nesil aracılığıyla iyi oumlzellikler
nuumlfus iccedilerisinde yayılırlar ve genetik işlemler aracılığıyla da diğer iyi oumlzelliklerle
birleşirler Uygunluk değeri yuumlksek olan ne kadar ccedilok birey bir araya gelip yeni
bireyler oluşturursa arama uzayı iccedilerisinde o kadar iyi bir ccedilalışma alanı elde edilir
Probleme ait en iyi ccediloumlzuumlmuumln bulunabilmesi iccedilin
Bireylerin goumlsterimi doğru bir şekilde yapılmalı
Uygunluk fonksiyonu etkin bir şekilde oluşturulmalı
Doğru genetik işlemciler seccedililmeli
Bu durumda ccediloumlzuumlm kuumlmesi problem iccedilin bir noktada birleşecektir Genetik
algoritmalar diğer eniyileme youmlntemleri kullanılırken buumlyuumlk zorluklarla karşılaşılan
oldukccedila buumlyuumlk arama uzayına sahip problemlerin ccediloumlzuumlmuumlnde başarı
goumlstermektedir Bir problemin buumltuumlnsel en iyi ccediloumlzuumlmuumlnuuml bulmak iccedilin garanti
vermezler Ancak problemlere makul bir suumlre iccedilinde kabul edilebilir iyi ccediloumlzuumlmler
bulurlar Genetik algoritmaların asıl amacı hiccedilbir ccediloumlzuumlm tekniği bulunmayan
problemlere ccediloumlzuumlm aramaktır Kendilerine has ccediloumlzuumlm teknikleri olan oumlzel
problemlerin ccediloumlzuumlmuuml iccedilin mutlak sonucun hızı ve kesinliği accedilısından genetik
algoritmalar kullanılmazlar Genetik algoritmalar ancak
Arama uzayının buumlyuumlk ve karmaşık olduğu
Mevcut bilgiyle sınırlı arama uzayında ccediloumlzuumlmuumln zor olduğu
Problemin belirli bir matematiksel modelle ifade edilemediği
Geleneksel eniyileme youmlntemlerinden istenen sonucun alınmadığı alanlarda etkili ve
kullanışlıdır
Genetik algoritmalar parametre ve sistem tanılama kontrol sistemleri robot
uygulamaları goumlruumlntuuml ve ses tanıma muumlhendislik tasarımları planlama yapay zeka
uygulamaları uzman sistemler fonksiyon ve kombinasyonel eniyileme problemleri
ağ tasarım problemleri yol bulma problemleri sosyal ve ekonomik planlama
problemleri iccedilin diğer eniyileme youmlntemlerinin yanında başarılı sonuccedillar vermektedir
Diğer youmlntemlerden farkı
6
1-Genetik algoritmalar problemlerin ccediloumlzuumlmuumlnuuml parametrelerin değerleriyle değil
kodlarıyla arar Parametreler kodlanabildiği suumlrece ccediloumlzuumlm uumlretilebilir Bu sebeple
genetik algoritmalar ne yaptığı konusunda bilgi iccedilermez nasıl yaptığını bilir
2-Genetik algoritmalar aramaya tek bir noktadan değil noktalar kuumlmesinden başlar
Bu nedenle ccediloğunlukla yerel en iyi ccediloumlzuumlmde sıkışıp kalmazlar
3-Genetik algoritmalar tuumlrev yerine uygunluk fonksiyonunun değerini kullanır Bu
değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez
4-Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır
11Genetik Algoritma Uygulama Alanları Nerelerdir
Genetik algoritmalar deneysel ccedilalışmalarda optimizasyon aşamasında enduumlstriyel
uygulamalarda ve sınıflandırmalarda uygulama alanı bulunmaktadır Muumlhendislik
alanında en ccedilok optimizasyon amaccedillı olarak kullanılmakta ve diğer klasik
youmlntemlere goumlre daha iyi sonuccedil vermektedir Genetik algoritmalar bazı doğal
olayları modelleyen skolastik algoritmalardır Bu algoritmalar biyolojik evrimin işleyiş
biccedilimini taklit eder Konuyla ilgili ccedilalışmalar incelendiğinde araştırma alanı geniş ve
karmaşık ise konuyla ilgili bilgi az veya eldeki bilgi araştırma alanını daraltmada
yeterli değilse matematiksel analiz elde edilemiyorsa veya geleneksel araştırma
metotları ile başarısız olunmuş veya iyi sonuccedil alınmamışsa genetik algoritmalardan
faydalanıldığı goumlruumllmuumlştuumlr
Genetik Algoritması uygulama alanları ikiye ayrılır
11 Genel Uygulama Alanları
1 2 İşletmelerdeki Uygulama Alanları
12 Genel Uygulama Alanları
Otomatik Programlama ve Bilgi Sistemleri
Genetik algoritmaların yaygın olarak kullanıldığı alanlardan biri belirli ve oumlzel
goumlrevler iccedilin gerekli olan bilgisayar programlarını geliştirmedir Ayrıca diğer
hesaplama gerektiren yapıların tasarımı iccedilin de kullanılmaktadır Bunlara oumlrnek
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
5
zamanda bu nuumlfus oumlnceki nuumlfusun uygunluğu yuumlksek bireylerinin sahip olduğu
oumlzelliklerin buumlyuumlk bir kısmını iccedilerir Boumlylelikle pek ccedilok nesil aracılığıyla iyi oumlzellikler
nuumlfus iccedilerisinde yayılırlar ve genetik işlemler aracılığıyla da diğer iyi oumlzelliklerle
birleşirler Uygunluk değeri yuumlksek olan ne kadar ccedilok birey bir araya gelip yeni
bireyler oluşturursa arama uzayı iccedilerisinde o kadar iyi bir ccedilalışma alanı elde edilir
Probleme ait en iyi ccediloumlzuumlmuumln bulunabilmesi iccedilin
Bireylerin goumlsterimi doğru bir şekilde yapılmalı
Uygunluk fonksiyonu etkin bir şekilde oluşturulmalı
Doğru genetik işlemciler seccedililmeli
Bu durumda ccediloumlzuumlm kuumlmesi problem iccedilin bir noktada birleşecektir Genetik
algoritmalar diğer eniyileme youmlntemleri kullanılırken buumlyuumlk zorluklarla karşılaşılan
oldukccedila buumlyuumlk arama uzayına sahip problemlerin ccediloumlzuumlmuumlnde başarı
goumlstermektedir Bir problemin buumltuumlnsel en iyi ccediloumlzuumlmuumlnuuml bulmak iccedilin garanti
vermezler Ancak problemlere makul bir suumlre iccedilinde kabul edilebilir iyi ccediloumlzuumlmler
bulurlar Genetik algoritmaların asıl amacı hiccedilbir ccediloumlzuumlm tekniği bulunmayan
problemlere ccediloumlzuumlm aramaktır Kendilerine has ccediloumlzuumlm teknikleri olan oumlzel
problemlerin ccediloumlzuumlmuuml iccedilin mutlak sonucun hızı ve kesinliği accedilısından genetik
algoritmalar kullanılmazlar Genetik algoritmalar ancak
Arama uzayının buumlyuumlk ve karmaşık olduğu
Mevcut bilgiyle sınırlı arama uzayında ccediloumlzuumlmuumln zor olduğu
Problemin belirli bir matematiksel modelle ifade edilemediği
Geleneksel eniyileme youmlntemlerinden istenen sonucun alınmadığı alanlarda etkili ve
kullanışlıdır
Genetik algoritmalar parametre ve sistem tanılama kontrol sistemleri robot
uygulamaları goumlruumlntuuml ve ses tanıma muumlhendislik tasarımları planlama yapay zeka
uygulamaları uzman sistemler fonksiyon ve kombinasyonel eniyileme problemleri
ağ tasarım problemleri yol bulma problemleri sosyal ve ekonomik planlama
problemleri iccedilin diğer eniyileme youmlntemlerinin yanında başarılı sonuccedillar vermektedir
Diğer youmlntemlerden farkı
6
1-Genetik algoritmalar problemlerin ccediloumlzuumlmuumlnuuml parametrelerin değerleriyle değil
kodlarıyla arar Parametreler kodlanabildiği suumlrece ccediloumlzuumlm uumlretilebilir Bu sebeple
genetik algoritmalar ne yaptığı konusunda bilgi iccedilermez nasıl yaptığını bilir
2-Genetik algoritmalar aramaya tek bir noktadan değil noktalar kuumlmesinden başlar
Bu nedenle ccediloğunlukla yerel en iyi ccediloumlzuumlmde sıkışıp kalmazlar
3-Genetik algoritmalar tuumlrev yerine uygunluk fonksiyonunun değerini kullanır Bu
değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez
4-Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır
11Genetik Algoritma Uygulama Alanları Nerelerdir
Genetik algoritmalar deneysel ccedilalışmalarda optimizasyon aşamasında enduumlstriyel
uygulamalarda ve sınıflandırmalarda uygulama alanı bulunmaktadır Muumlhendislik
alanında en ccedilok optimizasyon amaccedillı olarak kullanılmakta ve diğer klasik
youmlntemlere goumlre daha iyi sonuccedil vermektedir Genetik algoritmalar bazı doğal
olayları modelleyen skolastik algoritmalardır Bu algoritmalar biyolojik evrimin işleyiş
biccedilimini taklit eder Konuyla ilgili ccedilalışmalar incelendiğinde araştırma alanı geniş ve
karmaşık ise konuyla ilgili bilgi az veya eldeki bilgi araştırma alanını daraltmada
yeterli değilse matematiksel analiz elde edilemiyorsa veya geleneksel araştırma
metotları ile başarısız olunmuş veya iyi sonuccedil alınmamışsa genetik algoritmalardan
faydalanıldığı goumlruumllmuumlştuumlr
Genetik Algoritması uygulama alanları ikiye ayrılır
11 Genel Uygulama Alanları
1 2 İşletmelerdeki Uygulama Alanları
12 Genel Uygulama Alanları
Otomatik Programlama ve Bilgi Sistemleri
Genetik algoritmaların yaygın olarak kullanıldığı alanlardan biri belirli ve oumlzel
goumlrevler iccedilin gerekli olan bilgisayar programlarını geliştirmedir Ayrıca diğer
hesaplama gerektiren yapıların tasarımı iccedilin de kullanılmaktadır Bunlara oumlrnek
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
6
1-Genetik algoritmalar problemlerin ccediloumlzuumlmuumlnuuml parametrelerin değerleriyle değil
kodlarıyla arar Parametreler kodlanabildiği suumlrece ccediloumlzuumlm uumlretilebilir Bu sebeple
genetik algoritmalar ne yaptığı konusunda bilgi iccedilermez nasıl yaptığını bilir
2-Genetik algoritmalar aramaya tek bir noktadan değil noktalar kuumlmesinden başlar
Bu nedenle ccediloğunlukla yerel en iyi ccediloumlzuumlmde sıkışıp kalmazlar
3-Genetik algoritmalar tuumlrev yerine uygunluk fonksiyonunun değerini kullanır Bu
değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez
4-Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır
11Genetik Algoritma Uygulama Alanları Nerelerdir
Genetik algoritmalar deneysel ccedilalışmalarda optimizasyon aşamasında enduumlstriyel
uygulamalarda ve sınıflandırmalarda uygulama alanı bulunmaktadır Muumlhendislik
alanında en ccedilok optimizasyon amaccedillı olarak kullanılmakta ve diğer klasik
youmlntemlere goumlre daha iyi sonuccedil vermektedir Genetik algoritmalar bazı doğal
olayları modelleyen skolastik algoritmalardır Bu algoritmalar biyolojik evrimin işleyiş
biccedilimini taklit eder Konuyla ilgili ccedilalışmalar incelendiğinde araştırma alanı geniş ve
karmaşık ise konuyla ilgili bilgi az veya eldeki bilgi araştırma alanını daraltmada
yeterli değilse matematiksel analiz elde edilemiyorsa veya geleneksel araştırma
metotları ile başarısız olunmuş veya iyi sonuccedil alınmamışsa genetik algoritmalardan
faydalanıldığı goumlruumllmuumlştuumlr
Genetik Algoritması uygulama alanları ikiye ayrılır
11 Genel Uygulama Alanları
1 2 İşletmelerdeki Uygulama Alanları
12 Genel Uygulama Alanları
Otomatik Programlama ve Bilgi Sistemleri
Genetik algoritmaların yaygın olarak kullanıldığı alanlardan biri belirli ve oumlzel
goumlrevler iccedilin gerekli olan bilgisayar programlarını geliştirmedir Ayrıca diğer
hesaplama gerektiren yapıların tasarımı iccedilin de kullanılmaktadır Bunlara oumlrnek
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
7
olarak bilgisayar ccedilipleri tasarımı ders programı hazırlanması ve ağların
ccedilizelgelenmesi verilebilir
Genetik algoritmalar kullanılarak dağıtılmış bilgisayar ağlarının tasarımı da
gerccedilekleştirilmektedir Bu problem tipinde ağ guumlvenilirlik parametrelerini (ccedilap
ortalama uzaklık ve bilgisayar ağ guumlvenilirliği gibi) optimize etmek iccedilin birden fazla
amaccedil fonksiyonu kullanılmaktadır Genetik algoritmalar ile 100 duumlğuumlme kadar olan
ağlar başarıyla tasarlanmıştır Ağ tasarımında genetik algoritmaların kullanılması
tasarım suumlrelerinin ve maliyetlerinin azalmasında oumlnemli bir katkı sağlamıştır
Oumlzellikle maksimum miktardaki verinin minimum iletişim hattıyla taşınmasında
yuumlksek bir performans goumlstermiştir Ayrıca genetik algoritmaların kullanımıyla ccedileşitli
alanlara dağıtılmış bir sistem iccedilin en uygun dosya tahsisatı gerccedilekleştirilmektedir
Mekanik Oumlğrenme
Mekanik oumlğrenme ilki goumlzlenmiş bir veri takımını anlamak ve yorumlamak
ikincisi de goumlruumllmemiş objelerin oumlzelliklerini tahmin etmek olan iki temel amaccedil iccedilin
model kurmayı amaccedillar Parametrik istatistikten ziyade ccedilok buumlyuumlk veri takımlarının
youmlnetimi uumlzerinde ccedilalışır Kullandığı metotların ccediloğu dağılımdan bağımsız metotlar
olarak sınıflanabilir Uygun model seccedilimi iccedilin işe problem hakkındaki varsayımlarla
başlamaz Onun yerine uygun model yapısını belirlemek iccedilin doğrudan mevcut
veriden hareketle bir araccedil kutusu yaklaşımı kullanır Sınıflama sistemi genetik
algoritmaların mekanik oumlğrenme alanında bir uygulamasıdır Basit dizi kurallarını
oumlğrenen bir mekanik oumlğrenme sistemi olan sınıflama sisteminin kural ve mesaj
sistemi oumlzel bir uumlretim sistemi olarak adlandırılabilir Bu uumlretim sistemi ldquoeğer-sonrardquo
kural yapısını kullanır Bir uumlretim kuralı ldquoeğerrdquo yapısından sonra belirtilen durum iccedilin
ldquosonrardquo yapısından sonra gelen faaliyetin gerccedilekleştirilmesini iccedilerir Genetik
algoritmalar sınıflama sistemlerinde kural-bulma mekanizması olarak
kullanılmaktadırlar Genetik algoritmalar ayrıca sinir ağlarında ve proteinin yapısal
analizinde de kullanılmaktadır
13 İşletmelerdeki Uygulama Alanları
Pazarlama
Tuumlketicilere ait verileri analiz etmek ccedileşitli tuumlketici kalıpları ccedilıkarmak ve bu
kalıplara dayanarak pazarlama stratejileri uygulamak pazarlamanın en oumlnemli
fonksiyonlarından biridir Tuumlketicilerin profilleri ccedilıkarılarak belirli satın alma kalıpları
yakalanabilmektedir Ancak tuumlketici profilini ccedilıkarabilmek iccedilin ccedilok buumlyuumlk veri
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
8
tabanlarını işletme amaccedilları doğrultusunda hızlı ve etkin biccedilimde kullanmak
gerekmektedir Burada kullanılan teknik veri madenciliğidir Veri madenciliği ccedilok
geniş veri tabanlarından veriyi suumlzme tekniğidir Pazarı ve tuumlketiciyi tanımada son
derece oumlnemli rol oynayan veri madenciliği veriyi bilgiye bilgiyi de guumlvenli kararlara
doumlnuumlştuumlruumlr Veri madenciliğinin verimlilik karlılık muumlşteri tatmini ve rekabet
edebilme yeteneği gibi yaşamsal konularda işletme uumlzerinde ccedilok oumlnemli etkileri
bulunmaktadır Rekabet edebilme yeteneği karar alma kalitesine bağlıdır ve bundan
dolayı işletmeler suumlrekli karar kalitelerini geliştirmeye ccedilalışırlar Veri madenciliğinde
kullanılan tekniklerden birisi de genetik algoritmadır Genetik algoritma tabanlı
yaklaşım kullanılarak veri yığınlarından modeller elde edilmektedir
Sistem Guumlvenilirliği Problemi
Bir sistemin guumlvenilirliği belirli koşullar altında belirli bir zaman aralığında
sistemin başarılı olarak ccedilalışma olasılığı olarak tanımlanmaktadır Ccediloğu sistem
ccedileşitli işlemlerde kritik bir role sahiptir ve eğer sistemde arıza olursa sonuccedilları
oldukccedila ciddi olmaktadır Bu alanda optimizasyon etkisiz parccedilaların sisteme en iyi
şekilde tahsis edilebilme veya yararlanabilme yolunu bulmayı iccedilermektedir
Parccedilalara guumlvenilirliklerinin etkin olarak oumllccediluumllebilmesi iccedilin olasılıklar atanmaktadır
Araccedil Rotalama Problemi
Birleşi optimizasyon problemlerinin oumlrneklerinden biri de araccedil rotalama
problemidir Temel araccedil rotalama problemi talebi belirli olan muumlşterileri kapsar Tek
bir depodan araccedillar ayrılmakta ve muumlşteri taleplerini karşılayarak tekrar depoya
doumlnmektedir Her aracın kapasite kısıtı vardır Bu temel probleme ayrıca her aracın
alacağı yol da mesafe kısıtı olarak eklenebilir Her bir muumlşterinin talebini yalnızca bir
araccedil karşılamaktadır Problem bu kısıtlar altında minimum toplam maliyeti veren
rotaları bulmaktır Daha karmaşık bir araccedil rotalama problemi olan zaman pencereli
rotalama probleminde ise amaccedil muumlşteri talebini belirli zaman aralıkları iccedilerisinde
minimum toplam maliyetle karşılamaktır
2Genetik Algoritma Kullanılarak Noktadan Noktaya
Yol ve Rota Planlama
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
9
Giriş
Bu ccedilalışmada bir kroki uumlzerinde bulunan noktalar arası rota ve yolun genetik
algortima ile bulunması amaccedillanmıştır Genetik algoritma rastgele arama metodu
olduğu iccedilin tek bir ccediloumlzuumlm aramak yerine bir ccediloumlzuumlm kuumlmesi uumlzerinde ccedilalışır Optimum
ccediloumlzuumlme olası ccediloumlzuumlmlerin bir boumlluumlmuuml uumlzerinde gidilir Boumlylece ccedilalışmadaki sonuccedillar
her zaman en iyi olmaz Ccedilalışmada genetik algoritmanın kullanılmasının nedeni
genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaccedil
duymamasıdır Temelinde gezgin satıcı problemine benzeyen ccedilalışmanın gezgin
satıcı problemine benzer problemler iccedilinde ccediloumlzuumlm olması amaccedillanmıştır
Şekil1 Arayuumlz Goumlruumlnuumlmuuml
21Genetik Algoritma Youmlnteminin Probleme Uygulanışı
Problemin ccediloumlzuumlmuuml iccedilin popuumllasyon buumlyuumlkluumlğuuml karar verilmelidir Popuumllasyon
buumlyuumlkluumlğuuml seccedililirken aşırı yuumlksek seccedililirse gelişim yavaşlar aşırı kuumlccediluumlk seccedililmesi
durumunda da araştırma uzayı yetersiz olur Problemimize en uygun popuumllasyon
buumlyuumlkluumlğuuml 30 birey olarak seccedililmiştir Programın arayuumlzuumlnde birey sayısı
değiştirilebilir Her kromozom 20 genle temsil edilip genler kodlanırken değer
kodlama youmlntemi kullanılmıştır Her gen youmlnleri temsil eden 0Batı 1Kuzey 2Doğu
ve 3Guumlney ile belirtilmiştir Oumlrnek olarak 5 nolu kromozomun
genleri01102033021011023221 gibi 20 gene sahiptir
Popuumllasyon buumlyuumlkluumlğuuml tamamlanıp kromozomlar kodlandıktan sonra
uygunluklarına goumlre seccedililim yapıldı Uygunluk değerleri hesaplanırken noktalar arası
seyahat olduğu iccedilin kromozomun en son noktası ile ulaşmak istenen arasındaki
farka bakılır Bu yuumlzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir
Birinci fonksiyonumuz en son nokta uzaklığı f(y) ikinci fonksiyonumuz ise
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
10
kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur
Uygunluk fonksiyonumuz f(x)=5f(y)+ f(z) olarak belirlenmiştir Burada son nokta
uzaklığını fonksiyonu problem iccedilin daha oumlnemli olduğundan katsayısı artılmıştır
Oumlrneğin 6 nolu kromozom son noktası 21 ulaşılmak istenen nokta 22 ise f(y)=20
ve aldığı yolların mesafesini oumllccedilen f(z)=550 olduğunu duumlşuumlnelim 6 nolu
kromozomun uygunluk değeri f(x)=520+550=650 olur Kromozom ulaşılmak
istenilen noktaya varmış olsaydı bu değer 550 olacaktı Burada goumlruumllduumlğuuml gibi son
noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor
Seccedililimde ikili turnuva seleksiyonu kullanıldı İkili turnuva seccediliminde populasyon
iccedilinden rastgele iki birey seccedililir ve uygunlarına goumlre iyi olan alınır daha sonra tekrar
rastgele iki birey seccedililir ve yine uygunluklarına goumlre en iyi olan alınır Boumlylece elde
olan iki tane birey ccedilaprazlanarak yeni topluma katılır Ccedilaprazlama yapılırken
rastgele bir lopus seccedililir ve iki kromozom o lopustan değiştirilir Oumlrnek rastgele 2 ve
16 nolu bireyler seccedilildi bunlardan uygunluğu en iyi olan 2 tekrar rastgele iki birey
seccedilildi 11 ve 7 bunlara arasındada uygun olan 7 bu kazanan 2 ve 7 bireyi rastgele
bir noktadan değişirme hazırlar Rastgele noktamızın 9 olduğunu duumlşuumlnuumlrsek her
kromozom 20 gen olduğu iccedilin ilk 9 gen 2 nolu kromozomdan geriye kalan 11 gen 7
nolu kromozomdan alınır(2 ile 7 ikili turnuva sonucunda eşleşen kromozomlardı)
Aynı işlem 7nin ilk 9 geni alınır geriye kalan 11 gende 2den alınır Turnuva metodun
da seccedililen birey tekrar sisteme dahil edilir yani ccedilaprazlamaya uğrayan birey tekrar
ccedilaprazlamaya katılabilir
Popuumllasyondaki en iyi birkaccedil birey doğrudan yeni topluma aktarıldı Geriye kalan
bireyler ccedilaprazlama ile yaratıldı Ccedilaprazlamaya ugrayan bireylerden biri mutasyona
uğratıldı Mutasyon yapılmasının nedeni oumlnceki ccediloumlzuumlmlerin kopyalanmasını
oumlnlemek Mutasyon iccedilin rastgele bir gen seccedililir ve değiştirilir Boumlylece yeni
populasyon oluşturuldu Problemin ccediloumlzuumlmuuml iccedilin belirelenen iterasyon sayısı kadar
doumlnguuml devam eder Doumlnguuml sonlanınca problemin en ugun ccediloumlzuumlmuuml elde edilmiş olur
Boumlylece optimum değer elde edilmiş oldu fakat ccedilalışmanın diğer amacı olan
alternatif yollar uumlretmek iccedilin son nesilden oumlnceki nesillerin tuumlmuumlnden en iyi olanlarda
seccedililip seccedililen yollar arasından birbirinden farklı olan diger yollarda projede
tutularak arayuumlzde yansıtıldı
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
11
22Performans Analizi
Problemin ccediloumlzuumlmuumlnde elde edilen bazı veriler
Başlangıccedil noktasından bitiş noktasına gitmeye ccedilalışınca elde edilen veriler grafikte
goumlsterilmiştir Y ekseni Uzaklık piksel x ekseni nesil sayısnı goumlsterir
Şekil 2 Arayuumlz Goumlruumlnuumlmuuml (Parametreler Butonuna tıklandıktan sonra Goumlruumlntuumllenir)
1 ile 24 arasındaki elde edilen veriler aşağıda listelenmiştir 50 nesil sayısı ile
sonuccedillar goumlzlenmiştir
Şekil 3 1-24 arası nesil sayısı=50 Programın Arayuumlzuuml
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
12
Şekil 4 1-24 arası elde edilen veriler
Nesil sayısı değiştirmek iccedilin arayuumlzde şoumlyle değiştirilir
Şekil 5 Nesil sayısı değiştirilişi
1 ile 24 arasındaki elde edilen veriler 100 nesil sayısı ile sonuccedillar aşağıda
goumlzlenmiştir
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
13
Şekil 6 1-24 arası elde edilen veriler(Nesil sayısı 100)
23Sonuccedillar ve Oumlneriler
Elde edilen tuumlm sonuccedillara goumlre bir probleme genetik algoritma uygulanmasında
uygun parametreler seccedililmediği taktirde en uygun ccediloumlzuumlmden uzaklaşır Ccedilalışmada
populasyon buumlyuumlkluumlğuuml ayarlanırken varsayılan değer olan 30 ile 100 değeri
arasında goumlzlemlerim populasyon buumlyuumlduumlkccedile ccediloumlzuumlm olması muhtemel bireylerin
ccediloğalması ve ccediloumlzuumlm uzayının genişlemesiyle en iyiye daha da yaklaşılmıştır
Uygunluk fonksiyonu oluşturulurken ccedilalışma iccedilin oumlnemli noktalar belirlenmemesi
halinde uygun olmayan bireyler uygun sanılıp problemin ccediloumlzuumlmuumlnden uzaklaşılır Bu
ccedilalışmada uygunluk fonksiyonu 2 tane fonksiyonun toplamına eşit Ccediluumlnkuuml en kısa
yol bulunmasının dışında oumlnemli olan parametre kromozomun istenilen noktaya
ulaşıp ulaşmadığıdır Youmlnetimin probleme uygulanışında bir oumlrnek ile bu durumun
anlatılmaya ccedilalışıldı
Seccedililim iccedilin ikili turnuva seccedililimi haricinde rulet tekeli seccedililimi ccedilalışmada
kullanılmamasının sebebi rulet tekeri youmlntemi ile iyi olan birey nesiller sonra
kendisiyle aynı bireyler uumlreterek ccediloumlzuumlm uzayını o nokta etrafında toplamasıdır Bu
durum ccedilalışmada daha iyi olması muhtemel ccediloumlzuumlmlerin araştırılmasını
engellediğinden kullanılmamıştır
Ccedilaprazlamada ise ccedilaprazlama oranının probleme uygun ayarlanmaması halinde
ccedilalışmada hatalar goumlzlendi Oumlrneğin en iyi bireylerin yok olması istenilen bir durum
değildi ve tuumlm bireyler ccedilaprazlama ile oluşturulması durumunda bu hata accedilığa ccedilıktı
Bu durumu engellemek iccedilin elitizm yapılarak en iyi bireyler doğrudan yeni topluma
aktarılarak elenmeleri engellenmiş oldu Ccedilaprazlama sayesinde ccediloumlzuumlm uzayı
genişledi En iyi bireyler doğrudan yeni topluma aktarılmasına rağmen ikili turnuva
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
14
youmlnteminde kullanılan kuumlmeden ccedilıkarılmadılar Ccedilaprazla iccedilin seccedililen bireyler de ikili
turnava youmlntemi iccedilin bulunan kuumlmesinden ccedilıkarılmadı
Mutasyonun ccediloumlzuumlm yoğunluğunu dağıttı goumlzlendi Fakat mutasyon oranı fazla
tutulması halinde en uygun değerden uzaklaşıldığı izlendi Bu yuumlzden ccedilalışmamızda
mutasyon oranı 001 olarak tutulmasına karar verildi
Projenin geliştirlmesi halinde bir bina iccedilerisinde oumlzellikle ccedilok sayıda geccediliş bulunduğu
karmaşık binalarda istenilen yerler arasında en uygun şekilde yol ve rota bulunabilir
Ccedilalışmanın ileriki aşamalarında program arayuumlzuumlne kullanıcı tarafından krokiharita
veya plan yuumlklenmesi sağlanabilir Gezgin satıcı problemine benzer problemler iccedilin
de kullanılabilir Oumlrneğin bilgisayar ağlarında olası bir kopmada diğer en uygun
yollar bulunabilir
3 GENETİK ALGORİTMALAR İLE OPTİMİZASYON
31 Optimizasyon
Optimizasyon bir şeyin daha iyisini gerccedilekleştirme suumlrecidir Bir muumlhendis veya bilim
adamı yeni bir fikir ortaya koyar Optimizasyon bu fikrin geliştirilmesine
yardımcı olur
Optimizasyon fikirleri ilerletmek iccedilin ortaya atılan bilgileri kullanarak başlangıccedil
kavramlarını (parametrelerini) değiştirmektir Eğer fikri etkileyen parametreler
elektronik formata doumlnuumlştuumlruumlluumlrse bilgisayar muumlkemmel bir optimizasyon aracı olur
Bir takım bilgiler bilgisayara girilir ve bir ccediloumlzuumlm elde edilir Elde edilen bu ccediloumlzuumlmuumln
değerlendirilmesi optimizasyon aracılığıyla gerccedilekleştirilir Bir problemin birden fazla
ccediloumlzuumlmuuml varsa en iyi ccediloumlzuumlmuuml bulmak gerekir Aslında ldquoen iyirdquo tanımlaması izafi
kavramdır Optimal ccediloumlzuumlm problemi formuumllize eden kişiye bağlıdır Eğitim fikirler
ideolojiler ve sosyal durumlar ldquoen iyirdquo tanımlamasında etkili olan faktoumlrlerdir Bazı
problemlerin tam cevabı bulunurken bazıları optimal noktalar olarak bilinen değişik
minimum ve maksimum noktalarına sahiptir İşte burada ldquoen iyirdquo izafi olabilir Yer
kuumlrede yaşayan insanoğlunun hayatı optimizasyon problemleri ve ccediloumlzuumlmleri ile
doludur Bununla ilgili birkaccedil oumlrnek verilebilir Hem işe zamanında gitmek hem de
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
15
uyku miktarını artırmak iccedilin ne zaman kalkılmalıdır İşe giderken en iyi yol neresidir
Bir projeyi yuumlruumltuumlrken ilk olarak nereden başlanmalıdır Bir şeyin uzunluğunu
kısaltmak ağırlığını azaltmak bir uumlruumlnuumln cazibesini artırmak ve maliyetini duumlşuumlrmek
optimizasyon tekniğinin ilgi alanı iccedilerisindedir
Optimizasyonun temel aşamaları şekil 7rsquode goumlsterilmiştir
Şekil 7 Optimizasyonun temel aşamaları
Bir deney duumlzeneğinde maksimum veya minimum sonuccedilccedilıkış elde edebilmek iccedilin
cihazın giriş karakteristiklerinin ayarlanması işlemi de bir optimizasyon suumlrecidir Bir
fonksiyonun girişinde ccedileşitli parametreler ccedilıkışında uygunluk veya maliyet değerleri
vardır Fonksiyon veya suumlreccedil maliyet (cost) fonksiyonu amaccedil (objective) fonksiyonu
veya uygunluk (fitness) fonksiyonu olarak tanımlanır Eğer suumlreccedil deneysel ise giriş
parametreleri fiziksel buumlyuumlkluumlklerden oluşur (Pierre 1992) Hayat tesaduumlf gibi
goumlruumlnen olaylarda verilen kararlar nedeniyle ccedilok ilginccediltir Kuantum teorisi sonsuz
boyut olduğunu ve her boyutun bir kararı temsil ettiğini soumlylemektedir Hayat lineer
olmadığından kaos oumlnemli bir rol oynar Başlangıccedil Şartlarında kuumlccediluumlk bozucu etkiler
ccedilok farklı ve tahmin edilemeyen ccediloumlzuumlmlere sebep olmaktadır Bir uumlruumln tasarımında
yuumlksek dereceli karmaşıklıklar ortaya ccedilıkmaktadır Bilimin gelişmesiyle birlikte
geccedilmişte ccediloumlzuumllemeyen karmaşıklıkların yeni ccediloumlzuumlmleri uumlretilmiştir Gelişmenin bu
suumlrecinde optimizasyon oumlnemli bir rol oynamıştır Ccediloğu optimizasyon metotları koumlk
veya sıfır araştırma işlemini kullanır Matematiksel yaklaşımda koumlk bulmak iccedilin
fonksiyonun sıfır olduğu yerler araştırılırken optimizasyon da tuumlrevin sıfır olduğu
yerleri araştırmak gerekmektedir Tuumlrev hesaplama her zaman kolay bir iş değildir
Teknik problemlerin birccediloğu koumlklerini bulmak uumlzere formuumllize edilebilir Fakat bir
kısım optimizasyon youmlntemleri bu koumlkleri bulmada yetersiz kalmaktadır
Optimizasyonda diğer bir zorluk elde edilen bir sonucun global veya lokal bir
ccediloumlzuumlm olup olmadığının belirlenmesidir Oumlrneğin bulunan koumlkuumln optimal bir ccediloumlzuumlm
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
16
olduğunu anlamak zordur Ccediluumlnkuuml buumltuumln koumlkler fonksiyonu sıfır yapmaktadırLineer
olmayan bir fonksiyonun da minimumunu bulmak oldukccedila zordur Bu tip problemler
ya lineer bir yaklaşımla veya optimizasyon boumllgesini kuumlccediluumlk bir boumllge ile sınırlamakla
ccediloumlzuumlluumlr
Optimizasyon algoritmaları şekil 2‟de goumlsterildiği gibi altı grupta ele alınabilir Ancak
kesin hatlarıyla altı gruba ayrıldığı soumlylenemez Oumlrneğin dinamik optimizasyon
problemi sınırlı veya sınırsız olabilir Bazı parametreler ayrık veya suumlrekli olarak
tanımlanabilir (Broyden 1965) şekil 2‟de verilen optimizasyon algoritmaları
aşağıdaki gibi accedilıklanabilir
1) Deneme-yanılma optimizasyonu işlem hakkında ccedilok fazla bilgi olmaksızın ccedilıkışı
etkileyen parametrelerin ayarlanmasıdır Oumlrneğin TV ‟de en iyi goumlruumlntuuml ve ses
deneme yanılma yoluyla ayarlanır TV‟deki goumlruumlntuuml ve sesin antenin hangi
eğiminde iyileşeceği anten uzmanları tarafından sadece tahmin edilir Deneysel
ccedilalışma yapanlar ve ccediloğu buumlyuumlk kacircşifler bu yolu kullanmışlardır Bunun aksine
matematiksel fonksiyonun optimizasyonunda matematiksel formuumll ile suumlreccedil
tanımlanır Fonksiyonun optimum ccediloumlzuumlmuumlnuuml bulmada değişik metotlar uygulanır Bu
yaklaşım teorisyenler tarafından tercih edilir
Şekil 8 Optimizasyon algoritmalarının grupları
2) Tek ve ccedilok parametreli optimizasyon Sadece bir parametre varsa optimizasyon
bir boyutludur Birden fazla parametreye sahip fonksiyon iccedilin ccedilok boyutlu
optimizasyon gereklidir Boyut sayısı artarsa optimizasyonun zorluk derecesi de
artar Ccedilok boyutlu optimizasyon metodunda bir boyutlu optimizasyon metodu
yaklaşımı kullanılır
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
17
3) Statik ve dinamik optimizasyon Statik optimizasyon zamandan bağımsızdır
dinamik optimizasyon ise zamana bağlı olarak ccedilıkış uumlretir Oumlrneğin bir şehrin kenar
mahallesinde oturan bir insanın merkezdeki işine gitmesi iccedilin birccedilok yol olduğunu
kabul edilirse en iyi yolun hangisi olduğu sorgulanabilir Mesafe accedilısından bakılacak
olursa problem statiktir Ccediloumlzuumlm haritayı ve arabanın kilometresaati kullanılarak
bulunabilir Pratikte değişkenlerin ccedilokluğu nedeniyle problem pek de basit değildir
En kısa yol en hızlı yol değildir En hızlı yolu bulmak dinamik bir problemdir ve
zamana havanın durumuna kazalara vb bağlıdır
4) Suumlrekli ve ayrık parametreli optimizasyon Suumlrekli parametreler sonsuz değer
alırken ayrık parametreler sınırlı değerler alır Oumlrneğin yapılacak işler bir liste
halinde verilmiştir Bu işlerin yapılması birbirinden bağımsız olduğundan ayrık
parametreli duumlşuumlnuumllebilir Ayrık parametreli optimizasyon kombinasyonel bir
optimizasyon olarak da adlandırılabilir Bir ccedilizgide f(x)‟in minimum değerini bulmaya
ccedilalışmak suumlrekli parametreli optimizasyon olarak tanımlanır
5) Sınırlı ve sınırsız optimizasyon Sınırlı optimizasyon parametreleri bir tanım
aralığında değerlendirir Sınırsız optimizasyonda ise parametreler herhangi bir
değerde olabilir Değişkenlerin sınırları kaldırılarak sınırlı parametreler sınırsız
parametrelere ccedilevrilirler Ccediloğu nuumlmerik optimizasyon rutinleri sınırsız parametrelerle
ccedilalışırlar Oumlrnek olarak f(x) fonksiyonunu ele alalım ve sınırlar -1lt= x lt=1 arasında
olsun Bu fonksiyon x=sin(u) tanımı kullanılarak sınırsız optimizasyona doumlnuumlştuumlruumlluumlr
Burada u ‟nun değeri ne olursa olsun x (-11) aralığında değişecektir Sınırlı
optimizasyon lineer denklemler ve lineer sınırlarla parametreleri optimize ettiği
zaman program lineer program olarak adlandırılır Sınırlar ve maliyet denklemleri
nonlineer ise program da nonlineer programlama problemi olur
6) Rasgele ve minimum araştırma algoritmaları Bazı algoritmalar parametrelerin
başlangıccedil değerlerini ayarlayarak uygunluk değerlerini minimize etmeye ccedilalışır Bu
araştırma tekniği hızlı olmakla beraber lokal minimumlara ulaşabilir Bunlar nuumlmerik
metotlara dayanan klasik optimizasyon algoritmalarıdır Bir parametreden hareketle
diğer parametreyi tespit etmek bazı deterministik adımlarla gerccedilekleştirilmektedir
Diğer taraftan rasgele metotlar parametrelerin optimum ccediloumlzuumlmuumlnuuml bulmada ihtimal
hesaplarını kullanırlar Bu metotlar yavaş olmakla birlikte global minimumu bulmada
daha başarılıdırlar
Yukarıdaki gruplandırmanın sonucunda optimizasyon metotları Deterministik
metotlar istatistiksel metotlar olmak uumlzere iki ana gruba ayırabilir (Haataja 1994)
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
18
Deterministik optimizasyon metotları lokal maksimum veya minimuma yakınsayan
algoritmalardır Tuumlrevsel hesaplamalar veya tuumlrevsel yaklaşımlar deterministik
metotlara oumlrnek verilebilir Rasgele araştırma algoritmaları gibi istatistiksel metotlar
ise global minimum veya maksimumu bulmada bazı stratejileri ve rasgele sayıları
kullanırlar (Palko 1996) Son yıllarda PC‟lerin hızlarındaki artış bu algoritmaların
uygulama sahasında sıkccedila goumlruumllmesine neden olmuştur (Wurtz F ve ark 1997)
32 Genetik Algoritmalar ve Evrimsel Hesaplama
Evrimsel hesaplama bir optimizasyon işlemidir Oumlyle ki amaccedil hayatta kalacak
bireylerin yeteneklerini geliştirmektir Evrimsel hesaplama (EC) bir arama işleminde
doğal seccedilimin benzetimidir Doğada organizmalar hayatta kalmak ve ccediloğalmak iccedilin
yeteneklerini etkileyen belli karakteristiklere sahiptir Bu karakteristikler
organizmanın kromozomlarında iccedilerilen bilginin uzun stringleri şeklinde temsil
edilirler Eşlenerek ccediloğaltmadan sonra yavru kromozomlar her ccediliften gelen bilginin
bir kombinasyonundan oluşur Umut verici bir biccedilimde sonuccedil her ccediliftin en iyi
karakteristiklerini iccedileren yavru kromozomlar olacaktır Doğal seccedilim işlemi uygunluk
değeri en yuumlksek bireyin seccedililmesini sağlar Evrim doğal seccedilim aracılığıyla
popuumllasyon iccedilinden rasgele bir şekilde seccedililmiş bireyler uygun kromozom değerleri
arama olarak duumlşuumlnuumllebilir Bu amaccedilla bir evrim algoritması (EA) verilen bir
probleme en uygun ccediloumlzuumlm iccedilin olasılıklı bir aramadır
Evrim algoritmaları genetik algoritmalar (GA) genetik programlama (GP) evrimsel
programlama (EP) evrimsel strateji (EV) ve benzerlerini iccedileren alt boumlluumlmlere
ayrılabilir Genetik algoritma (GA)‟nın terminolojisinin anlaşılması iccedilin ldquodoğal seccedilimrdquo
in (seleksiyonun) anlaşılması gerekir Duumlnyayı goumlzlemleyecek olursak olup biten
olaylarda doğal seccedilim goumlze ccedilarpar Birbirinden ayrı muazzam organizmalar ve bu
organizmalardaki karmaşıklık inceleme ve araştırma konusudur Organizmaların
niccedilin boumlyle olduğu ve nasıl bu aşamaya geldiği sorgulanabilir Bir başka accedilıdan
meseleye şoumlyle bakılabilir Sanki buguumlnuumln duumlnyasında ccedilok buumlyuumlk optimizasyon
algoritmaları oluşturulmuş ve binlerce iterasyon sonunda yer yuumlzuumlnde optimum
ccediloumlzuumlm elde edilmiştir Amaccedil fonksiyonu yaşam muumlcadelesini temsil eder İnsanoğlu
bunu maksimize etmek ister (Grant 1985) Adaptasyon ve uygunluğun seviyesi
duumlnyada uzun suumlre yaşayabilmenin goumlstergesi haline gelmiştir Evrim suumlreci hayat
şartlarına en uygun olanın yaşamasını sağlayan buumlyuumlk bir algoritmadır Eğer ccedilevreyi
değiştirme zeka ve yeteneğine sahip olunursa hayatta global maksimum elde
edilebilir (Haupt 1998)
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
19
Gen temel kalıtım birimidir Organizmanın genleri DNA (Deoxyribo Nucleic Acid)
formunda bir ccedilift kromozomdur Organizmanın her bir huumlcresi benzer miktarda
kromozomlar iccedilerirler Her bir vuumlcut huumlcresindeki kromozom miktarı farklıdır
Oumlrneğin sivrisinek de 6 kurbağada 26 insanda 46 ve alabalıkta 94 adet kromozom
vardır Genler her biri farklı karakteristiği temsil eden iki fonksiyonel formda
meydana gelir Bu formların her biri ldquoallelrdquo olarak bilinir (Curtis 1975) Oumlrneğin allel
değerine goumlre insanın goumlzuumlnuumln biri mavi olurken diğeri kahverengi olmaktadır
Kromozomlardaki allel‟lerin kombinasyonları fertlerin kişisel oumlzelliklerini belirler Fert
uumlzerinde allel‟lerden biri baskın olurken diğeri pasif olmaktadır Genetik algoritmalar
biyolojik suumlreci modelleyerek fonksiyonları optimize eden evrim algoritmalarıdır GA
parametreleri biyolojideki genleri temsil ederken parametrelerin toplu kuumlmesi de
kromozomu oluşturmaktadır GA‟ların her bir ferdi kromozomlar (bireyler) şeklinde
temsil edilen popuumllasyonlardan oluşur Popuumllasyonun uygunluğu belirli kurallar
dacirchilinde maksimize veya minimize edilir Her yeni nesil rasgele bilgi değişimi ile
oluşturulan diziler iccedilinde hayatta kalanların birleştirilmesi ile elde edilmektedir
(Angeline 1995)
Bu metot uzun ccedilalışmaların neticesinde ilk defa John Holland (1975) tarafından
uygulanmaya başlandı En son onun oumlğrencisi olan David Goldberg popuumller oldu
David Goldberg tezinde gaz boru hattının kontroluumlnuuml iccedileren bir problemin
ccediloumlzuumlmuumlnuuml genetik algoritma ile gerccedilekleştirdi (Goldberg1989)
GArsquoların avantajları
Suumlrekli ve ayrık parametreleri optimize etmesi
Tuumlrevsel bilgiler gerektirmemesi
Amaccedil fonksiyonunu geniş bir spektrumda araştırması
Ccedilok sayıda parametrelerle ccedilalışma imkacircnı olması
Paralel PCrsquoler kullanılarak ccedilalıştırılabilmesi
Karmaşık amaccedil fonksiyonu parametrelerini lokal minimum veya
maksimumlara takılmadan optimize edebilmesi
Sadece tek ccediloumlzuumlm değil birden fazla parametrelerin optimum ccediloumlzuumlmlerini
elde edebilmesi olarak sıralanabilir
GArsquolar arama ve optimizasyon iccedilin sezgisel youmlntemlerdir Geniş arama
algoritmalarının aksine genetik algoritmalar en iyiyi seccedilmek iccedilin tuumlm farklı
durumları uumlretmez Bundan dolayı muumlkemmel ccediloumlzuumlme ulaşamayabilir Fakat
zaman kısıtlamalarını hesaba katan en yakın ccediloumlzuumlmlerden biridir GA lar
şartlara uyum sağlayabilir Bunun anlamı oumlnceden hiccedil bilgisi olmamasına
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
20
karşın olayları ve bilgiyi oumlğrenme ve toplama yeteneğine sahip olmasıdır
Her problemin ccediloumlzuumlmuuml iccedilin GA kullanmak iyi bir yol değildir Birkaccedil
parametreli analitik fonksiyonun ccediloumlzuumlmuumlnde klasik metotlar daha hızlıdır
Boumlyle durumlarda nuumlmerik metotlar tercih edilmelidir Paralel bilgisayarlar
kullanılırsa GA daha hızlı sonuccedil verebilirGelecek boumlluumlmde GArsquolarla benzerlik
goumlsteren Saf Rasgele Araştırma Algoritması (pure random search) kısaca
anlatılacaktır GArsquolara oumlzel operatoumlrler tanıtılacak ve birkaccedil oumlrnekle
ccedilalışması goumlsterilecek Ayrıca ikili kodlarla ccedilalışan(ikili kodlu) GA ve gerccedilek kodlarla
ccedilalışan (gerccedilek kodlu) GArsquoların ccedilalışma ve işleyişi anlatılacaktır
33 Rasgele Araştırma Algoritması
Rasgele Arama belki de en basit arama işlemidir Bir başlangıccedil arama noktasından
veya başlangıccedil noktalarının kuumlmesinden başlayan arama işlemi arama uzayında
rasgele noktaları araştırır ve kabul edilebilir bir ccediloumlzuumlme ulaşılıncaya veya maksimum
iterasyon sayısı ulaşıncaya kadar devam eder Rasgele aramayı gerccedilekleştirmek
son derece basit olmakla beraber verimsiz olabilir Uygun ccediloumlzuumlm elde edinceye
kadar geccedilen zaman ccedilok uzun olabilir Rasgele araştırma iccedilin bir algoritma ccedilalışması
ve işleyişi aşağıda sunulmuştur
Adım 1 N başlangıccedil arama noktaları kuumlmesini seccedil Cg = Cgn = | n=12hellipN
Burada Cgn I değişkenlerinin vektoumlruuml ve g=0 dır Her bir Cgn elemanı
U(minmax) değişken değerlerin sınırı olmak uumlzere verilen aralıklarda
uumlretilir
Adım 2 Her bir Cgn vektoumlruumlnuumln (ldquouygunlukrdquo) F(Cgn) doğruluğunu değerlendir
Adım 3 En iyi noktayı bul Cg best = min F(Cgn)
Adım 4 if Cg best lt Cbest then C best = Cg best Cbest tuumlmuumlnuumln en iyi ccediloumlzuumlmuuml
Adım 5 if C best kabul edilebilir bir ccediloumlzuumlm ise veya maksimum iterasyon sayısı
aşılmış ise o zaman ldquodurrdquo ve ccediloumlzuumlm olarak Cbest ldquodoumlnrdquo
Adım 6 Her bir Cgn ∆Cgn ile karıştır Burada ∆Cgn asymp N(01205902) ve 120590 2li kuumlccediluumlk bir
değişimi ifade eder
Adım 7 g = g + 1 artır ve adım 2 ye git
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
21
34 İkili kodlu genetik algoritmalar
Genetik Algoritmalar (GAs) verilen bir veri kuumlmesi iccedilin en iyi ccediloumlzuumlmuuml (parametreler
kuumlmesini) bulacak doğrusal olmayan optimizasyon aracıdır GA algoritma muumlmkuumln
ccediloumlzuumlmler kuumlmesinin rasgele uumlretilmesiyle başlar Parametreleriyle her bir ccediloumlzuumlm
arama uzayında (kromozom veya nesil uzayı) uygunluk fonksiyonunun oumlzel bir
noktasını uumlretir Her iterasyondaki bu farklı nesiller kuumlmesi popuumllasyon olarak
adlandırılır Netice olarak bir popuumllasyonun en iyi ccediloumlzuumlmuumlnuumln bir parccedilasından
(yarısı veya doumlrtte biri denebilir) ccedilocuklar (yeni nesil) uumlretilir Bu yeni nesil
eskilerden daha iyi olması beklenir
Şekil 9 Kodlama
341 İkili kodlu genetik algoritmaların operatoumlrleri
Diğer optimizasyon metotlarında olduğu gibi ikili kodlu GArsquoda da amaccedil fonksiyonu
parametreler ve sınırlar tanımlanır Aynı şekilde yakınsama kontrol edilerek
algoritma son bulur İkili kodlu GA‟nın akış diyagramı şekil 10‟da verilmektedir
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
22
Şekil 10 İkili kodlu GA‟nın akış diyagramı
Genel bir GA aşağıdaki program kod ile oumlzetlenebilir
1 y = 0 ata
2 Cg ilk neslini oluştur
3 While( yakınsama olmazken)
a Her bireyin uygunluğunu değerlendir
b g = g + 1
c Cg-1 den ebeveynleri seccedil
d Yavru Og yi şekillendirmek iccedilin ccedilaprazlama seccedililen ebeveynleri yeniden birleştir
e Og deki yavruyu mutasyona uğrat
f Oumlnceki nesil Cg-1 ve yavru Og den yeni nesli seccedil
GA ile topoğrafik haritadaki yuumlkseltiler veya vadiler araştırılabilir Optimizasyon
algoritması vadiyi bulmak iccedilin amaccedil fonksiyonunun minimum değerini ve en yuumlksek
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
23
boumllgeyi bulmak iccedilin amaccedil fonksiyonunun maksimum değerini arar Klasik metotlarda
en yuumlksek noktayı bulmak zordur GA ise bu noktayı rahatlıkla bulabilir
342 Amaccedil fonksiyonu ve parametreler
Amaccedil fonksiyonu giriş parametrelerine goumlre ccedilıkış uumlreten bir fonksiyondur Bu
fonksiyon matematiksel veya deneysel olabilir Burada amaccedil giriş parametreleri iccedilin
uygun değer bulununcaya kadar ccedilıkış uumlretmektir Oumlrneğin banyo kuumlveti
doldurulurken farkında olmadan optimizasyon yapılır Giriş parametreleri sıcak ve
soğuk su ccedileşmeleridir Amaccedil fonksiyonu deneysel sonuccedillardır Ccediluumlnkuuml el suyun
iccediline sokularak suyun sıcaklığı ayarlanır ( Haupt 1998)
GA‟ya optimize edilecek parametre dizileri ve kromozomlar (bireyler) tanımlanarak
başlanır Kromozom Npar adet parametreye sahip ise optimizasyonproblemi Npar
boyutlu olur Parametreler P1 P2 P3PNpar ise Kromozom = [P1 P2
P3PNpar] olarak tanımlanır
Oumlrneğin topoğrafik bir haritayı ele alalım Amaccedil fonksiyonu giriş parametreleri
enlem (x) ve boylam (y) kabul edilirse kromozom = [xy] şeklinde tanımlanır Burada
Npar=2‟ dir Her bir kromozom P1 P2 parametrelerinin değerlerine goumlre
hesaplanır
F(kromozom) = F(P1P2PNpar)
Ccediloğu zaman amaccedil fonksiyonu oldukccedila karmaşıktır Parametrelerin hangisinin
oumlnemli olduğuna karar verilmelidir Parametreler ccedilok fazla olursa GA iyi sonuccedil
vermeyecektir Oumlrneğin arabalarda yakıt tasarrufu iccedilin oumlnemli parametreler araba
boyutları motor boyutları ve malzeme ağırlıkları şeklinde belirlenebilir Boya rengi
veya koltuk tipi gibi diğer parametreler ya ccedilok az etkili ya da hiccedil etkili değildir Bazen
parametrelerin seccedilimi ve değer tespiti tecruumlbeyle veya deneme-yanılma yoluyla
yapılır Oumlrneğin
F(wx yz) =2x +3y + z 100000 + radic1199089876
şeklinde analitik bir fonksiyonun parametrelerinin 0ndash10 arasında değiştiğini kabul
edelim
Amaccedil fonksiyonu iccedilerisinde w ve z parametreleri yuumlksek değerlere boumlluumlnduumlğuumlnden
0ndash10 arasında değişmesi sonucu pek fazla etkilemeyecektir Eğer w ve z
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
24
parametreleri ihmal edilirse 4 boyutlu problem 2 boyutlu olarak modellenebilir
Optimizasyon problemlerinin ccediloğunda parametrelerin belirli sınırlar iccedilerisinde
kalması istenir Oumlrneğin otomobilin ağırlığı sıfır olmayacak boyu 10 m‟yi
geccedilmeyecek vb sınırlamalar getirilebilir Sınırsız parametreler ise herhangi bir değer
alabilir İki tuumlrluuml sınır belirlenebilir Birincisi 0lt= xlt= 10 arasında değişen bir
parametrede eğer x=11 değerini alırsa x=10 yapılır ve x= -1 değerini alırsa x=0
yapılır İkincisi x = 5siny+5 olarak tanımlanırsa y‟nin herhangi bir değerinde
0lt=xlt=10 arası değişecektir Boumlyle bir doumlnuumlştuumlrmeyle sınırlı optimizasyon problemi
sınırsız optimizasyon problemine ccedilevrilmiş olur (Holland JH 1992) Bağımlı
parametreler optimizasyon algoritmaları iccedilin oumlzel problemler meydana getirir Ccediluumlnkuuml
bir parametrenin değişimi diğer parametreleri de etkileyecektir Oumlrneğin arabanın
boyunu artırmak ağırlığını da artıracaktır Fourier serisi katsayılarında olduğu gibi
bağımsız parametreler birbirlerini etkilemezler GA literatuumlruumlnde parametre
etkileşimi ldquoepistasisrdquo olarak adlandırılır Biyolojide epistasis genlerin birbirini
etkilemesi olarak tanımlanır Epistasis ccedilok az olursa minimum araştırma
algoritmaları iyi sonuccedillar uumlretir GA‟da Epistasis orta ve yuumlksek derecede olursa iyi
sonuccedil vermektedir ccedilok yuumlksek veya ccedilok duumlşuumlk olursa iyi sonuccedil vermemektedir
(Haupt 1998)
3421 Parametrelerin tanımlanması ve kodlama
şekil 4‟den GA nın uumlccedil işlem iccedilin doumlnguumlye girdiğini goumlrebiliriz
En iyi gen stringinin seccedilimi
Genetik operasyon (ccedilaprazlama mutasyon)
Yeni gen stringleri (ccedilocuklar) ile eski popuumllasyonun koumltuuml gen stringlerinin
yer değiştirilmesi
Optimizasyon doumlnguumlsuuml başlamadan oumlnce optimize edilmesi gereken parametreler
istenilen şekle doumlnuumlştuumlruumllmek zorundadır Buna kodlama (encoding) denir Kodlama
GA iccedilin oumlnemli bir konudur Ccediluumlnkuuml sistemden goumlzlemlenen bilgiye bakış accedilısı buumlyuumlk
oumllccediluumlde sınırlandırılabilir Gen stringi probleme oumlzel bilgiyi depolar Gen olarak
adlandırılan her bir oumlğe genellikle değişkenler stringi olarak ifade edilir Değişkenler
ikili veya reel sayı şeklinde goumlsterilebilir ve aralığı probleme oumlzel olarak tanımlanır
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
25
İkili Kodlama
1 1 0 1 0 0 1 0
Reel Sayı Kodlaması
Şekil 11 Gen stringlerinde parametrelerin kodlanması
İkili kodlama sıklıkla kullanılırken şekil 11‟de goumlsterildiği gibi Hammimg cliffs
dezavantajına sahiptir Bir Hamming cliff iki bitişik sayısal değer ayrı bit
goumlsterimlerine sahip olduğunda şekillenir Mesela onluk sayılar 7 ve 8 i duumlşuumlnuumln ikili
goumlsterimlerle ilgili olarak (4 bit goumlsterimini kullanan) 7=0111 ve 8=1000 4 hamming
mesafesidir (Hamming mesafesi birbirine benzemeyen ilgili bitlerin sayısıdır) Bu
değişkenlerdeki kuumlccediluumlk bir değişiğin uygunluktaki kuumlccediluumlk bir değişiklikte sonuccedil
vermesi gerektiği zaman bir problemi ortaya koyar Eğer oumlrneğin uygun ccediloumlzuumlm 7
olsun Fakat yeni en iyi ccediloumlzuumlm 8 olduğunda 8 i elde etmek iccedilin birccedilok bitin
değiştirilmeye ihtiyaccedil duyulduğu aşikacircrdır Hacirclbuki uygunluk değerinde kuumlccediluumlk bir
değişim soumlz konusudur
Alternatif bir bit goumlsterimi Gray Kodlama kullanmaktır Ardışık sayısal değerlerin
goumlsterimleri arasındaki Hamming Mesafesi bunlardan biridir
İkili sayılar doumlnuumlşuumlm kullanılarak kolaylıkla Gray kodlamaya ccedilevrilebilirler GArsquolar
ayrıca integer veya reel değerleri temsil eder ve bir kromozomda değişkenlerin
sırasının oumlnemli bir rol oynadığı yerdeki komut tabanlı temsiller kullanılarak
geliştirilmiştir Gaz iccedilin klasik temsil şeması sabit uzunluklu ikili vektoumlrlerdir Bir I-
boyutlu arama uzayının durumunda her bir birey bir bit stringi olarak kodlanan her
bir değişkenle I değişkenlerinden oluşur Eğer değişkenlerin ikili değeri varsa her bir
kromozomun uzunluğu I bittir Nominal değerli değişkenlerin durumunda her bir
nominal değer D boyutlu bit vektoumlrleri olarak kodlanır Bu değişken iccedilin 2D her bir
D-bit stringi farklı bir nominal değerle temsil edilir Ayrık nominal değerlerinin toplam
sayısıdır Suumlrekli değerli değişkenlerin durumunda her bir değişken D boyutlu bir bit
vektoumlre haritalanmalıdır
Suumlrekli uzay aralığı sonlu bir [α β] aralığına sınırlandırılması gerekir Standart ikili
kod ccediloumlzmeyi kullanarak her bir kromozom Cn in suumlrekli değişkeni Cni sabit
43 4 9 16 30 22 59 12
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
26
uzunluklu bir bit stringi kullanılarak kodlanır Amaccedil fonksiyonunun uygunluk
değerinin hesaplanması iccedilin her iterasyonda kromozomun 10‟luk sayı sistemine
ccedilevrilmesi gerekir
35 Başlangıccedil popuumllasyonu
Kromozom başlangıccedilta verilen popuumllasyon miktarına goumlre rasgele uumlretilir Bu
durumda NipopxNbit adet bitlerle matris oluşturulur Nipop başlangıccedil
popuumllasyonunun toplam sayısıdır Nbit‟de kromozomun bit sayısıdır Matrisin her bir
satırı bir kromozomu temsil eder Kromozomlar ise enlem ve boylamları temsil
eder Rasgele uumlretilen popuumllasyondaki parametreler amaccedil fonksiyonunda yerlerine
konularak ve uygunluk değerleri hesaplanarak değerlendirilir Yirmi doumlrt adet
kromozomun uygunluk değerleri Ccedilizelge 1‟de verilmiştir Kromozomların
yerleşimleri şekil 12‟da topoğrafik harita uumlzerinde goumlsterilmiştir
Ccedilizelge 1 Başlangıccedil popuumllasyonunun sıralanışı (Haupt 1998)
Kromozomlar Uygunluk değerleri
00000000000000 -13000
11111011010010 -11800
00010110000010 -13255
11000011001010 -12347
01111111101001 -12560
01000111010001 -12700
01010110000100 -13338
11101111001110 -11890
01111100111100 -12953
00100001011110 -12891
10001110111010 -12759
10111000111100 -12320
11011011101000 -11797
00100110011101 -13778
00010100011011 -13360
01110010101011 -12220
11000011001100 -12452
10011101110000 -12335
10100000000011 -12857
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
27
00001101010110 -13166
00010000110101 -13164
01101100110010 -12927
01101111000010 -13079
10001001011111 -12756
Şekil 12 Başlangıccedil popuumllasyonunun topoğrafik harita uumlzerinde dağılımı(Haupt 1998)
36Doğal seccedilim
Başlangıccedil popuumllasyonu fazla ise bazı iteratif adımların uygulanması gerekir
Kromozom olarak en uygun olanı hayatta kalmalı diğerleri de yok olmalıdır Doğal
seccedilim algoritmanın her bir iterasyonunda (jenererasyonunda) meydana gelir
Burada ne kadar kromozomun elde tutulacağına karar vermek biraz keyfidir
Kromozomlarda gelecek nesil iccedilerisinde yer alma muumlcadelesi başlamaktadır
Popuumllasyon iccedilerisinde buumltuumln kromozomların seccedililmesi gelecek nesile ccedilok fazla
katkısı olmamaktadır GArsquoda değişik seccedilim metotları vardır
a) Rasgele seccedilim Kromozomların eşleştirilmesinde rasgele sayı uumlreteci kullanılır
Kromozomlar 1‟den başlayarak N^iyi‟ye kadar sıralanır Birinci eşleştirmeyi bulmak
iccedilin iki adet rasgele sayı uumlretilir
Kromozom=roundupN^iyi x rasgele sayı
Burada roundup fonksiyonu sayıları en yuumlksek sayıya yuvarlar Oumlrneğin rasgele
olarak uumlretilen 6 sayı 01535 06781 00872 01936 07021 ve 03933 ise bu
sayılar 6 ile ccedilarpılıp bir uumlst tamsayıya yuvarlanarak 1 5 1 2 5 3 değerleri elde
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
28
edilir Buna goumlre kromozom1-kromozom5 kromozom1- kromozom2 ve kromozom5-
kromozom3 eşleştirilecektir
b) Ağırlıklı seccedilim İlk olarak amaccedil fonksiyonunda kromozomların uygunluk değerleri
hesaplanır Hesaplanan uygunluk değerleri en kuumlccediluumlkten en buumlyuumlğe doğru sıraya
konur Npoplt=Nipop ise tutulur geriye kalanlar atılır Burada Npop değeri Nipop‟a
kadar olabilir Genelde popuumllasyonun 50‟sinin seccedililmesi (Npop=Nipop2) uygun
seccedilenektir Seccedililen Npop‟un yarısı N^iyi yarısı da Nkoumltuuml olarak ayrılır N^iyi olanlar
eşleştirme havuzuna konurken Nkoumltuuml olanlar eşleştirme havuzundan atılır Toplam
popuumllasyon sayısı Nipop=24‟duumlr GA‟nın her bir iterasyonunda popuumllasyonun 12‟si
tutulur ve bu kromozomların altı tanesi eşleştirme havuzuna atılır
c) Ağırlıklı rasgele seccedilim Bu youmlntem eşleştirme havuzundaki kromozomların amaccedil
fonksiyonunda hesaplanan uygunluk değerlerine goumlre seccedililme ihtimallerini dikkate
alır En duumlşuumlk uygunluk değerine sahip kromozom eşleştirme ihtimali en yuumlksek
kromozom olurken en yuumlksek uygunluk değerine sahip kromozom eşleştirme ihtimali
en duumlşuumlk olarak duumlşuumlnuumlluumlr Uumlretilen rasgele sayı hangi kromozomun seccedilileceğini
belirler Bu youmlntem kendi arasında ikiye ayrılır
Sıra Ağırlık Kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır ve denklem kullanılarak
kromozomların sıralamasındaki yerlerine goumlre Pn olasılıkları hesaplanır
Bu youmlntemle uygunluk değerlerinden bağımsız olarak sadece sıralamayı dikkate
alan Pn normalize değerleri elde edilmektedir Bu metot uygulanarak alınan sonuccedil
Ccedilizelge 2 ‟de goumlsterilmiştir
Ccedilizelge 2 Eşleştirme olasılıkları (Haupt 1998)
n Kromozom Pn sum 119927119946119951119946=120783
1 00100110011101 02857 02857
2 00010100011011 02381 05238
3 01010110000100 01905 07143
4 00010110000010 01429 08572
5 00001101010110 00952 09524
6 00010000110101 00476 10000
Kromozomların seccedililmesinde kuumlmuumllatif ihtimaller kullanılır Rasgele olara 0ndash1
arasında bir sayı uumlretilir Bu sayı kuumlmuumllatif ihtimallerin en başından başlanarak
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
29
sırayla karşılaştırılır Kuumlmuumllatif ihtimal değeri uumlretilen rasgele sayıdan buumlyuumlkse
eşleştirme havuzu iccedilin kromozom seccedililir Benzer tarzda 6 tane rasgele sayı
uumlretilerek eşleştirme gerccedilekleştirilir Uumlretilen rasgele sayılar
01535 06781 00872 01936 07021 ve 03933‟dir Bu sayılara goumlre kromozom1-
kromozom3 kromozom1-kromozom1 ve kromozom3-kromozom2 eşleştirilirler
Kromozomlar kendisi ile eşleştirilirse bu kromozomun gelecek nesilde daha etkin
olarak yer aldığı soumlylenebilir Bu yaklaşım tarzı doğaya daha uygundur
Değer ağırlık Kromozomların uygunluk değerleri amaccedil fonksiyonundan hesaplanır
Eşleştirme havuzunda Niyi+1‟inci sırada bulunan kromozomun amaccedil fonksiyonunda
hesaplanan uygunluk değeri buumltuumln eşleştirme havuzundaki kromozomlardan
ccedilıkartılır Niyi+1‟inci sıradaki kromozomun uygunluk değeri ndash 13079‟dur
Daha oumlnce uumlretilen rasgele sayılarkullanılırsa kromozom1-kromozom3 kromozom1-
kromozom1 ve kromozom3- kromozom1 eşleştiği goumlruumlluumlr
Ccedilizelge 3 Eşleştirme havuzunda kromozomların sıralanışı (Haupt 1998)
n Kromozom Cn Pn sum 119927119946119951119946=120783
1 00100110011101 -13778+13079= -699 04401 04401
2 00010100011011 -13360+13079= -281 01772 06174
3 01010110000100 -13338+13079= -259 01632 07805
4 00010110000010 -13255+13079= -176 01109 08915
5 00001101010110 -13166+13079= -87 00547 09461
6 00010000110101 -13164+13079= -85 00539 10000
d) Eşik değer seccedilim Eşik değerden kuumlccediluumlk olan kromozomlar yaşamaya devam
eder eşik değeri aşan kromozomlar oumlluumlr Bu tekniğin avantajı popuumllasyonun
sıralanmasına gerek olmamasıdır
e) Rulet tekerleği seccedilim Rulet tekerleği seccedilim metodunun uygulanması iccedilin ilk oumlnce
kromozomların toplam uygunluk değeri hesaplanır Kromozomlar toplam uygunluk
değerine boumlluumlnerek her bir kromozom iccedilin 0ndash1 arasında değişen seccedilim ihtimalleri
bulunur Daha sonra kuumlmuumllatif ihtimaller hesaplanır Popuumllasyon sayısı kadar
ldquorasgelerdquo 0-1 arasında sayılar uumlretilir
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
30
Uumlretilen rasgele sayı birinci kromozomun kuumlmuumllatif seccedilim ihtimalinden kuumlccediluumlk ise
birinci kromozom seccedililir Eğer değilse ikinci kromozomun veya diğerlerinin kuumlmuumllatif
ihtimalleriyle karşılaştırılarak hangisinden kuumlccediluumlkse o kromozom seccedililir Boumlylece
Rulet seccedilim metodu gerccedilekleştirilmiş olur
f) Turnuva Seccedilimi Bu youmlntemde bir grup k bireyi rasgele olarak seccedililir Bu k bireyleri
daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seccedililir Ccedilaprazlama iccedilin iki
turnuva tutulur Bunlardan biri her bir ebeveyni seccedilmek iccedilindir Bir kereden daha
fazla uumlretmek iccedilin seccedililebilecek bir ebeveyn muumlmkuumlnduumlr Turnuva seccediliminin
avantajı popuumllasyonun daha koumltuuml bireylerinin seccedililmeyecek olması ve bundan
dolayı sonraki neslin genetik yapısına katılmayacak olmasıdır Ayrıca en iyi bireyler
tekrar uumlretim suumlrecinde baskın olmayacaktır
g) Seccedilkinlik(Elitism) Bu işlem şu anki nesilden sonraki nesle aktarılan bir grup
bireyin seccedilimini kapsar Mutasyona uğratılmaksızın sonraki nesle aktarılan
bireylerin sayısı nesil boşluğu olarak işaret edilir Eğer nesil boşluğu sıfırsa yeni
nesil yeni bireylerin girişleriyle oluşur Pozitif nesil boşlukları iccedilin diyelim ki k k
bireyleri sonraki nesle aktarılır Seccedililen genler sonraki yeni nesli oluşturmak iccedilin
ccedilaprazlama ve mutasyon genetik operasyonlarından geccediler
37 Ccedilaprazlama
İki adet yeni nesil elde etmek iccedilin kromozomların bulunduğu eşleme havuzundan iki
adet kromozom seccedililir Eşleme suumlrecinde seccedililen kromozomlardan bir ve birden
fazla yeni nesil oluşturma olayına ldquoccedilaprazlamardquo denir En yaygın olarak kullanılan iki
kromozomdan iki tane yeni nesil elde edilmesidir Oumlncelikle kromozomun ilk biti ile
son biti arasında ccedilaprazlama noktası rasgele seccedililir Birinci kromozomun
ccedilaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geccedilerken benzer
tarzda ikinci kromozomun ccedilaprazlama noktasının solundaki bitler de birinci
kromozoma geccedilerler Sonuccedilta meydana gelen yeni kromozomlar her iki
kromozomun karakterlerini iccedilermektedirler Ccedilaprazlama oranı bir popuumllasyonda ne
kadar kromozomun ccedilaprazlamaya tabi tutulacağını belirler
Şekil 13 Tek noktalı ccedilaprazlama
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
31
Şekil 14 Gerccedilek kodlu GA‟da ccedilaprazlama
Gerccedilek kodlu GArsquoda sonraki neslin reel sayılarını değiştirmediğine dikkat edin
Ccediluumlnkuuml ccedilaprazlama noktası her zaman reel sayılar arasındadır (1510 ve 14)
Sonuccedilta meydana gelen nesiller her iki kromozomun karakterlerini iccedilermektedirler
Bu durum Ccedilizelge 4 ‟de goumlsterilmiştir
Ccedilizelge 4 Eşleştirmesi yapılan kromozom ccediliftleri (Haupt 1998)
İşlem Sırası 6xrasgele(2-1) Kromozom
1 2-1 1
2 5-5 5
3 6-3 3
4 4-5 4
5 1-1 1
6 4-5 4
38Mutasyon
GA operatoumlrlerinin ikincisi olan mutasyon kromozomdaki bitlerin kuumlccediluumlk bir yuumlzdesini
değiştirir Mutasyon ile kromozomdaki bitler ldquo1rdquo ise ldquo0rdquo ldquo0rdquo ise ldquo1rdquo yapılır
NpopxNbit‟lik bir popuumllasyon matrisinde mutasyon noktaları rasgele seccedililir
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
32
Mutasyonun değeri artırılırsa algoritma daha geniş parametre uzayını tarama
yapar Son iterasyonda mutasyon meydana gelmez Verilen oumlrneğe en iyi
kromozom hariccedil tutularak 5‟lik mutasyon değeri uygulanırsa rasgele sayı uumlreteci
7 adet kromozom iccedilin satır ve suumltunlara karşılık gelecek tam sayılar uumlretir Boumlylece
uumlretilen tamsayılara goumlre doumlrduumlncuuml satır ve on birinci suumltundaki (4ndash11) bit ldquo0rdquo iken
ldquo1rdquo yapılır
00010110000010 00010110001010
(5-3) (2-2) (2-1) (5-14) (8-10) ve (5-8) satır ve suumltun numaralarına goumlre altı kez
meydana gelir Ccediloğu mutasyonlar kromozomların uygunluk değerini artırarak daha
iyi sonuccedil elde edilmesine yardımcı olur Ccedilaprazlamada olduğu gibi mutasyonda
gerccedilek kodlu ve ikili kodlu GA‟da farklı etkilere sahiptir ES mutasyonunda gen
stringlerinin değerleri normal bir şekilde dağıtılmış kuumlccediluumlk bir sayı ekleyerek
değiştirilmesiyle iyi bir ayarlama olarak anlaşılabilir GA da bir bitin terslenmesinin
geniş bir etkisi olabilir Şekil 11‟de mutasyonun nasıl gerccedilekleştiği goumlsterilmiştir
(a)
(b)
Şekil 15 (a) (b) İkili ve gerccedilek kodlamada mutasyon
381Gelecek nesil
İterasyon sonucunda ccedilaprazlamaya ve mutasyona uğramış kromozomların
uygunluk değerleri hesaplanarak Ccedilizelge 5‟da verilen yeni nesil elde edilir İtalik
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
33
yazılan bitler mutasyona uğrayanlardır Ccedilizelge 6‟de goumlruumllduumlğuuml gibi bir sonraki
adımda kromozomlar uygunluk değerlerine goumlre yeniden sıralanır ve eşleştirme
havuzuna konur Başlangıccedil popuumllasyonun ortalama değeri ndash12738 iken birinci
nesilden sonra bu değer ndash13334‟e ulaşmıştır Ccedilizelge 6‟deki kromozomların
topoğrafik harita uumlzerinde yerleşimi şekil 15‟de verilmiştir Eşleştirme havuzunda
kromozomların sadece altı tanesi tutulmaktadır Tekrar ccedilaprazlama mutasyon ve
sıralamadan sonra elde edilen uumlccediluumlncuuml nesil Ccedilizelge 7‟de goumlsterilmektedir Uumlccediluumlncuuml
neslin sonunda popuumllasyon genel ortalaması ndash13403 olmaktadır Doumlrduumlncuuml neslin
sonunda ise ndash13676 ve yerleşimi şekil 16‟ de goumlruumllmektedir
Ccedilizelge 5 Ccedilaprazlamaya ve mutasyona uğramış yeni nesil (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
11010100011011 -11956
01010110000100 -13338
00010110001010 -13553
00001100010111 -13289
00010000110101 -13164
00100110000100 -13372
01010110001101 -13632
00000110011101 -13036
00100110011101 -13778
00100110011101 -13778
01010110000100 -13338
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
34
Ccedilizelge 6 İkinci nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001010 -13552
00100110000100 -13372
01010110000100 -13338
01010110000100 -13338
00000110011101 -13036
00001100010111 -13289
00010000110101 -13164
11010100011011 -11956
Şekil 16 İkinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
35
Ccedilizelge 7 Uumlccediluumlncuuml nesilden sonra sıralama (Haupt 1998)
Kromozomlar Uygunluk Değerleri
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
00100110011101 -13778
01010110001101 -13632
00010110001100 -13584
00010110001010 -13553
01010110001010 -13539
00100111010100 -13921
01101111011101 -13602
01100110011101 -13255
Şekil 17 Doumlrduumlncuuml neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
36
382 Yakınsama
İterasyon sayısına veya uygun bir ccediloumlzuumlme ulaşılıncaya kadar işleme devam edilir
Buumltuumln kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır
Ccediloğu GA‟lar genel ortalama standart sapma ve minimum uygunluk değeri gibi
istatistikleri tutarlar Bu istatistikler yakınsama testi iccedilin bir oumllccediluuml olabilir
Şekil 18 Sekizinci neslin topoğrafik harita uumlzerinde dağılımı (Haupt 1998)
Son popuumllasyondaki kromozomların yerleşimi şekil 18‟de goumlsterilmektedir Sekizinci
neslin sonunda topoğrafik harita uumlzerinde iki minimum noktası etrafında yoğunlaşma
goumlruumllmektedir Oumlrnekte dokuzuncu iterasyonun sonunda global minimum ndash14199
olarak elde edilmiştir Algoritmanın minimuma yakınsaması ve her bir neslin genel
ortalaması şekil 19‟de verilmektedir Popuumllasyonun ortalama uygunluk değeri
algoritmanın yakınsaması hakkında bilgi vermesi bakımından oumlnemli bir kriterdir
Oumlrneğin maksimizasyon probleminde farklı iki seccedilim metodu karşılaştırılıyor ise
ortalama uygunluk değeri yuumlksek olan seccedilim metodu daha iyi sonuccedil vermektedir
denilebilir
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
37
Şekil 19 Genetik Algoritma ile Ccedilift Taraflı Montaj Hattı Dengeleme
39 Gerccedilek kodlu genetik algoritma
Problemlerin ccediloumlzuumlmuumlnde rakamların hassasiyeti oumlnemli bir yer tutmaktadır İkili
kodlu GA‟da parametrelerin ldquo1rdquo ve ldquo0rdquo larla ifade edilmesi kromozomların
boyutlarını oldukccedila artırdığından sınırlı hassasiyete sahiptir Bunun yerine gerccedilek
rakamlarla kodlama yapabilen gerccedilek kodlu GA‟yı kullanmak avantajlıdır Gerccedilek
kodlu GA hem daha hassas hem de PC belleğinde daha az yer kaplamaktadır
Ccedilunkaş ve Akkaya (2002) değişik test fonksiyonları kullanarak ikili kodlu GA ve
gerccedilek kodlu GA‟nın temel farklılıklarını irdelemişler Gerccedilek kodlu GA ‟ların ikili
kodlu GA ‟ya goumlre hızlı ccedilalıştığını ve global optimumu daha kısa suumlrede bulduğunu
goumlstermişlerdir
Gerccedilek kodlu GA bazı literatuumlrlerde ldquoSuumlrekli Parametreli GArdquo olarak da bilinmektedir
Bu ccedilalışmada ldquoGerccedilek Kodlu GArdquo tanımlaması kullanılmıştır Gerccedilek kodlu GA ikili
kodlu GA ‟ya ccedilok benzemektedir Aralarındaki en oumlnemli farklılık parametrelerin ldquo1rdquo
ve ldquo0rdquo ‟lar yerine gerccedilek rakamlarla ifade edilmesidir
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
38
Şekil 20 GA‟nın akış diyagramı
310Amaccedil fonksiyonu ve parametreler
Optimizasyonda amaccedil parametrelerin en uygun değerlerini bulmaktır Optimize
edilecek parametre değerleri bir dizi haline getirilip kromozom şekline sokularak GA
ile ccediloumlzuumlluumlr N^par parametreye sahip bir kromozom 1xNpar boyutlu matris biccediliminde
yazılır
Kromozom=[P1P2P3 N^par P ]
Gerccedilek kodlu GA‟da parametrelerin hepsi ldquoondalıkrdquo rakamlarla ifade edilir ve her bir
kromozomun bir uygunluk değeri (C ) vardır
C=f(kromozom)=f(P1P2P3 N^par P )
Oumlrneğin amaccedil fonksiyonu
C= f(x y) x sin(4x) 11ysin(2y)
ve parametre sınırları 0x10 0y10 olarak tanımlanırsa Kromozom=[x y]
şeklinde ifade edilebilir Buradaki problem iki parametreli bir optimizasyon problemi
olup şekil 21‟de grafik olarak goumlsterilmiştir Bu problem Boumlluumlm bir oumlnceki oumlrneğe
goumlre daha zor bir optimizasyon problemidir ve klasik metotlarla bu fonksiyonun
global minimumunu bulmak zordur GA kullanılırsa global minimumu bulmak
kolaylaşır
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
39
Şekil 21 f(x y) x sin(4x) 11ysin(2y) ‟nin uumlccedil boyutlu goumlruumlnuumlmuuml
311 Başlangıccedil Popuumllacircsyonu
GA‟nın ccedilalışmaya başlayabilmesi iccedilin Nipop kromozomdan oluşan başlangıccedil
popuumllacircsyonuna ihtiyaccedil vardır Popuumllacircsyonun kromozomları Npar x Nipop‟luk bir
matris ile temsil edilir Kromozomlar denklem (35) kullanılarak rasgele uumlretilir
IPOP=(PH-PL) x rasgeleNipopNpar+PL (35)
Burada
PH Parametrenin uumlst sınır değeri
PL Parametrenin alt sınır değeri
rasgeleNipopNpar NipopxNpar olacak şekilde matris formunda 0-1
arasında uumlretilen rasgele sayıdır
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
40
Bu tanımlamalar her parametre iccedilin kullanılabilir Parametrelerin bu şekilde değerleri
belirlendikten sonra amaccedil fonksiyonunda yerlerine konularak fertlerinuygunluk
değerleri hesaplanır Denklem (34)‟de goumlruumllduumlğuuml gibi x ve y den oluşan iki tane
parametre vardır Sınır değerleri PL =0 ve PH =10 dur Amaccedil fonksiyonu biraz
karmaşık olduğundan başlangıccedil popuumllacircsyonunun yuumlksek tutulması iyi sonuccedil
vermektedir Başlangıccedil popuumllasyon sayısı Nipop=48 seccedililir ve bu durumda
popuumllasyon matrisi 48x2‟dir Başlangıccedil popuumllacircsyonun buumlyuumlkluumlğuuml araştırma uzayının
daha geniş seccedililmesini sağlar
Şekil 22 Birinci nesil
312Doğal seccedilim
Gelecek nesilde hangi kromozomun yer alacağının belirlenmesi gerekir İkilikodlu
GA‟da yapıldığı gibi kromozomlar buumlyuumlkten kuumlccediluumlğe doğru sıralanır Gerccedilek kodlu
GA‟da gelecek iterasyonda kullanılmak uumlzere Npop kadar kromozom tutulur ve geri
kalanı dikkate alınmaz Doğal seccedilim en iyi kromozom uygunluk değeri bulununcaya
kadar devam etmelidir Npop kromozomları kendi aralarında Niyi ve
Nkoumltuuml olarak buumlyuumlkten kuumlccediluumlğe doğru sıralamaya tabi tutulur Niyi eşleştirme
havuzuna atılırken Nkoumltuuml hariccedilte tutulur Oumlrnekte 48 adet kromozomun ortalama
uygunluk değeri 09039 ve en iyi kromozomun uygunluk değeri ndash1626‟dır Alt
sıradan başlanarak 24 tanesi atılırsa geri kalan kromozomların ortalama uygunluk
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
41
değeri ndash427 olmaktadır Ccedilizelgede goumlsterildiği gibi her bir iterasyonda Npop= 24
kromozom kullanılır ve bunun 12 tanesi Niyi 12 tanesi Nkoumltuuml olarak tanımlanır
313GENETİK ALGORİTMA SECcedilİM YOumlNTEMLERİ
3131Seccedilim
Kromozomların eşleştirilmesinde ikili kodlu GA‟da tanımlanan Ağırlıklı eşleştirme
metodu kullanılmış ve uygunluk değerlerine goumlre kromozomların seccedililme ihtimalleri
Ccedilizelge 8‟de verilmiştir Ccedilizelgede goumlruumllduumlğuuml gibi eşleştirme ccediloğunlukla yukarıdan
aşağıya doğru yapılmaktadır Ccediluumlnkuuml sıralamanın altındaki kromozomların uygunluk
değerleri kuumlccediluumlktuumlr Rasgele uumlretilen 6 tane sayı aşağıya sıralanmıştır
(0467905344) (0287204985) (0178309554) (0153707483)
(0571705546) (0802408907) Uumlretilen bu sayılar kullanılarak eşleştirme
aşağıdaki gibi gerccedilekleştirilir
Anne = [3 2 1 1 4 5 ]
Baba = [3 3 10 5 3 7]
Ccedilizelge 8 Kromozomların uygunluk değerlerine goumlre seccedililme ihtimalleri
n Pn sum 119927119946119951119946=120783
1 02265 02265
2 01787 04052
3 01558 05611
4 01429 07040
5 01230 08269
6 00367 08637
7 00308 08945
8 00296 09241
9 00247 09488
10 00236 09724
11 00168 09892
12 00108 10000
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
42
3132 Ccedilaprazlama
Ccedilaprazlama iccedilin ccedilok farklı yaklaşımlar vardır Adewuya (1996) veMichalewitcz
(1994) tarafından ilginccedil metotlar ortaya konulmuştur Kromozomun birveya birden
fazla yerinden boumlluumlnerek işaretleme yapılması ve işaretlenen yerlere goumlre
kromozomun karşılıklı genlerinin yerlerinin değiştirilmesi ldquotek duumlzen metotrdquo olarak
adlandırılır
3133 Mutasyon
Genetik algoritmalar bazen ccedilok hızlı yakınsarlar Yakınsama sonucunda global
maksimum bulunursa sonuccedil iyi lokal minimumlar bulunursa beklenen sonuccedil elde
edilememiş demektir Hızlı yakınsamadan kurtulmanın yolu araştırma uzayında
mutasyon aracılığıyla yeni ccediloumlzuumlmler elde etmektir İkili kodlu genetik
algoritmada‟da mutasyon oranı 1-5 arasında değiştirilirse iyi sonuccedillar elde edilir
(Ccedilunkaş ve Akkaya 2004) Gerccedilek kodlu GA‟da mutasyon oranı ise daha yuumlksektir
Parametrelerin toplam sayısı ile mutasyon oranı ccedilarpılarak mutasyona girecek
parametre sayısı tespit edilir Bir matriste satır ve suumltunu ifade edecek şekilde
rasgele rakamlar uumlretilerek mutasyon gerccedilekleştirilir Oumlrneğin mutasyon değerini
micro=004 olarak alınırsa mutasyona uğrayacak parametre sayısı 004x24x2=2 olarak
hesaplanır
4Gezgin Satıcı Probleminin Genetik Algoritmalarla
Uygulaması
GA‟ların uygulanmasına ilişkin incelenecek olan GSP‟de 8 şehir olduğunu
varsayalım Hatırlatalım ki problemde amaccedil satıcının her şehre yalnızca bir kere
uğrayarak turunu en kısa yoldan tamamlamasıdır Satıcının başladığı şehre geri
doumlnme zorunluluğunun olmadığını varsayalım (Yani burada amaccedil doumlnguuml değil
Hamilton yolunun bulunmasıdır) şehirler birbirine bağlı olmakta ve uzaklıklar
verilmektedir bu şartlar iccedilerisinde toplam alınan yolun minimum değerini bulmaya
ccedilalışacağız
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
43
Şekil 23Gezgin Satıcı Oumlrneği
Başlangıccedil popuumllasyonun oluşturulması GSP‟de 8 şehir olduğunu kabul etmiştik
şehirleri ldquo0rdquo dan ldquo7rdquo ye kadar numaralandırdığımızı duumlşuumlnuumlrsek her gen bir şehre
karşılık gelecektir Bu durumda kromozomlarımız ve başlangıccedil popuumllasyonumuz
rastlantısal olarak aşağıdaki gibi oluşturulabilir (Popuumllasyon buumlyuumlkluumlğuuml ldquo5rdquo olarak
seccedililmiştir)
10275463
71302564
24170536
41653720
60534217
Popuumllasyon iccedilindeki her kromozomun amaccedil fonksiyonunun değerinin hesaplanması
İlk kromozomumuza bakarsak bu kromozomun amaccedil fonksiyonu değeri Ģartta
verilen şehirlerarası yol uzunluklarına bağlı olarak aşağıdaki şekilde hesaplanır
10275463
1‟den 0‟a 5 km
2‟den 7‟ye km
5‟den 4‟e 3 km
6‟dan 3‟e 5 km
0‟dan 2‟ye 3 km
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
44
7‟den 5‟e 4 km
4‟den 6‟ya 6 km
İse bu kromozomun goumlsterdiği yolun toplam uzunluğu 27 km yani amaccedil
fonksiyonun değeri ldquo27rdquo olacaktır Artık popuumllasyonumuzun GA operatoumlrlerinin
uygulanması iccedilin hazırdır
Bu operatoumlrleri uygulayarak popuumllasyonumuzun her yeni nesilde evrilmesini ve daha
iyi sonuccedillar elde edilmesini sağlayabiliriz
Tekrar uumlretme ccedilaprazlama ve mutasyon operatoumlrlerinin uygulanması Goldberg
probleminde uygulanan ccedilaprazlama işlemini GSP‟nin kromozomlarına uygularsak
bazı guumlccedilluumlklerle karşılaşabiliriz Oumlrneğin rastgele bir şekilde uumlccediluumlncuuml ve doumlrduumlncuuml
kromozomları seccedilelim ve ccedilaprazlama noktası 5 olsun Bu durumda ccedilaprazlama şu
şekilde olacaktır
Ccedilaprazlama oumlncesi durum Ccedilaprazlama sonrası durum
2 4 1 7 0 5 3 6 2 4 1 7 0 7 2 0
4 1 6 5 3 7 2 0 4 1 6 5 3 5 3 6
Goumlruumllduumlğuuml gibi yeni oluşan kromozomlar GSP problemi iccedilin olumlu bir sonuccedil
vermez Ccediluumlnkuuml satıcımız tuumlm şehirleri gezmeli ve her şehre yalnızca bir kez
uğramalıydı fakat ccedilaprazlama sonrası kromozomlarda bazı şehirlere hiccedil
gidilmemekte yada şehirlere uygun gelen duumlğuumlmlere iki kere başvurulmaktadır
Oumlrneğin ccedilaprazlama sonrası oluşan ilk kromozomumuza dikkat edecek olursak 3
5 ve 6 şehirlere hiccedil gidilmediğini ve 0 2 ve 7 şehirlere iki defa uğrandığını
goumlzlemleriz Boumlyle bir olumsuz durumda ikinci bir işleme gerek duyulur Yani
kısıtlamaları sağlamayan uygunsuz kromozomların standartlaştırılması
gerekmektedir Standartlaştırma iccedilin aşağıdaki basit kural uygulanabilir ldquoKromozom
iccedilinde tekrar eden ilk şehir ziyaret edilmeyen en kuumlccediluumlk numaralı şehir ile
değiştirilsinrdquo Bu standartlaştırma kuralı akla ilk gelen kurallardan biridir Herhangi
başka bir kural da standartlaştırma amacı iccedilin uygulanabilirdi Evrimsel programlama
boumlyledir hemen hemen her şey plansız programsızdır Tıpkı doğadaki evrim gibihellip
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
45
Sorunlu kromozomların standartlaştırılması ile şu sonucu elde ederiz Ccedilaprazlama
ve standartlaştırma sonrası durum
34156720
41027536
Boumlyle bir durumda ikili duumlzende kodlanmış olan kromozomların daha avantajlı
olabileceği goumlruumllmektedir Ancak ikili duumlzende kodlama da kromozomların ccedilok uzun
olması ya da problemin yapısına uygun olmaması gibi sorunlar ccedilıkabilmektedir
şimdi de Goldberg problemindeki gibi mutasyon operatoumlruumlne geccedilelim Ancak bu
rasgele seccedililen kromozomlar uumlzerindeki iki genin yerlerini değiştirmekle
gerccedilekleştirilir Rastgele olarak seccediltiğimiz 5 kromozomumuzun ikinci ve yedinci
genlerini seccediltiğimizi varsayalım Bu durumda mutosyandan oumlnceki durum
mutasyondan sonraki durum
60534217 67534210
4 ve 5 Yeni kromozomların amaccedil fonksiyonu değerlerinin bulunması ve koumltuuml
kromozomların populasyona ccedilıkartılması
Yeni oluşturulan fonksiyonların değerleri 2 adımda yapılanlara benzer olarak
hesaplanır Seccedilici bir model soumlz konusu ise bu adımdan sonra popuumllasyonun
iccedilindeki en koumltuuml değerli kromozom popuumllsayondan ccedilıkartılır
(2-3) arasındaki adımların tekrarı
Konunun başında optimizasyon problemlerinde optimuma her zaman
ulaşılamadığını ya da tuumlm olası sonuccedilların incelenmesini bilgisayarlarla dahi
muumlmkuumln olmadığını soumlylemiştik Burada anlatmaya ccedilalıştığımız Genetik
Algoritmalar Evrim Kuramını temel olarak bu tuumlr problemler iccedilin optimum sonuccedilları
ya da optimumlara yakın sonuccedilları elde etmek iccedilin kullanılmaktadır Oumlrneğin bu
youmlntemle 200ndash300 şehir iccedilin bile yaklaşık 20 dk iccedilinde optimuma ccedilok yakın sonuccedillar
elde edilebilmektedir
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
46
5Javarsquoda Basit Bir Genetik Algoritma Kodlaması
x^2 nin maksimum değerini simple genetik algoritma kullanarak Javarsquoda kodlayalım
Genetik algoritma diğer optimizasyon youmlntemlerinde olduğu gibi ccediloumlzuumlm iccedilin tek bir
yapının yerine boumlyle yapılardan meydana gelen bir kuumlme oluştururlar Problem iccedilin
olası pek ccedilok ccediloumlzuumlmuuml temsil eden bu kuumlmeye population (nuumlfus) deriz Nuumlfuslar
birey adı verilen dizilerden oluşurNuumlfus iccedilindeki her bireyin problem iccedilin ccediloumlzuumlm olup
olmayacağına karar veren bir uygunluk fonksiyonu (fitness function) vardır
Uygunluk fonksiyonu yuumlksek olan bireylere populasyondaki diğer bireyler ile
ccediloğalmaları iccedilin fırsat verilir Bu bireyler ccedilaprazlama (crossover) işlemi sonunda
ccedilocuk adı verilen yeni bireyler uumlretirler
Ccediloumlzuumlm adımlarımızı sıralarsak
1) Initialization
2) Evaluation
3) Selection
4) Crossover
5) Mutation
6) Repeat
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
47
6 GENETİK ALGORİTMA TABANLI PID KONTROLOumlR
SİMUumlLATOumlRUuml TASARIMI
Oumlzet
Sistem denetimi alanında PID (oransal-integral-tuumlrevsel) kontroloumlrler oumlnemli yer
tutmaktadır Sistemin zaman veya frekans boumllgesi verilerinden faydalanılarak
sistem oumlzelliklerine uygun belirli oumllccediluumltler altında bu tuumlr kontroloumlrlerin tasarımı iccedilin
Ziegler-Nichols Cohen-Coon Chien Hrones Reswick(CHR) Wang-Juang-Chan gibi
değişik youmlntemler mevcuttur
Bilgisayar ve yapay zekacirc alanındaki gelişmelere paralel olarak genetik algoritmaların
da kontrol sistemlerindeki uygulamaları artmaktadır Bu ccedilalışmada PID
kontroloumlrlerin tasarımları hem klasik youmlntemlerle hem de genetik algoritmalarla
gerccedilekleştirilerek karşılaştırmalı sonuccedillar analiz edilmiştir Bu doğrultuda eğitim
amaccedillı da kullanılabilecek grafiksel ara yuumlz programı tasarlanmıştır Program ile
transfer fonksiyonları girilen sistemler iccedilin uygun P PI ve PID kontroloumlr katsayıları
hem seccedililen klasik youmlntemlerle hem de genetik algoritmalarla hesaplanmakta
sisteme ait birccedilok parametre ve cevap eğrileri hem sayısal hem de grafiksel olarak
karşılaştırmalı sunulabilmektedir
GİRİŞ
Sistemlerin istenilen oumlzelliklerde ccedilalışmasını sağlayan kontroloumlrdenetleyici
devrelerinin analizi ve tasarımı kontrol teorisinin başlıca alanlarındandır Bu
alanda farklı yapı ve karakteristiklerde kontroloumlrler geliştirilmiştir Bunlardan
birisi de enduumlstriyel amaccedillı en ccedilok kullanılan temel PID (oransal-integral-
tuumlrevsel) kontroloumlr yapısıdır Girişin oran-integral-tuumlrev değerlerini veveya
bunların kombinasyonlarını alarak sistemlerin denetlenmesini sağlayan bu tip
kontroloumlrler genel haliyle P PI PD ve PID olarak kullanılmaktadır PID
kontroloumlrlerin parametreleri hem deneysel hem de analitik olarak elde
edilebilmektedir Ayrıca tasarım aşamaları fazla işlemler iccedilermemektedir Bu
nedenle enduumlstriyel uygulamalarda yaygın olarakkullanılmaktadırlar
PID kontroloumlrlerin tasarımları iccedilin değişik youmlntemler mevcuttur Ziegler-Nichols
Cohen-Coon Chien Hrones Reswick Wang-Juang-Chan youmlntemleri en ccedilok
bilinenleridir Bu youmlntemlerde sistemin zaman veya frekans boumllgesi
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
48
cevaplarından faydalanılarak farklı oumllccediluumltlere goumlre uygun kontroloumlr katsayıları
belirlenebilmektedir
Teknolojideki gelişmelere paralel olarak bilgisayar destekli analiz ve tasarımlar
kontrol sistemlerinde de yoğun şekilde kullanılmaktadır Bu alanda yapay zekacirc
tekniklerinden de yuumlksek oranda faydalanılmaktadır Kullanılan yapay zekacirc
tekniklerinden birisi de genetik algoritmalardır
Bu ccedilalışmada eğitim amaccedillı da kullanılabilecek bir PID simuumllatoumlr programı
geliştirilmiştir Program ile kullanıcıoumlğrencinin tanımladığı geri beslemeli
sistemler iccedilin seccedililen klasik tasarım youmlntemleri ve genetik algoritmalar ile
istenilen kontroloumlrler tasarlanabilmektedir
Tasarlanan kontroloumlrlere goumlre sistem parametreleri zaman domeni cevap
eğrileri veya frekans domeni diyagramları da karşılaştırmalı olarak kullanıcıya
sunulmaktadır Boumlylece kullanıcılaroumlğrenciler parametrelerin etkilerini
inceleyebilmekte performans analizlerini yapabilmekte ve kullanım alanlarına
(amaccedillarına) uygun PID kontroloumlr tasarımlarını gerccedilekleyebilmektedirler
61PID KONTROLOumlRLER VE TASARIM YOumlNTEMLERİ
611 PID Kontroloumlrler
Enduumlstriyel alanda ccedilok kullanılan PID kontroloumlruumln genel yapısı Şekil 24rsquode
verilmektedir PID kontroloumlruumln girişindeki hata (referans ile geribesleme
arasındaki fark) işareti e(t) ve ccedilıkışındaki kontrol işareti d(t) ise suumlrekli ve ayrık
zaman domenindeki matematiksel ifadeleri
d(t) 119896119901 ( e(t) + 1
119879119894 int 119890(119879) 119889119905 + 119879119889
119905
0
119889
119889119905 119890(119905) ) (1)
d[n] = 119870119888 ( e[n] + 119879119904
119879119894 int = 0 119890[119894] +
119879119889
119879119904
119899
119894 (119890[119899] minus 119890[119899 minus 1]) ) (2)
şeklindedir (1-2) eşitliklerinde integral
ௗ tuumlrev ve
௦ oumlrnekleme zamanıdır
Zaman domeninde
d(t) = 119870119875 119890(119905) + 1198701 int 119890(119879) 119889119903 + 119870119889119905
0
119889
119889119905 119890(119905) (3)
ile ifade edilen PID kontroloumlruumln s- domenindeki transfer fonksiyonu
119866119888 (119878) = 119870119901 +1198701
119904+ 119870119889119904
Veya (1) ile verilen eşitliğe goumlre
119866119862(S) = 119870119901 (1 +1
119879119894119878+ 119879119889 119904)
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
49
Olarak elde edilmektedir
Şekil 24Geri beslemeli kontrol sistemi ve PID kontroloumlr
Herhangi bir kontrol sisteminin genel olarak amacı denetlediği sistemi kısa suumlrede
verilen referans değerde ccedilalıştırmak (referans değere getirmek) yani hemen cevap
vererek kararlı halde hatasız ccedilalışmasını sağlamaktır Bu nedenle kontroloumlrlerin
tasarımı oumlnemli yer tutmaktadır Şekil 25rsquodeki oumlrnek sistem uumlzerinde PID kontroloumlr
katsayılarının etkileri Tablo 1rsquode verilmektedir Tablo 9rsquodeki birim basamak cevapları
incelendiğinde oran integral ve tuumlrev parametrelerinin (kontroloumlrlerinin) etkileri Tablo
10rsquodeki gibi oumlzetlenebilmektedir
Şekil 25Negatif geribeslemeli PID kontroloumlrluuml oumlrnek sistem
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
50
Ccedilizelge 9 Oumlrnek sistemin değişik PID parametrelerindeki birim basamak cevapları
Ccedilizelge 10PID kontroloumlr parametrelerin sistem cevabına olan etkileri
Oransal (P) (119922119953)
İntegral (I) (119922120484)
Tuumlrevsel (D) (119870119863)
Yuumlkselme zamanı azalır
Azalır (az)
Az etki
Aşım değeri artar
artar
Azalır
Yerleşme zamanı Artar(az)
artar
azalır
Kararlı hal hatası azalır
Azalır (ccedilok)
Az etki
62 PID Kontroloumlr Tasarım Youmlntemleri
PID kontroloumlr parametrelerinin belirlenmesihesaplanması iccedilin Ziegler-Nichols
CohenCoon Chien Hrones Reswik (CHR) Wang-Juang-Chan gibi değişik
youmlntemler mevcuttur
621 Ziegler-Nichols youmlntemi
PID kontroloumlr tasarımında en ccedilok kullanılan youmlntemlerden birisi Ziegler-Nichols
youmlntemidir 1942 yıllarında JG Ziegler ve NB Nichols tarafından oumlnerilen bu
youmlntemde PID katsayıları basamak veya frekans cevabı verilerinden
hesaplanabilmektedir (Ziegler ve Nichols 1942) PID katsayılarının Nyquist frekans
cevabından elde edilmesi Ziegler-Nichols osilasyon youmlntemi ve birim basamak
cevabından elde edilmesi de Ziegler-Nichols reaksiyon eğrisi youmlntemi olarak da
adlandırılmaktadır
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
51
622 Cohen-Coon youmlntemi
Ziegler-Nichols reaksiyon eğrisi youmlntemindeki gibi sistemin basamak cevabından
faydalanılarak PID kontroloumlr katsayıları Ccedilizelgedeki eşitlikler kullanılarak
hesaplanabilmektedir
623 Wang-Juang-Chan youmlntemi
Daha oumlnceden bahsedilen youmlntemlerde olduğu gibi ve ܮ parametrelerinin
bilinmesi durumunda Wang-Juang-Chan youmlnteminde PID katsayıları Tablodaki
eşitliklerle hesaplanmaktadır
63 GENETİK ALGORİTMALAR
Evrimsel hesaplamanın parccedilası olan genetik algoritmalar ilk defa 1975 yıllarında
John Holland tarafından geliştirilmiş ve kullanılmıştır (Holland 1975) Bu
algoritmaların temeli doğadaki evrimbiyolojik suumlrece (guumlccedilluumliyi olan nesillerin yeni
şartlara uyum sağlayarak yaşamlarını suumlrduumlrmeleri zayıfkoumltuuml olanların hayatta
kalamamaları) dayanmaktadır Genetik algoritmalar ilgili suumlrecin modellenmesiyle
ortaya ccedilıkan iterasyonlu ve olasılıklı bir ccediloumlzuumlm youmlntemidir
Ccediloumlzuumlm iccedilin rastlantısal arama tekniklerini kullanan ve parametre kodlama esasına
dayanan sezgisel bir youmlntem olan genetik algoritmalar birccedilok alandaki optimizasyon
problemlerinin ccediloumlzuumlmuumlnde makine oumlğrenmesinde bilgi sistemlerinde vb
kullanılmaktadır
Ccedilizelge 11 Wang-Juang-Chan youmlntemiyle PID katsayılarının elde edilmesi
119870119901 119879İ 119879119889
PID
(07303+05307119879
119871)(05L+T)
05L+T
05119871119879
05119871 + 119879
K(L+T)
Genetik algoritmalar ile ccediloumlzuumlm aşamaları aşağıdaki gibi oumlzetlenebilir
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
52
iBaşlangıccedil popuumllasyonunu oluşturma İlgili problemin olabilecek ccediloumlzuumlmlerini
goumlsteren ve genelde rastgele olan bireylerden (kromozomlardan) bir başlangıccedil
popuumllasyonu (nesil) oluşturulur
ii Uygunluk değerlerini hesaplama Nesildeki her bir bireyin uygunluk değerleri
hesaplanır
iii Durdurma oumllccediluumltuuml sınaması
bull Sağlanmıyorsa yeni nesil oluşturma ve ikinci adıma doumlnme
bull Uygunluk değerlerine goumlre seccedilme Eski nesildeki her bir bireyin hesaplanan
uygunluk değerlerine goumlre seccedilme işlemi yapılır
bull Seccedililen bireyleri uygunlaştırma Seccedililen bireyler genetik işlemlerle
(ccedilaprazlama mutasyon vb) uygunlaştırılır
bull Sağlanıyorsa en uygun ccediloumlzuumlmuuml seccedilme Popuumllasyonda hesaplanan uygunluk
değerlerine goumlre en iyi birey (kromozom ccediloumlzuumlm) seccedililir
bull Oumlzetle genetik ccedilevrim en iyi uygunluk değerine sahip birey bulununcaya kadar
devam eder
7PID SİMUumlLATOumlR
Bu ccedilalışmada kullanıcı tarafından tanımlanan geribeslemeli sistemler iccedilin
otomatik olarak uygun PID kontroloumlr tasarımı gerccedilekleştiren yazılım
geliştirilmiştir MATLAB (Mathworks 2007) ortamında tasarlanan ve eğitim
amaccedillı kullanılabilecek olan etkileşimli PID simuumllatoumlr programıyla uygun P PI ve
PID kontroloumlr katsayıları klasik youmlntemler (Ziegler-Nichols CohenCoon Chien-
Hrones-Reswick ve Wang-Juang-Chan) ve genetik algoritmalarla elde
edilmektedir
Programın
ldquoDosyardquo menuumlsuumlyle Tanımlanan sistemler iccedilin yeni tasarımlar
gerccedilekleştirilebilmekte sonuccedillar kaydedilebilmekte veya yazdırılabilmektedir
ldquoYoumlntemrdquo menuumlsuumlyle Kontroloumlr tasarım youmlntemi seccedililebilmektedir
ldquoAyarlarrdquo menuumlsuumlyle Tasarımda kullanılacak genetik algoritmaların
oumlzelliklerioumllccediluumltleri belirlenmektedir
ldquoYardımrdquo menuumlsuumlyle Program hakkında kullanım ve yardım bilgileri
edinilebilmektedir
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
53
Giriş ekranından bu ekranda denetlenecek olan sistemin ve geribesleme
yolunun transfer fonksiyonu s- domeninde girilmekte ve aynı zamanda
geribesleme tuumlruumlnuumln pozitif veya negatif oluşu da girilen ldquo+rdquo veya ldquo-rdquo
sembolleriyle belirtilmektedir Bu veriler doğrultusunda ldquoTanımlardquo butonuyla
sistem tanımlanarak P PI ve PID onay kutucuklarıyla istenilentasarlanacak
kontroloumlr tuumlruuml seccedililmektedir ldquoYoumlntemrdquo ve ldquoAyarlarrdquo menuumllerinden ilgili klasik
tasarım youmlntemi belirlenip genetik algoritma seccedilenekleri duumlzenlenerek
ldquoTasarlardquo butonu ile tasarım işlemi gerccedilekleştirilmektedir Geliştirilen
program hem seccedililen klasik youmlntemle hem de genetik algoritma ile elde
edilen kontroloumlr katsayılarını listelenmektedir Ayrıca tuumlm sisteme ait birccedilok
oumlnemli parametre (sistemin sıfırları ndash kutupları ndash soumlnuumlm faktoumlrleri ndash doğal
frekansları ve DC kazanccedilları) karşılaştırmalı olarak goumlsterilmektedir Ayrıca
ldquoSistem cevaplarırdquo menuumlsuumlnden seccedilim yapılarak kontroloumlrsuumlz klasik
youmlntemle tasarlanan kontroloumlrluuml genetik algoritmalarla tasarlanan kontroloumlrluuml
ve her uumlccediluumlnuumln de karşılaştırmalı birim basamak birim duumlrtuuml (impulse)
kullanıcı tarafından tanımlanan oumlzel işaret cevapları Bode Nyquist Nichols
diyagramlarıyla koumlklerin yer eğrileri ccedilizdirilebilmektedir Boumlylece cevap
eğrileri uumlzerinde kullanıcıoumlğrenci zaman domeninde yuumlkselme ve yerleşme
zamanlarını aşım kararlı durum gibi değerleri karşılaştırmalı olarak
goumlrebilmektedir Aynı zamanda diyagramlarla da frekans domeni oumlzelliklerini
inceleyebilmektedir
71PID SONUCcedilLARI
Gerccedilekleştirilen ccedilalışmada PID kontroloumlr tasarımları ve eğitimlerinde
kullanılabilecek bir simuumllatoumlr programı geliştirilmiştir Program ile geribeslemeli
sistemler iccedilin P PI ve PID kontroloumlrler klasik (Ziegler-Nichols Cohen-Coon Chien
Hrones Reswick Wang-Juang-Chan) youmlntemler ve genetik algoritmalar ile
tasarlanabilmektedir Tasarım sonucu ilgili kontroloumlr katsayıları ve sisteme ait birccedilok
parametre karşılaştırmalı olarak elde edilebilmektedir Ayrıca tasarlanan
kontroloumlrlere goumlre sisteme ait zaman ve frekans boumllgesi cevaplarıeğrileri yine
karşılaştırılmalı olarak kullanıcıya sunulmaktadır Aynı zamanda parametre
değişiklikleri yapılarak sisteme etkileri incelenebilmektedir Boumlylece istenilen
sistemler iccedilin PID tuumlruuml kontroloumlrlerin tasarımı etkin bir şekilde hızlı ve kolaylıkla
gerccedilekleştirilebilmektedir
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
54
8OumlRNEKLER
bull xisin[015] olmak uumlzere f(x)=xsup2 fonksiyonun verilen aralıkta maksimizasyonu
yapılması istenmektedir
ndash İkili Kodlama
ndash Toplumun birey sayısı n=4
bull Birey 1 1101 x = 13 xsup2 = 169
bull Birey 2 0100 x = 4 xsup2 = 16
bull Birey 3 1011 x = 11 xsup2 = 121
bull Birey 4 1000 x = 8 xsup2 = 64
OumlRNEK II
ndash Rulet ccedilemberi seccedilimi
bull Birey 1 169370= 46
bull Birey 2 16370= 4
bull Birey 3 121370= 33
bull Birey 4 64370= 17
ndash Eşleşme
bull Aday 1 1101 (Birey 1)
bull Aday 2 0100 (Birey 2)
bull Aday 3 0100 (Birey 2)
bull Aday 4 1000 (Birey 4)
OumlRNEK III
ndash Yeni toplum
bull Birey 1 1100 x = 12 xsup2 = 144
bull Birey 2 0101 x = 5 xsup2 = 25
bull Birey 3 0010 x = 2 xsup2 = 4
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
55
bull Birey 4 1100 x = 12 xsup2 = 144
Tek bir iterasyon yapılmış ve başlangıccedil toplumundan
bir sonraki kuşak oluşturulmuştur
OumlRNEK IV
Bir Accedilıklayıcı Oumlrnek ndash GA Nasıl Ccedilalışır
X parametresinin 0 ve 15 arasında değişken olduğu (15x-1199092) fonksiyonun
maksimum değerini bulalım Kolaylık iccedilin biz x‟i sadece integer değerlerden
alacağız Boumlylece kromozomlar doumlrt bit‟ le ifade edilebilir
Ccedilizelge 11Kromozomların bitle ifade edilişi
Integer Binary
code
Integer Binary
code
Integer Binary
code
1 0001 6 0110 11 1011
2 0010 7 0111 12 1100
3 0011 8 1000 13 1101
4 0100 9 1001 14 1110
5 0101 10 1010 15 1111
Farz edelim ki kromozom popuumllasyon boyutu 6 ccedilaprazlama olasılığı 07 ve
mutasyon olasılığı 0001 dir( seccedililen bu olasılıklar GAlarda yeterince tipiktir)
Uygunluk fonksiyonu şoumlyle tanımlanır
f(x) = 15x ndash 1199092
GA rasgele bir şekilde uumlretilen birler ve sıfırlarla altı adet 4-bit string ile doldurularak
kromozomların başlangıccedil popuumllasyonunu oluşturur Başlangıccedil popuumllasyonu Tablo
11 de goumlsterilen gibi goumlruumlnebilir (Gerccedilek pratik bir problem tipik olarak binlerce
koromozomlu bir popuumllasyona sahip olacaktır)
Sonraki adım her bir birey kromozomun uygunluğunu hesaplamaktırBu durumda
başlangıccedil populasyonunun ortalama uygunluğu 36 dır Bunu geliştirmek iccedilin
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
56
başlangıccedil popuumllasyonu genetik operatoumlrler kullanılarak değiştirilir Seccedilim
Ccedilaprazlama ve Mutasyon
Ccedilizelge 12Rasgele bir şekilde uumlretilen başlangıccedil kromozomlarının popuumllasyonu
Choromose
label
Choromose
string
Decoded
integer
Choromose
fitness
Fitness
Ratio
Cuoumlulative
ratio
1199091 1100 12 36 165 165
1199092 0100 4 44 202 367
1199093 0001 1 14 64 431
1199094 1110 14 14 64 495
1199095 0111 7 56 257 752
1199096 1001 9 54 248 1000
Doğal seccedililimde sadece en uygun tuumlrler hayatta kalabilir uumlreyebilir ve sonraki nesle
onların genleri ile geccedililebilir GA lar benzer bir yaklaşım kullanır Fakat doğadan
farklı bir şekilde kromozom popuumllasyonunun boyutu bir nesilden sonrakine
değiştirilmemiş kalır
Tablo 12 deki son kolon popuumllasyonun toplam uygunluğuna bireysel kromozomların
uygunluk oranını goumlsterir Bu oran eşleşme iccedilin kromozomların seccedililme şansını
tanımlar Boumlylece x3 ve x4 kromozomlarının ccedilok duumlşuumlk bir seccedililme olasılığı varken
x5 ve x6 kromozomlarının yeterli şansı vardır
Seccedilim
Eşleşme iccedilin bir kromozom seccedilminde rulet tekerleği seccedilimi tekniğini kullanarak
[0100] aralığında rasgele bir sayı uumlretilir ve kuumlmuumllatif oranının rasgele sayıyı iccedilerdiği
kromozom seccedililir Bu uygunluklarıyla orantılı olarak tekerlek uumlzerinde bir alana
sahip her bir kromozomun yer aldığı bir tekerleğin doumlnmesi gibidir Oumlrneğimizde biz
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
57
altı kromozomlu bir başlangıccedil popuumllasyonuna sahibiz Boumlylece sonraki nesilde aynı
popuumllasyon boyutunu kurmak iccedilin altı rasgele sayı uumlretilecektir(bu rulet
tekerleğinin altı kez doumlnmesi gibidir) İlk iki doumlnme x6 ve x2 ebeveyn olmak iccedilin
seccedilebilir ikinci doumlnme ccedilifti x1 ve x5 kromozomlarını seccedilebilir ve son iki doumlnuumlş x2 ve
x5 kromozomlarını seccedilebilir
Ccedilaprazlama
Bir ccedilift ebeveyn kromozom seccedilildikten sonra ccedilaprazlama operatoumlruuml uygulanır
Oumlncelikle ccedilaprazlama operatoumlruuml rasgele bir şekilde iki ebeveyn kromozomu kıracak
ve bu noktadan sonra kromozomların parccedilalarını değiştirecek bir ccedilaprazlama
noktası seccediler Sonuccedil olarak iki yeni yavru oluşturulur
Mesela iki kromozom x6 ve x2 ikinci genden sonra ccedilaprazlanabilir Her biri iki yavru
uumlretir Aşağıdaki gibi goumlsterilir
1199096
1199092
Ebeveynler Ccedilocuklar
Eğer bir ccedilift kromozom ccedilaprazlanmazsa yavrular bireylerin tam kopyası olarak
oluşturulur 07 ccedilaprazlama olasılığı genellikle iyi sonuccedil uumlretir
1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 1
1199096prime
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
58
Mutasyon
Doğada nadiren olan Mutasyon gendeki bir değişikliği temsil eder Bu uygunlukta
oumlnemli bir gelişmeye neden olabilir Fakat ccediloğunlukla oldukccedila faydalı sonuccedilları
vardır Mutasyonun roluuml arama algoritmasının bir local optimuma takılmamasının
garantisini sağlamaktır Seccedilim sırası ve ccedilaprazlama operatoumlrleri herhangi bir
homojen ccediloumlzuumlm kuumlmesinde durgunlaşabilir Boumlyle şartlar altında tuumlm kromozomlar
oumlzdeştir ve bu yuumlzden popuumllasyonun ortalama uygunluğu geliştirilemeyebilir Ccediloumlzuumlm
sadece optimal ( veya local olarak oldukccedila optimal) olmak goumlruumlnebilir Ccediluumlnkuuml arama
algoritması daha fazla ilerlemeyebilir Mutasyon rasgele bir aramaya eşdeğerdir ve
genetik farklılıkların kaybının korunmasında bize yardım eder Mutasyon operatoumlruuml
bir kromozomda rasgele bir şekilde seccedililen geni ccedilevirir Mesela aşağıda goumlsterildiği
gibi x1‟ ikinci geninde ve kromozom x2 de uumlccediluumlncuuml geninde mutasyona uğratılmış
olabilir
1199091prime
1199092
Parents Children
Mutasyon bazı olasılıklı kromozomda herhangi bir gende meydana gelebilir
Mutasyon olasılığı doğada oldukccedila kuumlccediluumlktuumlr ve GAlarda oldukccedila kuumlccediluumlk tutulur Tipik
olarak 0001 ile 001 aralığında Genetik algoritmalar popuumllasyonun ortalama
uygunluğunun suumlrekli geliştirilmesini
temin eder ve bir nesil sayısından sonra (tipik olarak birkaccedil yuumlz) popuumllasyon bir
yakın-optimal ccediloumlzuumlmuuml geliştirir Oumlrneğimizde son ccediloumlzuumlm
sadece ve kromozomlarından oluşur
Bu f(x) = 15x ndash 1199092= 56 dır
Bu oumlrnekte problem sadece bir değişkene sahiptir Ccediloumlzuumlmuumlnuuml goumlstermek kolaydır
1 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 1 1
1 0 0 0
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
59
9 SONUCcedilLAR
Evrimin modellenmesiyle birlikte Genetik algoritmaların ele alınmaları ccedilok yakın
tarihe dayanmaktadır Son zamanlarda bu konu ile ilgili ccedilalışmalar oldukccedila
artmaktadır Bilgisayar teknolojisindeki gelişmelere paralel olarak GA‟ların pratikte
uygulanabilirliği artmıştır Her geccedilen guumln GA‟nın adına yeni sempozyumlar
duumlzenlenirken yeni uygulama alanlarına tatbik edildiği de goumlruumllmektedir GA nın
geliştirilmesi alanında hibridizasyon parametrelerin optimal seccedilimi ve adaptasyonu
gibi konularda araştırmalar devam etmektedir(Wurtz 1997) İlk boumlluumlmde de
anlatıldığı gibi klasik metotlar bazı sınırlamalara sahiptir Bu metotlardaki ciddi
sınırlamalardan biri optimizasyon algoritmasının seri ccedilalışmasıdır GA‟da ise PC‟leri
paralel ccedilalıştırılarak hızlı sonuccedillar elde edilebilir Birkaccedil tane algoritmanın aynı anda
ccedilalıştırılması ve popuumllasyonları arasında goumlccedil olabilmesi paralel işlemcilerle yapılır
Buna ek olarak popuumllasyondaki fertlerin maliyet değerleri aynı anda hesaplanarak
GA‟nın yakınsaması hızlandırılır GA karar mekanizmasında kullanılabilir mi sorusu
sorulduğunda suumlbjektif maliyet fonksiyonlu GA akla gelmektedir Bu algoritma
market stoklarının değerlendirilmesi savaşta askeri stratejilerin geliştirilmesi gibi
karar organlarında kullanılabilir
GA geccedilici bir heves veya bir moda olmayıp uzun suumlre guumlndemde kalacak
biryoumlntemdir Tabiatın hesaplama algoritmaları iccedilin iyi bir model olduğu
bilinmektedirBuumltuumln bunlardan sonra tabiatta iyilikler ve guumlzellikler azalmaktadır ve
belki belli birmuumlddet sonra tabiatta global optimuma ulaşacaktır
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr
60
KAYNAKCcedilA
wwwhorozerkcom (Bahar 2006)
httpcompehkuedutr
wwwbiyologlarcom
httpwwwslideshorenet (İsmail Akbudak)
httpdocsliteorg (Uludağ Uumlniversitesi)
wwwbulentsiyahcom
wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)
wwwahmetcevahircinarcomtr