GENETİK ALGORİTMALARA GİRİŞ (VI) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü [email protected] Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620 Düzce
GENETİK ALGORİTMALARA GİRİŞ
(VI)
Nedim TUTKUN
Düzce Üniversitesi
Elektrik Elektronik Mühendisliği Bölümü
Düzce Üniversitesi
Elektrik&Elektronik Mühendisliği Bölümü
Konuralp 81620 Düzce
Bölüm Konu Başlıkları
• Kombinatoryal Optimizasyon
• Kısıtlı Optimizasyon
• Çok Amaçlı Optimizasyon
• Hibrit Optimizasyon
• Farklı Seçim Biçimleri
• Farklı Çaprazlama ve Mutasyon Biçimleri
2
Bazı problemleri çözmek için basit genetik algoritmalar kullanılabilir
ancak performansı artırmaya ve uygulanabilirlik aralığını genişletmeye
yardımcı olarak geliştirilmiş çok sayıda eklenti vardır. Bu eklentiler
içerisinde daha etkili çaprazlama ve seçim yöntemleri, yerel en uygun
değeri bulan algoritma tasarımı, kombinatoryal optimizasyon teknikleri,
çok kıstaslı problemleri çözecek teknikler ve GA’nın gücü ile geleneksel
arama tekniklerinin hızını birleştirecek hibrit algoritmalar içermektedir.
Burada bu eklentilerin hepsi açıklamak yerine kısaca özetlenecektir. Ek
bilgiler için okuyucular bazı referans kaynaklara bakabilirler. Bunlara ek
olarak tekniklerin bazıları daha ayrıntılı olarak açıklanmış ve muhtelif
problemlere uygulanmıştır.
3
Giriş
Bir çok problem için gerçek değerli parametrelerin optimizasyonu
gerekmezken klasik örnek Gezgin Satıcı Probleminde (GSP) olduğu
üzere ideal sıralama listesine ihtiyaç duyar. GSP’de hayali bir satıcı
için bir çok şehir arasındaki en kısa yol bulunmaya çalışılmaktadır.
Kurallar tipik olarak satıcının hiç bir şehre bir defadan fazla
uğramayacağını ifade etmektedir. Kombinatoryal problemlerin diğer
örnekleri gaz ve su boru hattı yerleşimi, yapısal tasarım, iş
planlaması ve zaman planlaması olarak verilebilir. Bu tür problemleri
çözmek için etkin algoritmalar bulmaya çabalayan bir çok çalışma
yapılmıştır.
4
Kombinatoryal Optimizasyon
Şimdiye kadar açıklandığı kadarıyla GA’nın böyle bir probleme
uygulanmasında esas sorun çaprazlama ve mutasyonun mümkün
olmayan turları oluşturma potansiyelidir.. Bunun niçin böyle olduğunu
anlamak için şekilde verilen GSP’yi ele alalım. Burada a’dan h’ye
isimlendirilmiş ve bir düzlemde rastgele olarak dağıtılmış 8 şehir
olsun. Aşağıda verilen çizelgede her şehir arasındaki görece mesafe
gösterilmiştir.
5
Kombinatoryal Optimizasyon
6
Kombinatoryal Optimizasyon
h
g f
e
c
d
a
b
GSP: 8 şehir arasındaki en kısa seyahat mesafesi nedir?
7
Kombinatoryal Optimizasyon
Şehir a b c d e f g h
a 0 17 27 73 61 57 51 23
b 17 0 37 73 72 74 66 40
c 27 37 0 48 35 49 65 50
d 73 73 48 0 47 82 113 95
e 61 72 35 47 0 38 80 78
f 57 74 49 82 38 0 48 65
g 51 66 65 113 80 48 0 40
h 23 40 50 95 78 65 40 0
Şekil: Şehirler arasındaki km cinsinden mesafe.
Örnek bir tur şu şekilde olabilir.
b c d e g h f a
Başka bir örnek.
c b g f a d e h
Eğer tek nokta çaprazlama doğrudan bu rotaları ortadan kesecek
şekilde uygulanırsa sonuç aşağıdaki gibidir.
b c d e | g h f a
c b g f | a d e h
b c d e a d e h
c b g f g h f a
8
Kombinatoryal Optimizasyon
9
Kombinatoryal Optimizasyon
GSP: b c d e g h f a rotası.
10
Kombinatoryal Optimizasyon
GSP: c b g f a d e h rotası.
11
Kombinatoryal Optimizasyon
GSP: b c d e a d e h rotası.
Bu rotaların hiçbiri tamamlanmış bir rotayı göstermemektedir.
12
Kombinatoryal Optimizasyon
GSP: c b g f g h f a rotası.
Bu rotaların hiçbiri tamamlanmış bir rotayı göstermemektedir.
Tam bir turu oluşturabilecek çaprazlama operatörü nasıl
tasarlanmalıdır? Turları göstermek için kullanılan stringlerin
uzunlukları sabit kalırsa bu aynı zamanda her şehrin sadece bir kere
ziyaret edilmesi anlamına gelir. Böyle bir operatör oluşturmanın
birçok yolu vardır. Bunun için eskiden olduğu gibi çaprazlama
uygulamanabilir ve daha sonra tamamlanmayan rotalar iptal edilir.
Ancak bu çok sayıda turun iptalini gerektirir ve görece olarak daha
faydalı bir algoritma düşünmek uygun olacaktır. Bir olasılık ise
(Partially Matched Crossover) Kısmi Eşlemeli Çaprazlama’dır.
13
Kombinatoryal Optimizasyon
Yukarıda tarif edilen GSP stringlere gerçek değerli optimizasyon
problemlerine uymak için kullanılan stringlere nazaran farklı özellikteki
stringleri verir. Bir elemanın konumu ve değeri önemli değildir. Gerçekte
ise önemli olan sadece GSP içerisindeki sıralamadır. İdeal olarak yeni
çaprazlama ve mutasyon operatörleri sadece olası rotaları seçmekle
kalmayıp aynı zamanda daha iyi rotaları bulmak için ebeveynlerin
ortalama üzerindeki uygunluk değerlerinden gelen yapı bloklarını
birleştirebilirler. PMX basit bir şekilde gerçekleşir: ebeveynler daha
önceki gibi seçilir; iki çaprazlama noktası rastgele seçilir (eşleşme
bölmesi olarak tanımlanır), sonra iki yeni string oluşturmak için
değiştirme operatörleri uygulanır.
14
Kombinatoryal Optimizasyon
Daha önce tanımlanan rotalara geri dönülürse ve rastgele iki kesme
noktası seçilirse:
rota 1 = b c / d e g / h f a
rota 2 = c b / g f a / d e h
Önce orta bölümün tamamı veya eşleşen bölüm takas edilir:
rota 1' = b c / g f a / h f a
rota 2' = c b / d e g / d e h
Bu rotaların hiçbiribi olası rota değildir. 1' no’lu rotada d ve e
bulunmamaktadır ve 2' nolu rotada a ve f şehirleri ziyaret
edilmemiştir.
15
Kombinatoryal Optimizasyon
Stringler sabit uzunlukta olduğundan, her iki turda bazı şehirlere bir
kereden fazla ziyaret edilmiştir. 1' no’lu rotada a ve f, 2' no’lu rotada
d ve e 3 iki kere ziyaret edilmiştir. 1' no’lu rotada a ve f iki defa
ziyaret edilmiş, 2' no’lu rota ise d ve e şehirlerini iki kez ziyaret
etmiştir. Yapılan tanım gereği bu tekrarların biri eşleşme kısmında,
diğeri ise bu kısımda değildir. Yine tanım gereği bir rotada iki kere
ziyaret edilen bir şehir diğer rotada olmayacaktır. Bu ileriye giden
yöntem önermektedir. Bir rotada iki kez ziyaret edilen bir şehir diğer
bir rotada iki kez ziyaret edilen şehirler ile karşılıklı değiştirilebilir. Tek
bir gösterimde (eşleştirme kısmında olmayan) şehirler takas edilmiş
olup, aksi takdirde işlem döngüsel ve tamamlanmamış olacaktır.
16
Kombinatoryal Optimizasyon
Sadece böyle şehirlerin tek gösterimi (eşleştirme kısmında olmayan)
takas edilir, aksi takdirde süreç döngüsel ve yıkıcı olacaktır. Bu
örnekte, rota 1' de eşleşme kısmının dışında kalan a rota 2' deki d
ile, benzer şekilde f ve e şehirleri de karşılıklı yer değiştirir. Her iki
rota tamamlandıklarında bu şekildedir:
rota 1'' = b c g f a h e d
rota 2" = c b d e g a f h
PMX BGA içinde Pm değerini sıfırlayarak ve çaprazlama
operatöründe uygun değişiklikler yaparak uygulamak görece
kolaydır.
17
Kombinatoryal Optimizasyon
Çoğu optimizasyon problemlerinde amaç en iyi çözümü elde
etmektir. Bu eğer bulunabilirse global optimum olabilir ya da problem
çok büyük ve zor ise global optimum noktaya yakın civarda bir nokta
olabilir. Ancak bazı problemler tek bir çözümden ziyade bir dizi
seçenek arama ile karakterize edilir. Global optimumdan belli bir
mesafede duran bu seçenekleri içeren problemler özellikle ilgi
çekicidir. Bu gibi durumlarda lokal optimumu bulmaya çabalamaktan
ziyade, çok daha kötü çözümleri eşitleyen bölgelerle ayrılmış
seçeneklerin olma olasılığının bulunmasıdır. Yâni, işin özü global
çözümleri bulmaya çabalamak ve bunları buluncaya kadar peşlerini
bırakmamaktır.
18
Alternatif Çözümler
Böyle bir uygunluk görüntüsü multimodal (çok tepe noktalı) f(x)
fonksiyonu ile gösterilmiştir. Sezgisel olarak f(x)’deki tepe noktalarına
eşitlenen x değerleri ile ilgili ayırt edici bir durum olmasına rağmen
matematiksel olarak hiçbiri küresel optimumlara yakın noktaların bir
çoğundan daha büyük uygunluk artışına yol açmaz. Buradaki asıl
soru eğer global optimuma yakın bir nokta bir şekilde daha büyük
uygunluk değeri üretiyorsa neden özellikle bu x değerleri bulunmak
istenmesi midir? Bu tür aramalar için yapılan girişimlerden biri bir
örnek ile en iyi şekilde açıklanabilir.
19
Alternatif Çözümler
20
Alternatif Çözümler
x*noktasında global optimum değerine ve x1, x2 ve x3
noktalarında yerel optimal değere sahip bir çoklu fonksiyon.
Uygunluk ile karakterize edilip şekilde gösterilen problem yapısal bir
problemdi. Bu problemde x eğik bir çatının açısı ve f yapı maliyetinin
tersi olduğundan grafikteki her yerel optimum önemli bir anlam kazanır.
Bunlar iyi ancak ideal olmayan radikal olarak farklı formun finansal
çözümlerini temsil ederler. Eğer maliyet tek ölçüt ise, x* açısı tek
seçenektir; ancak x1, x2 veya x3 çözümlerinin herhangi biri diğeri,
görseli ve ihtiyacı ile uyum içinde addedilir. Bu şekilde mimar müşteriyi
gerekli görülen ekstra yatırımı yapmaya ikna edebilir. Lokal optimumun
herhangi birinden f ’nin daha iyi değerlerini veren global optimuma yakın
bir çok nokta olmasına rağmen, onların global optimuma yakınlığı
optimumdan ziyade böyle bir tasarımın benimsenmesi için küçük bir
doğrulamaya yol açabilir. 21
Alternatif Çözümler
Bu yerel optimumlar ile temsil edilen yapılar için böyle değildir. İşin
esasında optimize edici bir filtre gibi kullanılabilir. Bu filtre tüm
problem uzayı boyunca probleme performans sağlayıcı yeni
çözümler bulurken diğer çözümleri ise mümkün olduğunca ihmal
etme görevi verilmiş filtre olabilir. Bu optimumları bulmanın bir yolu
çoklu çalıştırmanın basit şekilde kullanılmasıdır. Beasley ve
arkadaşları eğer tüm optimumlar eşit keşfedilmiş olma şansına sahip
ise Я değerinin aşağıdaki eşitlikle hesaplanması gerektiğini
göstermiştir.
Я ≈ ρ(0.577+log ρ)
Burada ρ optimumların sayısıdır.
22
Alternatif Çözümler
Bu yerel optimumlar ile temsil edilen yapılar için böyle değildir. Tüm
optimumlar genelde eşit olarak keşfedilmediği için Я’nin doğal olarak
bundan daha büyük değerde olması gerekir. Bu arayış fmin
değerinden daha küçük uygunluk değeri üreten noktaları etkin olarak
filtre eden bir teknik içindir. Böyle bir filtre eğer mükemmelse orijinal
fonksiyondan çok kolay yorumlamak için şekildeki grafiği oluşturur.
Gösterilen şekillerde, problem uzayında her (x, y) noktasında f
fonksiyonun değeri bilindiği için bu filtrelemenin el ile uygulanması
daha kolaydır. Normalde f arama uzayının küçük bir kısmından
muhtemelen tahmin edilenden çok daha fazla karmaşık olabilir.
23
Alternatif Çözümler
24
Alternatif Çözümler
Daha karmaşık, çoklu tepe noktalara sahip görünüm;
aranan noktalar f>fmin ile gösterilmiştir.
25
Alternatif Çözümler
f>fmin ile ilgili olarak bir önceki şeklin filtre edilmiş hali. GA'nın
görevi f'yi tüm (x, y) noktalarında hesaplamadan bu filtreleme
sonuçlarına yaklaşmaktır.
26
Alternatif Çözümler
Yaklaşık bir harita. f(x,y)fonksiyonundaki olası tüm noktalardaki
(x,y) hesabı yapılamacağı düşünülürse, yukarıdaki şeklin
gerçekleştirilmesi mümkün değildir. Dolayısıyla, gerekli olan şart
yerel optimumların yaklaşık konumlarını veren bir harita
bulmaktır.
Öyle ki, karmaşık bir alandaki tepe noktalarını yakalayacak bir
tekniğe gerek vardır. Bu mecazi bir durumdur. Şimdiye kadarki ana
düşünce yerel optimumlardan kaçınmaktı. Şimdi ise istenen şey aktif
olarak onları aranmasıdır. Doğada arama uzayının ayrı kısımlarının
keşfi popülasyon alt grupları ile serbest olarak meydana gelir. Bunun
GA'ya uygulanmasında en önemli iki kavram, uygunluk paylaşımı ve
kiminle kimle eşleşeceği üzerine kısıtlamaları yapmaktır. Yakın ilişkili
stringlerdeki eşlemelerin kısıtlamak zorunda kalan şey bütünüyle
şaşırtıcı olmayıp sonuçta bir türün tariflerinden biridir. Stringler
arasındaki uygunluk paylaşımının önemli olması daha şaşırtıcıdır.
27
Alternatif Çözümler
Paylaşımın önemi iki kollu ‘bandit’ veya meyve makinesi (kumar
makinesi) göz önüne alınarak görülebilir. Oyuncuların takımı tek bir
makineyle oynadığı varsayılır. Akla gelen soru şudur; her kola kaç
oyuncu yerleştirilmelidir? Her iki kol da aynı anda aynı toplamı
öderse, o zaman problem önemsiz hale gelir. Ancak bir kol
(bilinmiyor) diğerinden daha fazla para veriyorsa tüm oyuncular bu
kol ile mi yoksa biraz bu kol ile ve sonra diğer kol ile mi oynamalıdır?
Eğer bu oyuncular daha çok para kazandıran kol ile oynarlarsa
kazanılacak ödül daha çok olacaktır ancak para daha çok oyuncu
arasında bölünecektir.
28
Paylaşım
Bu takım değişen sayılarda oyuncuyu her bir kola bölüp yerleştirsin
veya kazanılanların takım arasında nasıl bölüneceği veya
paylaşılacağına bağlı olmasın. Eğer oyun herkes için ücretsiz olursa
veya gecenin sonunda takım üyeleri arasında eşit bir şekilde
paylaştırılırsa o zaman bütün oyuncular daha iyi kazandıran kola
geçiş yapacaklardır. Oysa eğer paranın sadece aynı koldaki
oyuncular arasında bölünmesi gibi bir kural mevcutsa o zaman farklı
bir davranış ortaya çıkacaktır. Kısacası oyuncular boşluklardan
yararlanma mantığını keşfetmiş olacaklardır. Her kolu oynayan takım
üyelerinin oranını hesaplamak kolaydır.
29
Paylaşım
Eğer takımda 25 kişi varsa ve A kolu 50 ve B kolu 40 ödüyorsa, tüm
oyuncular A kolunda oynadığında adam başı 50/25=2 alabilir, B
kolunda oynandığında adam başı 40/25=1.60 alabilir, ancak B
kolunda sadece bir kişi oynarsa 40/1=40 kazanacaktır. Her koldan
yapılan bireysel ödeme eşit hale geldiğinde bir denge oluşacaktır. Bu
A ödülü için iyi bir motivasyondur. Her koldan yapılan bireysel ödeme
eşit hale geldikten sonar bir denge oluşacaktır. Bu aşağıdaki
denklem ile meydana gelir.
Burada mj, j kolundaki oyuncu sayısıdır.
30
Paylaşım
𝑃𝑎𝑦𝑜𝑢𝑡𝐴𝑚𝐴
=𝑃𝑎𝑦𝑜𝑢𝑡𝐵𝑚𝐵
£50
𝑚𝐴=£40
𝑚𝐵
mA+mB = 25
50
25 −𝑚𝐵=40
𝑚𝐵
𝑚𝐵 =40 × 25
50 + 40= 11.1
𝑚𝐴 = 25 − 11.1 = 13.9
31
Paylaşım
Her iki kol bu şekilde bölünmesi ile hepsi A koluna oynadığında
alacakları 2’den büyük olan 3.60 olacaktır. Dolayısıyla, paylaşımı
başlatmak, farklı alanların herkesin çıkarına kullanılmasını sağlar.
Farklı alt popülasyonlar veya türler nişin uygunluğu ile orantılı olan
nişler içindeki bireylerin sayısı ile benzer şekilde bu bölgeleri
kullanırlar. Eğer bu sonuç diğer problemlere genellenirse güçlü bir
optimizasyon yaklaşımı geliştirilmiş olunacaktır. Daha önce
açıklanan yerel optimum filtrelenmesi ve haritalandırılması mümkün
olmamıştır, ancak herhangi bir tepe noktayı arayan bireylerin sayısı
tepe yüksekliği ile orantılı olacaktır.
32
Paylaşım
Küresel optimumun, küçük bir yerel optimum değerden daha fazla
dikkat çekmesini sağladığı için bu daha mantıklı bir yaklaşım gibi
görünmektedir. Bu fikirleri daha da geliştirmek için bu içerikte
kullanılan tür kavramı açıklanacaktır.
33
Paylaşım
Doğada eşleşme nadiren türlerin sınırları boyunca meydana gelir.
Şimdiye kadar tasavvur edilen genetik algoritmalar kimin kiminle
eşleşeceğine dair herhangi bir sınırlama olmamıştı. Bazı problemler
için sınırlamaların bilinmesinde avantajlar olabileceği, arama
uzayında tek noktalı çaprazlamanın nasıl yapıldığını düşünmekle ile
anlaşılabilir. Eğer bu fonksiyon 4 bitlik bir stringe dönüştürülürse
bu durumda -1 = 0000 ve 1 = 1111 olacaktır. Bu değerlerin her ikisi
f(x) =x2 fonksiyonun için aynı maksimuma uygunluk değerine sahiptir
ve herhangi biri seçim sisteminden eşleşme için bunları sıklıkla
seçmesi beklenebilir. Maalesef böyle çaprazlamalar çoğu kez çok alt
optimal stringleri üretir.
34
Tür
Örneğin, çaprazlama
00/00
11/11
0011
1100
Bunların ikisi de optimuma yakın değildir. Genel olarak karmaşık bir
alanda, iyi performans gösteren bireyler arasında uzak mesafelerde
gerçekleştirilen eşleşmeler sıklıkla fakir yavrular üretir. Genel olarak
karmaşık bir alanda, uzak ve iyi performans gösteren bireyler
arasındaki eşleşmeler çoğunlukla kötü yavrular üretecektir. Bu
nedenle sadece benzer eşin benzeri ile eşleşmesini güvence altına
almak biraz fayda sağlayabilir.
35
Tür
36
Tür
Yüksek performans gösteren stringlerin çaprazlamasından alt
optimal çözümlerin üretilmesi.
Goldberg ve Richardson popülasyon içinde uygunluk değişimi yapan
fenotipik temelli bir paylaşım mekanizmasının kullanım fikrini ortaya
attı. Bu yöntem paylaşımlı fonksiyon kullanımını sağlar. Bu fonksiyon
popülasyon içinde çok sayıda yakın ilişkiye (fenotipik olarak) sahip
bireylerin uygunluğunu azaltmak için kullanılır. Bu popülasyon
içindeki herhangi bir türün kontrolsüz büyümesini sınırlar. Aynı
zamanda arama uzayının tamamının araştırılmasını teşvik eder ve
bireylerin küçük popülasyonlarının keşfedilen yerel optimumlarda
kalmasını sağlar. Bir i bireyi için paylaşımlı fonksiyon si ‘nin değeri
bireysel ve diğer tüm popülasyon üyeleri arasındaki ξij paylaşım
değerlerinin toplamına bağlıdır.
37
Tür
ξij değeri kendisi i ve j bireyleri arasındaki fenotipik mesafeye bağlıdır
ve bu konuda birçok olasılık önerilmiştir. Bu yöntem, her bireyin
uygunluğunu geçici olarak fs ‘ye düşürmek suretiyle uygulanır.
Walters, Savic ve Halhal çalışmalarında su endüstrisinde çok-amaçlı
(multiobjective) paylaşımı problemindebu tekniği ile başarılı bir
şekilde uygulamıştır.
38
Tür
𝑠𝑖 = 𝜉𝑖𝑗
𝑁
𝑗=1
𝑓𝑖𝑠 =𝑓𝑖𝑠𝑖
Daha önceden bahsedildiği gibi eğer ölümlerden kaçınılması
gerekiyorsa, eşleşme ile ilgili bazı kısıtlamalar gerekli olabilir.
Alternatif olarak, paylaşıma benzer şekilde Eshelman ve Schaffer
çeşitliliği teşvik etmek amacıyla benzer bireyler arasında eşleşme
yapılır. Bir diğer olasılık ise yakınsamayı yavaşlatmak adına belirli bir
elit üye içerisinden sadece en uygun olanların seçilmesi için seçim
mekanizması tarafından seçim yapılmasına izin vermektir. Mahfoud
kendi çalışmasında birçok niş yöntemini karşılaştırmıştır.
39
Tür
Kısıtlamalar normal uygunluğun tayin edilemediği arama uzayı
bölgelerini arttırmak suretiyle görsel hale getirilebilir. Bu bölgeler
uygunluk alanlarında oyuklar oluşturur. O zaman böyle oyukların
yakınlarında GA‘nın nasıl yönlendirileceği sorusu ortaya çıkar. Az
sayıda kısıt içeren problemler GA için bazı zorluklar içerir: kromozom
çözüm vektörüne dönüştürülür ve sırasıyla amaç fonksiyonu değeri
bulunup uygunluğu tayin edilir. Eğer bir kısıt ihlal edilirse uygunluk
hemen sıfır yapılır. Bu yaklaşım işe yarar gözükmesine rağmen daha
fazla kısıt içeren problemlerde başarılı olması zordur. Bu gibi
problemlerde olası çözüm vektörlerinin çoğu uygulanabilir değildir.
40
Kısıtlar
41
Kısıtlar
İki boyutlu problemde kısıtlar nedeniyle oluşan üç büyük oyuğa
sahip uygunluk görüntüsü.
Ancak çoğunluk böyle olmasa bile uygulanabilir olmayan çözümler
kendi kromozomları içinde çok yararlı bilgiler ihtiva edebilir. Alternatif
bir yaklaşım ise bir veya daha fazla kısıtlamayı ihlal eden çözüme
ceza fonksiyonu uygulamaktır. Bu fonksiyon yapılan ihlalin miktarın
bağlı olarak sadece bireyin uygunluğunu azaltır. Ceza fonksiyonunun
formu kullanım ve keşif arasındaki doğru dengeyi korumak için
özenle seçilmelidir. Başka bir yaklaşım ise uygulanabilirliği olmayan
çözümlerin oluşmasına izin vermeyecek probleme bağlı çaprazlama
ve mutasyon operatörlerini kullanmaktır. Örneğin daha önceden
bahsedildiği üzere kombinatoryal optimizasyon problemlerinde
kullanılan çaprazlama operatörü gibi.
42
Kısıtlar
Walters, Saviç ve Halhal’ın çalışmalarında gösterilen diğer bir
yaklaşım ise, uygulanabilir olduğu bilinen basit çözümlerden giderek
daha karmaşık çözümler inşa eden dağınık bir GA kullanmaktır.
Diğer taraftan Pearce GA ortamında kısıtlamaları çözen bulanık
mantığa dayalı bir teknik kullanmış ve genel olarak kısıt çözümü ele
almıştır. Powell ile Skolnick ve Smith ile Tate sırasıyla doğrusal
olmayan kısıtlar ve ceza fonksiyonları hakkında genel yorumlarda
bulunmuşlardır. Sonuç olarak, bu konuda bir çok çalışma ele alınmış
ve bu çalışmalarda önerilen çeşitli yaklaşımların güçlü ve zayıf
yönleri analiz edilmiştir.
43
Kısıtlar
Şimdiye kadar ele alınan optimizasyon problemleri bir çok
parametreyi paralel olarak optimize ediyor olmasına rağmen
herhangi bir çözümün uygunluğu tek bir sayı ile belirlendiği bir
formda ifade edilmiştir. Oysa bütün problemler böyle bir özellik
içermez. Bazı problemlerde belirli bir çözümün başarısı birden fazla
yol ile hesaplanabilir. Eğer bu hesaplamalar birleştirilemezse, o
zaman uygunluk değerini hesaplamak mümkün olmaz. Kimyasal bir
tesisin işletme maliyetini en aza indirme girişimi buna bir örnek
olabilir: tesisin finansal maliyetini azaltan işletme stratejilerinden
bazıları olası kazaları arttıran yan etkisi olabilir.
44
Çok Amaçlı Optimizasyon
Pratik olarak üretim maliyetini azaltırken aynı zamanda bu
çözümlerden şimdilik bariz olarak kaçınılması gerekir gerekir. En
önemlisi aynı anda maliyetleri en aza indirmede ve kazaları
azaltmada daha iyi çözümlerin bilinmesi gerekir. Bu çözümleri
tanımlamak için Pareto optimalliği kavramı kullanılabilir. a çözümü en
maliyet açısından en uygundur; f ise kaza sayısı açısından en
uygun değerdir. c ve e çözümleri baskın olarak adlandırılır. Çünkü
diğer çözümler aynı anda hem daha az kaza hem de daha düşük
maliyet sunduğu bilinmelidir ve bunlar baskın olmayan çözümlerdir.
Eğer hesaplamalar çok sayıda işletme stratejileri için yapılırsa dış
noktaların dağılım grafiği aşağıdaki gibidir.
45
Çok Amaçlı Optimizasyon
46
Çok Amaçlı Optimizasyon
Kimyasal bir tesisin işletmesi için 6 strateji.
Pareto optimal seti dağılımının iç kenarı üzerindeki tüm baskın
olmayan çözümlerinin kümesidir. Bu set (eğrinin ya da onları
birleştiren cephenin denklemi) bilindikten sonra bu setten çıkarılmış
belli bir strateji üzerinde karar kılması tesisin yönetimi ve işgücüne
bağlıdır. Pareto optimalliği GA içinde sıralamaya dayalı bir seçim
mekanizması işletmek için en az iki şekilde kullanılabilir. Baskın
olmayan sıralama Pareto optimal kümesini belirler ve tüm üyelerin
derecesini 1 olarak tayin eder. Bu bireyler daha sonra
derecelendirme sürecinden çıkarılır. Bir sonraki optimal cephe
belirlenir ve üyelerine sıralama derecesi olarak 2 verilir. Bu işlem tüm
bireyler derece alana kadar devam eder.
47
Çok Amaçlı Optimizasyon
48
Çok Amaçlı Optimizasyon
Kimyasal tesisin işletmesi için olası tüm stratejilerden oluşmuş
yüzey (sadece dış noktalar gösterilmiştir). Pareto optimal
seti/cephesi baskın olmayan çözümlerden oluşmuştur.
Bu işlemi yerine getirecek BASIC kodu ve yaklaşımı aşağıda
verilmiştir. Alternatif bir yaklaşım söz konusu bireye baskın olan
bireylerin sayısıyla orantılı olduğu Pareto derecelendirme referans
düzenidir. Her iki teknikte, popülasyonun arama uzayının yeterince
büyük bir bölümünü kapsaması için uygunluk paylaşımının
kullanılması gereklidir.
49
Çok Amaçlı Optimizasyon
50
Çok Amaçlı Optimizasyon
FOR i Rank = 1 TO N 'Tüm muhtemel dereceler arasında döngü yap.
FOR i = 1 TO N 'Bir birey seç.
IF Rank (i) = 0 THEN 'Yalnızca derecelendirilmemiş bireyler
üzerinde işlem yap.
FOR j = 1 TO N 'Tüm diğer bireyler arasında döngü yap.
IF i <> j THEN 'Baskınlığı kontrol et.
IF F1(i) < F1(j) AND F2(i) < F2(j) THEN EXIT FOR
END IF
NEXT j
IF j = N + 1 THEN Rank(i) = iRank 'Baskın olmayan çözüm belirlendi.
END IF
NEXT i
51
Çok Amaçlı Optimizasyon
NEXT i ' Mevcut baskın olmayan önü, bireylerin uygunluk değerini sıfıra ayarlayarak
yok edin.
FOR i = 1 TO N
IF Rank(i) = iRank THEN
F1(i) = 0
F2(i) = 0
END IF
NEXT i
NEXT iRank
Şekil 4.15. Baskın olmayan sıralama (tamamlanıncaya kadar devam eder).
FOR i = 1 TO N ' Derecelendirme için uygunluğu yeniden tanımlayın.
F(i) = 1 / Rank(i)
NEXT i
52
Çok Amaçlı Optimizasyon
f1 ve f2 uygunluk fonksiyonlarında artış sağlayan iki kriterli problem
için Pareto sıralaması/ranking.
𝑓1 𝑥 = 𝑥 + 22− 10;
𝑓2 𝑥 = 𝑥 − 22+ 20;
−10 ≤ 𝑥 ≤ 10;
% Verilen fonksiyonların grafiklerinin çizimi
x = -10:0.5:10;
f1 = (x+2).^2 - 10;
f2 = (x-2).^2 + 20;
plot(x,f1); hold on;
plot(x,f2,'r'); grid on;
title('Plot of objectives ''(x+2)^2 - 10'' and ''(x-2)^2 + 20''');
53
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
54
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
Bu iki amaç fonksiyonu x = -2 ve x = +2 sırasıyla minimumlara
sahiptirler. Ancak çok amaçlı optimizasyon probleminde x = -2, x = 2,
-2 <= x <= 2 aralığındaki herhangi bir çözüm eşit derecede optimal
çözümdür. Bu çok amaçlı problem için tek bir çözüm bulunmaz.
Burada çok amaçlı GA’nın gayesi verilen aralıkta ideal olarak iyi
dağıtılmış bir çözüm kümesi bulmaktır. Elde edilen bu çözüm kümesi
Pareto cephesi olarak bilinir ve bu cephe üzerindeki optimal
çözümlerdir.
55
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
%Pareto Optimal Değerlerin GA ile Bulunması
FitnessFunction = @simple_multiobjective;
numberOfVariables = 1;
[xx,fval] = gamultiobj(FitnessFunction,numberOfVariables);
plot(xx,fval(:,1),'og',xx,fval(:,2),'ok');
figure(2);
plot(fval(:,1),fval(:,2),'ob');
xlabel('f_1');
ylabel('f_2');
grid on;
56
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
57
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
58
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
59
Çok Amaçlı Optimizasyon İçin Basit Bir Örnek
xopt f1 f2
-2.0060
2.0001
-0.5083
1.1513
1.6510
-0.1356
0.4176
1.3228
-1.4560
-2.0060
2.0001
-1.0444
1.7574
0.1639
0.6995
-10.0000
6.0010
-7.7749
-0.0692
3.3301
-6.5239
-4.1552
1.0410
-9.7040
-10.0000
6.0010
-9.0869
4.1178
-5.3176
-2.7125
36.0482
20.0000
26.2917
20.7202
20.1218
24.5606
22.5040
20.4586
31.9436
36.0482
20.0000
29.2685
20.0589
23.3713
21.6912