» SOSYAL ZEKA TABANLI OPTİMİZASYON YAKLAŞIMI - 3

Yayinlanma Zamani: 2011-12-16 01:26:00





Sosyal yapının içerdiği herbir parçacık, kendi en iyisini hafızasında tutarak bunu hızında bir etmen olarak kullanır. Bireysel en iyisinden ne kadar uzaksa o noktaya doğru hızında bir artış gösterir. Bu davranışı aynı şekilde grubun en iyisine göre de gerçekleştirmektedir. Yani yüzeyi tararken grubun en iyisinden etkilenerek hızını ayarlama durumunda kalır. Grupsal eniyiden ne kadar uzaksa hızındaki ve dolayısıyla yönündeki değişiklik o ölçüde çok olur. Yani sürü içerisindeki bireyler aşağıdaki bilgileri kullanarak hareketlerini değiştirme eğilimi gösterirler: [11],[15]
-Geçerli posizyonu (x, y)
-Geçerli hızı vx, vy
-Bireysel eniyi pozisyonu (pbestx, pbesty)
-Grupsal eniyi pozisyonu (gbestx, gbesty)
Her bir bireyin hızı aşağıdaki formulle değiştirilir:

Vi
k: i. bireyin k. iterasyondaki hızı
xi : i. bireyin pozisyonu
w : Eylemsizlik fonksiyonu
Ci: Eylemsizlik faktörü
Rnd: Türetilen rassal sayı
pbesti: i. Bireyin eniyi pozisyonu
gbest: Grup eneyisi pozisyonu
X: Daraltma faktörü (Constriction factor)
Hız birim yer değiştirme miktarı olduğundan, her birim zamana SZTO içerisinde bir
iterasyon demekteyiz. Bir iterasyonda, parçacıkların grubun eniyisinden ve kendi en
iyilerinden ne kadar uzakta olduklarına bağlı olarak hızları, dolayısıyla konumları, ve
eylemsizlik değerleri gibi temel özelliklerinde değişimler olmaktadır. Parçacık bu
değişimlere göre canlandırılmaya çalışılmaktadır.
Bu canlandırılmanın yapılabilmesi, her iterasyonda parçacığın hızında meydana gelen
değişimlerle sağlanmaktadır. Parçacığın grupsal eniyi ile bireysel eniyiden ne ölçüde
etkileneceğini Ci faktörleri belirler. C faktörlerini 0.5 olarak düşünürsek ve ortak
paranteze alırsak eğer, iki farkın ortalamasını aldığımızı farkedebiliriz. Yani C faktörlerinin kullanılma amaçları, parçacıkların etkilendikleri konumlar arasında bir
ağırlıklandırma gerçekleştirmektir.
Denklem içerisindeki eylemsizlik değeri her iterasyonda değiştmektedir. Bu değişiklik,
eylemsizlik fonksiyonuna göre belirlenen değerden minimum değerine doğru düşme
mantığına dayanmaktadır. Amacı ise türetilen hızın ileriki iterasyonlarda küçültülerek
yakınsamasının sağlanabilmesi, böylece de daha yakın sonuçların bulunabilmesinin
sağlanabilmesi temeline dayanır.
Eylemsizlik fonksiyonu aşağıdaki gibi bulunur:

 

Wmax= İlk eylemsizlik kuvveti
Wmin= Minimum eylemsizlik kuvveti
İtermax=Maksimum iterasyon sayısı
Meydana gelen yer değiştirme, birim iterasyonda sahip olunan konumlara eklenerek bir
sonraki konumlar bulunur.
Hızlar ile parçacıkların pozisyonları,
k
i i
k
i x = x + vx
‘şeklinde değiştirilir. Aynı işlem her bir boyut için tekrarlanır.
C faktörlerini ve eylemsizlik faktörünü Shi ve Eberhart, yaptıkları araştırmalar ve
deneyler suretinde, probleme göre değişmediğini ve sabit olarak cj=2, wmax=0.9 ve
wmin=0.4 olarak bulmuşlardır. Özellikle uygulamalarımızda bu buluguları sabit olarak
kabul edip çalışmalarımızı sürüdürdük..[2],[12]

Daraltma faktörü (X) temel SZTO denkleminde bir farklılık denklemidir. Bundan dolayı
arama işlemi özdeğer analizi ile analiz edilir. Bu analizde daraltma faktörü özdeğer
analizini kullanır ve aşağıdaki özellikleri kontrol eder:
a) Sistemin gerçek değer alanından uzaklaşmaması ve sonunda yakınsaması,
b) Sistemin farklı alanları da verimli bir şekilde araştırması.
Daraltma faktörü aşağıdaki gibi bulunur:

Daraltma faktörünün indirici etkisi daha göze çarpıcıdır ve parçacıkların amaç değerine
daha fazla yakınsayabilmesini sağlayabilir. Daraltma faktörü yaklaşımı, herbir
parçacığın yayılımını en iyi değere odaklanarak düşürerek en yüksek değerde amaç
değerleri elde etmeyi sağlar. Bir başka değişle eylemsizlik faktörünün bir alternatifi
veya dengeleyicisi rolündedir. Biz bu çalışmada daraltma faktörünü hız denklemimizde
kullanmadık.
3.3. SZTO’nun Kısıtlı Modellere Uygulanabilirliği ve Karşılaşılan Güçlükler
SZTO belirli sınırlar içerisinde herhangi bir fonksiyonun en büyük veya en küçük
değerini kolayca saptayabilmektedir. Ancak incelenen noktaların belirli kısıt
denklemlerini sağlaması istendiğinde durum biraz güçleşmektedir. SZTO açısından
kısıtlı bir model ile tek bir fonksiyon arasındaki fark, seçilecek herhangi bir noktanın
kısıt denklemleri ile çelişme olasılığının oldukça yüksek oluşundan kaynaklanmaktadır.
Klasik SZTO algoritması üzerinde öncelikle yapılması gereken en önemli değişiklik;
kısıt denklemlerinden herhangi biri ile çelişen bir noktanın, grupsal en iyi veya bireysel
en iyi olarak atanmasına izin verilmemesi olacaktır. Yalnızca bu değişiklik bile
SZTO’nun çok basit bazı modeller üzerinde başarılı sonuçlar elde etmesini sağlayabilmektedir. Ancak sözü geçen basit modellerin, verilen sınırlar içerisinde geniş
bir çözüm kümesine sahip olması, ve dolayısı ile eşitlik kısıtı içermemesi
gerekmektedir. Örneğin,
f(x) = 3 * X1 - 2 * X2
fonksiyonunu ele alalım, ve bu fonksiyonu X1 = 0,1,2..30 ve X2 = 0,1,2..30 sınırları
içinde inceleyelim. Kısıt olmadığı durumda fonksiyonun bu sınırlar içerisindeki
maksimum değeri X1 = 30 ve X2 = 0 noktasında bulunur ve 90’dır. Bu fonksiyonun
maksimum değerini
X1 + X2 < 15
kısıtını sağlayan noktalar arasından seçmek istediğimizde, eski çözüm kümemiz
içerisinden bu denklemi sağlamayan noktaları bir şekilde çıkarmamız gerekir. Böyle bir
durumda, yukarıda bahsedilen küçük değişiklik SZTO’nun aradığımız noktayı
yakalamasını sağlamaktadır. Ancak kısıtımız
X1 + X2 < 15
yerine
X1 + X2 = 15
olursa durum değişir. Bu durumda çözüm kümemizden
X1 + X2 = 15
doğrusunun üzerindeki noktalar ile birlikte altındaki noktaları da çıkarmamız gerekir.
Çözüm kümemizin sürekli olduğu gözönüne alınırsa, ataması rassallık unsuru içeren bir
algoritma tarafından yapılan herhangi bir noktanın bu doğru üzerinde olma olasılığı çok
küçüktür. Eğer X1’in değeri 4,9999’e ulaşmış ise, X2’nin değerininde 10,1111 değerine ulaşmış olması gerekir. Bu olasılığı yükseltmek için değerler virgülden sonra dört
yerine bir veya iki haneye yuvarlatılabilir. Ancak eğer onbinde birlik değişimler karar
verici için önem arz ediyorsa, değerlerin yuvarlanması sonuçların hassasiyetini
düşürecektir. Bu sorunun bir diğer etkisi ise ilk iterasyonda noktaların hiçbirinin
kısıtlara uymaması ve dolayısı ile grupsal en iyinin bulunamamasıdır. Eğer ilk
iterasyonda bir grupsal en iyi saptanabilirse daha sonra algoritma bu nokta çevresinde
daha iyi noktalara ulaşabilir. Fakat ilk iterasyonda bireysel en iyiler ve grupsal en iyi
saptanamaz ise SZTO algoritması etkinliğini yitirir.
Diğer bir yöntem olan penaltı yöntemi için aynı durum geçerli değildir. Herhangi bir
noktanın grupsal veya bireysel en iyi olabileceği göz önüne alındığında cezaların ileriki
iterasyonlar doğrultusunda, kısıtlara uyma ölçüleri oranında azaltılarak kısıtlara uyması
zorunlu hale getirilmiştir. Bunun açıklaması ileriki başlıklarda “penaltı yöntemi” başlığı
altında incelenecektir.
3.4. Geliştirdiğimiz Teknikler
Bölüm 3.3’de bahsedilen güçlüklerle başedebilmek için bazı teknikler geliştirilmiş ve
klasik SZTO algeritmasına entegre edilmiştir. Böylelikle klasik algoritmanın
çözemediği bazı modeller tamamen çözülebilir hale gelmiş, bazılarında ise yakın
sonuçlar alınabilmiştir.
3.4.1. Hassasiyetin kademeli olarak arttırılması
Modelin içerdiği herbir kısıt çözüm kümesinin biraz daha küçülmesine neden
olmaktadır. Kısıtlar gözardı edildiğinde çözüm kümesi belirlenen sınırlar dahilindeki
bütün noktaları kapsar. Ancak her bir kısıt bu noktaların bir kısmının çözüm kümesi
dışında kalmasına neden olur. Örneğin X1 değişkeni 0 ile 30 aralığında incelenirken,
X1 <= 15 kısıtı çözüm kümesinin 0 ile 15 aralığında sınırlanmasına neden olur. Eğer
binde birler mertebesindeki noktalar değerlendiriliyor ise bu durumda 15,0001 ile 30
aralığında değerlendirilecek 149.999 adet kısıta uymayan nokta var demektir. Aynı
şekilde çözüm kümesinde ise 160.000 parça değerlendirilmeyi beklemektedir. Çözümde
kullanılan parçacık sayısının 100 olacağını varsaydığımızda bu rakamlar parçacıkların
sınırlı iterasyonda tarayabileceğinin çok çok üzeridedir.

Sonraki Konu :


Duyuru

Facebook sayfamiza üye olun


Duyuru
Sitemizde güncelleme çalismalari devam etmektedir.
Görüs ve önerilerinizi bizimle paylasabilirsiniz ! mail adresimiz : endustrimuhendisligi@hotmail.com