60
1 BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ DÖNEMİ BANDIRMA,2017 201410306014 ÖZNUR CENGİZ 150306024 HİLAL KOCA

BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 2: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 3: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 4: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 5: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 6: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 7: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 8: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 9: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 10: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 11: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 12: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 13: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 14: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 15: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 16: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 17: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 18: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 19: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 20: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 21: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 22: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 23: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 24: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 25: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 26: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 27: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 28: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 29: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 30: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 31: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 32: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 33: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 34: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 35: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 36: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 37: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 38: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 39: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 40: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 41: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 42: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 43: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 44: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 45: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 46: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 47: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 48: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 49: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 50: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 51: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 52: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 53: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 54: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 55: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 56: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 57: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 58: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 59: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

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

Page 60: BANDIRMA 17 EYLÜL ÜNİVERSİTESİ GENETİK ALGORİTMA GÜZ …°K-ALGORİTM… · için olası pek çok çözümü temsil eden bu küme genetik algoritma terminolojisinde nüfus

60

KAYNAKCcedilA

wwwhorozerkcom (Bahar 2006)

httpcompehkuedutr

wwwbiyologlarcom

httpwwwslideshorenet (İsmail Akbudak)

httpdocsliteorg (Uludağ Uumlniversitesi)

wwwbulentsiyahcom

wwwaborgtr (Muğla Sıtkı Koccedilman Uumlniversitesi)

wwwahmetcevahircinarcomtr