3. 2
1.Giriş
1.1.Tarih
Price ve Storn tarafından1995 yılında geliştirilmiş,özellikle sürekliverilerinsözkonusuolduğu
problemlerde etkinsonuçlarverebilen,isleyişve operatörleri itibariylegenetikalgoritmayadayanan
populasyontemelli sezgisel optimizasyontekniğidir.
1.2.Diferansiyel Gelişim Algoritma Yapısı
Klasikikili GA’danfarklıolarakdeğişkenlergerçekdeğerleriyletemsil edilmektedir.GA’dada gerçek
değerlerle kodlamakullanılmaktadır.AncakPrice ve Storn genetikoperatörlerdekibirtakım
değişikliklerle,gerçekdeğerlerle kodlamanınkullanıldığıproblemlerinçözümperformansını
arttırmaya çalışmışlardır.
GA’ daki çaprazlama,mutasyonve seçimoperatörleriDGA’dada kullanılmaktadır.Farklıolarakher
bir operatörtümpopulasyonasıraylauygulanmamaktadır.Kromozomlartektekele alınmakta,
rasgele seçilendiğerüçkromozomdakullanılarakyeni birbireyelde edilmektedir.Buişlemler
sırasında mutasyonve çaprazlamaoperatörleri kullanılmışolmaktadır.Mevcutkromozomlaelde
edilenyenikromozomunuygunluklarıkarsılaştırılarakuygunluğudahaiyi olan,yeni bireyolarakbir
sonraki populasyonaaktarılmaktadır.Böylelikle seçimoperatörüde kullanılmışolmaktadır.
DGA’ nın diğersezgisellereönemli birüstünlüğüde kolaycakodlanabilmesidir.Diğeralgoritmalariçin
binlerle ifade edilensatırdanoluşankodlarsözkonusuikenDGA içinyaklaşık20 satırlık kodyeterli
olmaktadır.
1.3. Kullanılan Alanlar
Ağ Topolojileri
Sinyal Kestirme
KontrolsüzSınıflandırma
4. 3
1.4.Özellikleri
Hızlı
Basit
Kolaycakullanılabilirve değiştirilebilir
Etkili global optimizasyonkabiliyetli
Doğal olarak paralel
Kayannokta formatınabağlı hassasiyetsınırlamalı
Hesaplamamaliyetidüşük(matrisçarpımıve sıralama yok)
Olasılıkdağılımlımutasyonyok
Tamsayı, ayrık ve karışık parametre optimizasyonunakolaycauyarlanabilir
Amaç ya da sınırlama fonk.türevlerineihtiyaçduymaz
Düz yüzeylerde çalışabilir
Gürültülüve zamanabağlı amaç fonk.içinkullanılabilir
Tekbir koşmadaçoklu(alternatif)çözümlerüretebilir
Özellikle doğrusal olmayansınırlamalıopt.problemlerindeetkilidir.
2.Algoritma
2.1 Kısaltmalar
5. 4
2.2 DGA Adımları
Algoritma:
Adım1(Başlatma):
Hedef seçimi yapılıp random olarak 2 değer ve random olarak mutasyona uğrayacak seçilir.
NP adet (3’ten büyük olmalı) D boyutlu kromozomdan meydana gelen başlangıç populasyonunun
üretimi aşağıdaki gibidir:
Adım 2(Mutasyon):
• Mutasyon,kromozomungenleriüzerinde rasgele değişiklikleryapmaktır.Budeğişiklikler
sayesinde kromozomununtemsil ettiği çözümnoktası,çözümuzayındahareketetmektedir.
Mutasyonunhedefine ulaşabilmesi için,doğruyönde doğrumiktardahareketisağlayacak
değişikliklerinbelirlenmesigerekmektedir.
• DGA’damutasyonatabi tutulacakolankromozomdışında ve birbirlerindenfarklıolanüç
kromozomseçilir(r1,2,3).İlkikisininfarkıalınırve F parametresiyleçarpılır.F genellikle 0-2
arasında değerleralmaktadır.Ağırlıklandırılmışfarkkromozomuile üçüncükromozom
toplanır.
6. 5
Adım3(Çaprazlama):
Çaprazlama,iki kromozomun(çözümün) birbirleri arasındagenalışverişindebulunupiki yeni
kromozomoluşturmasıdır.
Elde edilenfarkkromozomuve xi,G kromozomukullanılarakyenideneme kromozomu(ui,G+1) üretilir.
Deneme kromozomunagenlerCRolasılıklafarkkromozomundan1-CRolasılıklamevcut
kromozomdanseçilir. j = jrand koşulu,enaz birtane geninüretilenyenikromozomdanalınmasını
garanti etmekiçinkullanılmaktadır.
Adım4(Seçim):
Seçimoperatörüile mevcut jenerasyonve üretilenyenikromozomlardeğerlendirilerekyeni
jenerasyonoluşturulur.Kromozomlarınyeni jenerasyondayeralmaolasılıklarıuygunluklarına
bağlıdır. DGA’da karsılaştırma birebiryapıldığındanseçimiçinkarmaşıkprosedürüolanseçim
operatörlerineihtiyaçduyulmamaktadır.Karşılaştırılankromozomlardanuygunluğuyüksekolan
kromozomyeni jenerasyonunbireyiolarakatanmaktadır.
7. 6
Adım5(Sonlandırma):
DöngüG=Gmax olanakadar devamettirilmektedir.Gmax olduğundamevcuteniyi bireyçözümdür.
Algoritmanındurdurulmasıkriteri olarak,populasyondakieniyi ve enkötüuygunlukdeğerleri
arasındaki farkın çok küçükbirrakama ulaşmasıolarak da belirlenebilmektedir.
2.3 AlgoritmaYapısı Uygulama
Adım 1: Hedef Kromozom1 olarakseçilprandom olarakkromozom2 ve kromozom4 seçildi.
Mutasyonauğrayacak kromozom6 seçildi.Hedef kromozomdışındadiğerkromozomlarrandom
olarakseçilmiştir.
Adım 2: Rastgele seçilen2kromozomarasında farkvektörüuygulanır.Ve farkvektöründensonra
belirtilenfonksiyonileişlemekoyulur.Budurumdansonraağırlaştırılmış farkvektörüelde edilir.
8. 7
Adım 3: Ağırlaştırılmış farkvektörüile mutasyonauğrayacakkromozomtoplanırve farkvektörüelde
edilmişolur.
Adım 4: Toplamvektörüile hedef kromozom arasındarandomolarakçaprazlamaişlemi
gerçekleştirilir.
9. 8
Adım 5: Adım 4 te bulunanyeni kromozomile hedef kromozom randomkarşılaştırılıpyeni seçimelde
edilir.
10. 9
3.Gezgin Satıcı Uygulaması
Elazığ, İzmir, Ankara, İstanbul, Diyarbakır, Trabzon, Mersin, Erzurum, Kars, Edirne şehirlerinin
tümüne bir kere uğranılacaktır.
Aşağıda standart bir rotada başlangıç şehrinin değiştirilerek farklı sonuçlara varılmasıyla ilgili
olarak sayısal değerler çıkarılmıştır. Toplam maliyetler rota standarda yakın bir yapı teşkil
etmesine rağmen ciddi sayılabilecek değişikler göstermiştir. Öyle ki başlangıç şehrinin
İstanbul olmasıyla Diyarbakır olması Toplam maliyeti 1000 km’ye yakın bir fark olacak
düzeyde değiştirmiştir.
Sayısal Değerlerve ToplamMaliyetleraşağıdaki tablodagörülmektedir.
Tablodaki sayısal değerlere 4adımdanoluşanDiferansiyel GelişimAlgoritmasıuygulanılacaktır.
Algoritmayıtekrarhatırlamagerekirse yeni birtablooluşturmakiçinbazıbilgilergerekmektedir.
11. 10
Bilinmesi gerekenler:
1 SütunHedef SütunOlacaktır.
2 SütunRastgele Seçilecektir.
1 SütunMutasyonİçinSeçilecektir.
PopilasyonBoyutu[N]
ÖlçeklemeFaktörü[F]
AlgoritmikAkış İşlemakışı:
Popülasyonboyutu(N)=10olduğuiçin10 sütunudoldurmakiçin10 kere hedef sütun
birbirlerindenfarklıolacakşekilde algoritmauygulanılacaktır.Böylece yenioluşacakolan
tablodaki 10 sütundadolacakve toplammaliyetlerkıyaslanabilirhale gelecektir.
F=0.7 şeklindeşeçilecektir.
Dikkat Edilecekler:
Her döngüde seçilecekolanhedef sütun2rastgele sütunve mutasyonsütunubirbirlerinden
farklıolmalıdır.
F sabiti 0-2 aralığında olmalıdır.
5.Bölümde yeralanmatlabkodlarıçalıştırıldığında tüm satırları doldurulmuşolarakgelenyeni bir
mesafelermatrisi(tablosu)olduğugörülmektedir.
3.1 İNCELEME
NOT:Bu inceleme 10 kere gerçekleşen algoritmanın uygulanma tekrarının sadece 10.tekrarını ele alacaktır.
10.SütunuHedef
2. ve 4. SütunuRastgele Seçilen Sütunlar
7.SüyunuMutasyonUygulanılacakOlanSütunOlarakSeçilmiştir
F=0.7’dir ve Tüm sütunlarbirbirlerindenfarklıdır.
Şartlar sağlanmaktadır.
12. 11
Uygulanılacak Adımlar
BAŞLATMA Adım1:Hedef,Rastgele ve Mutasyon Sütunlarıbirbirlerinden farklı
olacak şekilde seçilecektir.
MUTASYON
Adım2:Rastgele sütunları birbirlerinden çıkarılarak fark vektörü adlı
yeni bir sütun oluşturulacaktır.
Adım3:Fark vektörü sütunu 0.7 olan ölçekleme sabiti(F) sabitle
çarpılalar ağırlaştırılmış fark vektörü sutünu oluşturulacaktır.
Adım4:Ağırlaştırılmış fark vektörü sütunu ile Mutasyon sütunu
toplanılarak gürültü sütunu oluşturulacaktır.
ÇAPRAZLAMA
Adım5:Oluşan Gürültü Sütünu ile Hedef Sütun Değerleri arasında
çaprazlama işlemi yapılarak(kibu aynısatırlardan ikisinden birinin
aktarılmasıolarak yorumlanmaktır.) ortaya bir deneme vektörü
çıkarılacaktır.
SEÇME
Adım6:Deneme vektöründekitüm değerler toplanılarak bir
deneme vektöründemaliyet satırı oluşturulmalıdır.
Adım7:Deneme vektöründebulunan maliyet satırıyla Hedef
vektördebulunan maliyet satırı kıyaslanılmalıdır veküçük olan
maliyete sahip olan vektör yeni tabloda hedef vektörün bulunduğu
alana konumlandırılmalıdır.
3.2 BAŞLATMA İŞLEMİ
Adım1:Hedef,Rastgele ve Mutasyon Sütunlarıbirbirlerinden farklı olacak
şekilde seçilecektir.
13. 12
3.3 MUTASYON İŞLEMİ
Adım2:Rastgele sütunları birbirlerinden çıkarılarak fark vektörü adlı yeni bir
sütun oluşturulacaktır.
Adım3:Fark vektörü sütunu 0.7 olan ölçekleme sabiti(F) sabitle çarpılalar
ağırlaştırılmış fark vektörü sutünu oluşturulacaktır.
14. 13
Adım4:Ağırlaştırılmış fark vektörü sütunu ile Mutasyon sütunu toplanılarak
gürültü sütunu oluşturulacaktır.
3.4 ÇAPRAZLAMA İŞLEMİ
Adım5:Oluşan Gürültü Sütünu ile Hedef Sütun Değerleri arasında çaprazlama
işlemi yapılarak(kibu aynısatırlardan ikisinden birinin aktarılmasıolarak
yorumlanmaktır.) ortaya bir deneme vektörü çıkarılacaktır.
15. 14
3.5 SEÇME İŞLEMİ
Adım6:Deneme vektöründekitüm değerler toplanılarak bir deneme
vektöründemaliyet satırı oluşturulmalıdır.
Adım7:Deneme vektöründebulunan maliyet satırıyla Hedef vektördebulunan
maliyet satırıkıyaslanılmalıdır ve küçük olan maliyete sahip olan vektör yeni
tabloda hedef vektörün bulunduğu alana konumlandırılmalıdır.
19. 18
end
end
deneme_vektor(1,1)= uint32(sum(deneme_vektor(2:11,1)));
if(deneme_vektor(1,1)<mesafeler(1,i))
yeni_mesafeler(:,i)=deneme_vektor(:,1);
else
yeni_mesafeler(:,i)=mesafeler(:,i);
end
end
6. Sonuç
Literatürde DGA ile ilgiliyapılmışolançalışmalarincelendiğinde,özellikle sürekliparametrelerinsöz
konusuolduğuproblemlerde oldukçabaşarılısonuçlarverdiği görülmüştür.Çalışmamızdada,
aşamaları ve çalışma prensipleri anlatılanDGA literatürdenalınanfarklıdoğrusal olmayan
optimizasyonproblemlerine uygulanmışve farklıgenetikalgoritmatiplerinegöre çokdaha iyi
sonuçlarürettiği görülmüştür.Özellikleparametrelerindoğruseçilmesiyle performansınoldukçaiyi
bir seviyeye gelebileceğianlaşılmaktadır.Parametre seçiminde literatürdenözellikleuygulama
alanına yönelikçalışmalardanfaydalanmak,ayrıcatestproblemleri üzerindedenemeleryaparakkarar
vermekgerekmektedir.Karşılaştırmayapılırkenilgilikaynaklardaki performanskriterleri kullanılmıştır.
Böyleliklefarklıparametreleraçısındanbirkarşılaştırmayapılmasınaimkanverildiği düşünülmektedir.
Bu çalışmada,dilimizdehakkındaoldukçasınırlıçalışmanınolduğuDGA tanıtılmaya,temel prensipleri
açıklanmayaçalışılmıştır. GA gibi basitbiryapıya sahipolanDGA, optimizasyonproblemlerine
kolaylıklauygulanabilir.Esnekyapısısayesinde farklıproblemlere adaptasyonudakolayolmaktadır.
Başlangıç çözümündenbağımsızlık,paralel aramave bununsonucuolarakhızlıbir şekildeçözüme
ulaşmaDGA nın GA ile ortakavantajlarındandır.DGA ayrıca sürekli değerlerinkullanıldığı
optimizasyonproblemlerine GA’ dandahaiyi sonuçlarüretmektedir.Yapılmışve halendevam
etmekte olançalışmalardaDGA’nınfarklı tipteki verilere (kesikli,sıralısayı sistemi gibi) de
uygulanabileceğini ve başarılıolabileceğinigöstermektedir.Parametre seçimi ve kısıtlıproblemlerin
kısıtsıza dönüştürülmesinde zorluklariçermesine rağmenDGA doğrusal olmayanoptimizasyon
problemlerinde oldukçabaşarılıdır.Performanslarıhergeçengünartan bilgisayarlar,iterasyonların
rahatlıklaarttırılmasına; böylelikle elde edilebilecekeniyi sonuçlarahızlıbirşekilde ulaşmayaimkan
tanımaktadır.