• Sonuç bulunamadı

6. YÖNTEM VE METODOLOJİ

6.4 Diferansiyel Evrim Algoritması ile Eniyileme

6.4.1 Diferansiyel Evrim Algoritması

Evrim teorisinden esinlenilen evrimsel algoritmalar (EA), doğrusal olmayan ve karmaşık eniyileme problemleri ile başa çıkma yetenekleriyle bilinir. EA'ların diğer sayısal yöntemlere göre birincil avantajı, sadece objektif fonksiyon değerlerine ihtiyaç duymalarıdır, diğer yandan farklılaşma ve süreklilik gibi özellikler gerekli değildir. Bununla birlikte bir EA'nın performansı kodlama şemalarına, evrim operatörlerine ve mutasyon olasılığı ve popülasyon büyüklüğü gibi parametre ayarlarına bağlıdır. Uygun parametre değerlerinin seçilmesi probleme bağlı bir görevdir ve genellikle zaman alıcı deneme ve hata parametre ayarlama işlemlerini gerektirir. Bunun üstesinden gelmek için farklı parametre uyarlama şemaları

59

sunulmuştur. Parametre adaptasyon teknikleri; deterministik, uyarlanabilir ve kendi kendine uyarlanabilir olarak kategorize edilebilir (Mallipeddi ve diğ., 2011).

En popüler EA genetik algoritmadır. Birçok genetik algoritma versiyonu geliştirilmiş olmasına rağmen, bunlar hala zaman alıcıdır. Bu dezavantajın üstesinden gelmek için, yakın zamanda DEA denilen evrim stratejisi Storn tarafından önerilmiştir. Farklı alanlarda çeşitli mühendislik problemlerine uygulanmıştır.

Genetik algoritma ve DEA arasındaki temel fark DEA'yı kendiliğinden uyarlanabilir hale getiren mutasyon şeması ve seçim sürecidir (Karaboğa ve Selçuk, 2004).

DEA, Price ve Storn tarafından 1995 yılında geliştirilmiş, özellikle sürekli verilerin söz konusu olduğu problemlerde etkin sonuçlar verebilen, işleyiş ve operatörleri itibariyle genetik algoritmaya dayanan popülasyon temelli sezgisel eniyileme tekniğidir (Storn ve Price, 1995). Temel olarak GA'ya dayanmaktadır.

Popülasyon tabanlıdır. Aynı anda birçok noktada araştırma yapmaktadır. İterasyonlar boyunca, operatörler yardımıyla problemin çözümü için daha iyi sonuçlar araştırılmaktadır. Klasik ikili GA'dan farklı olarak değişkenler gerçek değerleriyle temsil edilmektedir. Genetik algoritmalarda da gerçek değerlerle kodlama kullanılmaktadır. Ancak Price ve Storn genetik operatörlerdeki birtakım değişikliklerle, gerçek değerlerle kodlamanın kullanıldığı problemlerin çözüm performansını arttırmaya çalışmışlardır. GA'daki çaprazlama, mutasyon ve seçim operatörleri diferansiyel evrim algoritmasında da kullanılmaktadır. Farklı olarak her bir operatör tüm popülasyona sırayla uygulanmamaktadır. Kromozomlar tek tek ele alınmakta, rasgele seçilen diger üç kromozomda kullanılarak yeni bir birey elde edilmektedir. Bu islemler sırasında mutasyon ve çaprazlama operatörleri kullanılmıs olmaktadır. Mevcut kromozomla elde edilen yeni kromozomun uygunlukları karşılaştırılarak uygunlugu daha iyi olan, yeni birey olarak bir sonraki popülasyona aktarılmaktadır. Böylelikle seçim operatörü de kullanılmış olmaktadır (Keskintürk, 2006).

Diferansiyel evrim algoritmasının diğer eniyileme algoritmalarına göre en önemli üstünlükleri; hızlı, basit, kolayca kullanılabilir ve değiştirilebilir olması, etkili küresel eniyileme kabiliyeti, kodlamanın gerçel sayılar ile yapılması, hesaplama maliyetinin az olması, türev bilgisi gerektirmemesi ve her türlü problem tipine (tamsayı, ayrık, karmaşık) uygulanabilmesidir (Karaboğa, 2004).

60

Diğer algoritmalar için yüksek sayıda satır içeren kodlar söz konusu iken DEA için 20 satırlık kod yeterli olmaktadır (Mayer ve diğ., 2005) . Diferansiyel evrim algoritmasında kullanılan parametreler şunlardır;

NP : Popülasyon büyüklüğü (NP≥4 olmalıdır) D : Değişken (Gen) sayısı

CR : Çaprazlama oranı

G : Jenerasyon (1, 2, 3,…,Gmaks) MF : Mutasyon (ölçekleme) faktörü

𝑥𝑗,𝑖,𝐺 : G jenerasyonunun, i kromozomunun j. Parametresi

𝑛𝑗,𝑖,𝐺+1 : Mutasyon ve çaprazlama işleminden geçmiş ara kromozom 𝑢𝑗,𝑖,𝐺+1 : 𝑥𝑗,𝑖,𝐺' den sonraki jenerasyon için üretilen kromozom

𝑟1,2,3 : Yeni kromozomlarda kullanılacak rastgele seçilen kromozomlar 𝐿𝑗 , 𝐻𝑗 : Değişkenlerin alabileceği alt ve üst sınırlar

DEA, başlangıç popülasyonun oluşturulması, mutasyon, çaprazlama ve seçim olmak üzere dört aşamada gerçekleştirilir. DEA'nın temel adımları şu şekildedir:

 Başlangıç popülasyonu oluştur

 Durdurma kriteri sağlanıncaya kadar aşağıdaki işlemleri gerçekleştir

 Mutasyon uygula

 Çaprazlama uygula

 Uygunluk Fonksiyonu

 Seçim

Diferansiyel evrim algoritmasının akış şeması Şekil 6.4'te verilmiştir (Özsağlam ve Çunkaş, 2008). Diferansiyel evrim algoritmasının adımları ve temel prensipleri aşağıdaki bölümlerde ayrıntılı olarak açıklanmaktadır.

61

6.4.1.1 Başlangıç Popülasyonunun Oluşturulması

Diferansiyel evrim algoritması (DEA), her nesil G için bir popülasyon olarak NPxD boyutlu parametre vektörlerini kullanan paralel bir doğrudan arama yöntemidir (Storn ve Price, 1997).

Değişken sayısı (D) probleme bağlı olarak belirlenmektedir ve her bir kromozoma ait gen (boyut) sayısını belirlemektedir. NP ise probleme bağlı olarak kullanıcı tarafından belirlenen popülasyon büyüklüğüdür (Kromozom sayısı). NP, eniyileme işlemi sırasında değişmez. İlk vektör popülasyonu rastgele seçilir ve tüm

Şekil 6.4: Diferansiyel evrim algoritmasının akış şeması.

Başlangıç popülasyonu ve kontrol parametrelerini oluştur

Popülasyon içinden rastgele seçilmiş iki bireyin farkını al

Bulunan fark vektörünü 3. bireyle topla

Hedef vektörle (ebeveyn) toplam vektörünü çaprazla

Yeni birey hedef vektörden daha iyi ise yer değiştir

Durdurma kriteri

Sonucu göster

62

parametre alanını kapsamalıdır. Literatürdeki mevcut çalışmalarda 𝑁𝑃 = 10 ∗ 𝐷 önerilmiştir (Storn ve Price, 1997).

DEA'da yeni kromozomların üretilmesi için mevcut kromozom haricinde üç adet kromozom ( 𝑟1,2,3 ) gerekmesi sebebiyle her zaman üçten daha büyük bir popülasyon sayısı seçilmesi gerekmektedir (Keskintürk, 2006). Çözüme başlamadan önce değişkenlerin alabilecekleri en büyük ve en küçük değerler tanımlanır.

Ardından NP adet D boyutlu kromozomdan meydana gelen başlangıç popülasyonu aşağıdaki eşitlik kullanılarak oluşturulur (Storn ve Price, 1997) .

∀𝑖 ≤ 𝑁𝑃 ∧ ∀𝑗 ≤ 𝐷 ∶ 𝑥𝑗,𝑖,𝐺=0= 𝐿𝑗 + 𝑟𝑎𝑛𝑑𝑗 [0,1]. (𝐻𝑗 − 𝐿𝑗) (6.1) Başlangıç popülasyonun oluşturulmasından sonra, aşağıda açıklanan operatörler, kullanıcı tarafından belirlenen durdurma kriteri sağlanıncaya kadar veya belirlenen maksimum jenerasyon sayısına (Gmaks) ulaşıncaya kadar uygulanır.

Algoritmanın tamamlandığı jenerasyondaki en iyi birey çözüm vektörünü vermektedir.

6.4.1.2 Mutasyon

Biyolojik olarak, "mutasyon" bir kromozomun gen özelliklerinde ani bir değişiklik anlamındadır. Bununla birlikte, evrimsel hesaplama algoritması bağlamında mutasyon, rastgele bir elementte bir değişiklik veya bozulma olarak da görülür (Das ve Suganthan, 2011).

Mutasyon, mevcut kromozomun genlerinin bir kısmı üzerinde rastgele miktarlarda değişiklikler yapmaktır. Bu değişiklikler sayesinde kromozomunun temsil ettiği çözüm noktasının çözüm uzayında hareketi sağlanmaktadır. Mutasyonun hedefine ulaşabilmesi için, doğru yönde doğru miktarda hareketi sağlayacak değişiklikler saptanmalıdır. Diferansiyel evrim algoritmasında, mutasyon işlemine tabi tutulacak hedef kromozom belirlendikten sonra hedef kromozomla ve birbirleriyle aynı özellikler taşımayan üç kromozom ( 𝑟1,2,3 ) seçilir. Seçilen kromozomlardan ilk ikisinin farkı hesaplanır. Daha sonra bu fark kromozomu belirlenen MF parametresiyle çarpılır. Elde edilen ağırlıklandırılmış fark

63

kromozomu, üçüncü kromozoma ( 𝑟3 ) eklenir. Böylece mutasyon sonucu çaprazlamada kullanılacak olan kromozom (𝑛𝑗,𝑖,𝐺+1) elde edilir. Mutasyona uğramış kromozom aşağıda belirtilen formülasyon kullanılarak hesaplanır (Keskintürk, 2006).

∀𝑗 ≤ 𝐷: 𝑛𝑗,𝑖,𝐺+1 = 𝑥𝑗,𝑟3,𝐺+ 𝑀𝐹. (𝑥𝑗,𝑟1,𝐺 − 𝑥𝑗,𝑟2,𝐺) (6.2) DEA için, mutasyona tabi tutulacak kromozoma, fark kromozomlarının sayısına ve kullanılan çaprazlama tiplerine bağlı birçok farklı mutasyon stratejisi geliştirilmiştir. Stratejilerin genel ifadesi DEA/a/b/c şeklindedir. 'a', mutasyona tabi tutulacak hedef kromozomu, 'b' fark vektörlerinin sayısını, 'c' ise çaprazlama tipini temsil etmektedir. Mutasyona uğrayacak hedef kromozom ya bir önceki neslin en iyi kromozomu ya da rastgele seçilen herhangi bir kromozomdur. Fark kromozomu sayısı bir ise, birbiriyle aynı özellikleri taşımayan rastgele üç kromozom seçilir ve kromozomlardan herhangi ikisinin ağırlıklı farkı üçüncüye eklenir. Fark kromozomu sayısının iki olması durumunda ise, birbiriyle aynı özellikleri taşımayan rastgele beş adet kromozom seçilir ve belirlenen dört kromozomun herhangi ikişer çiftlerinin farkları alınarak beşinci kromozoma eklenir. 'c' ile temsil edilen çaprazlama, üstel veya binom formda olabilmektedir (Gürarslan, 2011; Özçelik, 2007). Storn ve Price tarafından önerilen farklı stratejiler aşağıda verilmiştir:

 DEA/rand/1/bin

 DEA /best/1/bin

 DEA /rand-to-best/1/bin

 DEA /rand/2/bin

 DEA /best/2/bin

 DEA /best/1/exp

 DEA /rand/1/exp

 DEA /rand-to-best/1/exp

 DEA /best/2/exp

 DEA /rand/2/exp

64

Bu çalışma kapsamında, klasik DEA için de kullanılan DEA/rand/1/bin stratejisi kullanılmıştır.

Mutasyon faktörü (MF) pozitif gerçel bir sayıdır ve herhangi bir üst limiti yoktur. Fakat birden büyük değerler seçildiğinde istenilen sonuca yakınsama olasılığı oldukça düşüktür. Bu nedenle MF değerinin 0 ile 1 aralığında alınması gerekmektedir. Mutasyon faktörünün seçimi yakınsamayı doğrudan etkilemektedir.

(Gürarslan, 2011). Storn ve Price (1997), 0,4 ile 1 arasında bir MF değeri önermiş ve 0,5 iyi bir başlangıç seçeneği olarak kabul edilmiştir. Bu çalışmada oluşturulan eniyileme modeli için MF değeri sabit bir değer alınmamıştır. Problem özellikleri ve literatürde belirtilmiş parametre seçim kısıtları göz önünde bulundurularak bir rastgele seçim formülasyonu geliştirilmiştir. MF değeri, 0,1 ile 1 değer aralığında kalmak koşulu ile DEA döngüsü içerisinde sürekli olarak değişmektedir. Böylelikle eniyileme modelinin, istenilen küresel en uygun noktaya yakınsama ekinliği ve hızının artacağı düşünülmektedir. MF değerinin belirlenmesinde kullanılan formülasyon, Denklem (6.3)' te verilmektedir.

𝑀𝐹 = 0,1 + 0,9. 𝑟𝑎𝑛𝑑 [0,1] (6.3)

6.4.1.3 Çaprazlama

Mutasyona uğrayan kromozomların çeşitliliğini arttırmak için çaprazlama işlemi gerçekleştirilir (Storn ve Price, 1997). Mutasyon, yeni araştırma bölgelerinin araştırılmasından sorumlu işlemdir. Var olan hedef kromozom parametrelerinden faydalanarak yeni kromozomları oluşturmak suretiyle araştırmanın iyileşmesine katkıda bulunan çaprazlama işlemi, tamamlayıcı bir işlemdir.

Diferansiyel evrim algoritmasında çaprazlama işlemi gerçekleştirilirken genellikle binom formu kullanılmaktadır. Çaprazlama işleminde, mutasyona tabi tutulmuş kromozom ile bir önceki jenerasyondan elde edilmiş 𝑥𝑗,𝑖,𝐺 kromozomu kullanılarak yeni jenerasyona aday deneme kromozomu (𝑢𝑖,𝐺+1) üretilir. Deneme kromozomuna ait her bir gen, CR (çaprazlama oranı) olasılıkla mutasyon sonucu elde edilen fark kromozomundan, 1-CR olasılıkla 𝑥𝑗,𝑖,𝐺' den seçilir (Keskintürk, 2006).

65 ∀𝑗 ≤ 𝐷: 𝑥𝑗,𝑢,𝐺+1 = {

𝑛𝑗,𝑖,𝐺+1 𝑒ğ𝑒𝑟 𝑟𝑎𝑛𝑑[0,1] ≤ 𝐶𝑅 ∨ 𝑗 = 𝑗𝑟𝑎𝑛𝑑 𝑥𝑗,𝑖,𝐺 𝑎𝑘𝑠𝑖 ℎ𝑎𝑙𝑑𝑒

(6.4)

Çaprazlama faktörü, 0 ile 1 değerleri arasında bir sayıdır. Storn ve Price (1997), CR değerinin 0,5 ile 1 aralığında alınmasını önermişlerdir. Rastgele üretilmiş 0 ile 1 aralığındaki sayı CR'den küçükse gen, mutasyon sonucu elde edilen kromozomdan (𝑛𝑗,𝑖,𝐺+1) , aksi halde ise mevcut kromozomdan ( 𝒙𝒋,𝒊,𝑮) seçilir.

Çaprazlamanın amacı belirlenen oranda genin mutasyon sonucu elde edilen fark kromozomundan alınmasıdır. En az bir adet genin fark kromozomundan alınmasını garanti etmek amacıyla 𝑗 = 𝑗𝑟𝑎𝑛𝑑 koşulu konulmuştur. Rastgele seçilen 𝑗𝑟𝑎𝑛𝑑 noktasındaki gen, CR'yi dikkate almadan (𝑛𝑗,𝑖,𝐺+1)' den seçilir.

Bu çalışmada oluşturulan DEA eniyileme modelinde CR parametresi sabit bir değer alınmamıştır. CR parametresi aşağıdaki Denklem (6.5)' te verilen formülasyon kullanılarak 0-1 değer aralığında rastgele belirlenmiştir. Böylece DEA, parametre-free hale getirilmiştir.

𝐶𝑅 = 0,1 + 0,9. 𝑟𝑎𝑛𝑑 [0,1] (6.5)

6.4.1.4 Uygunluk Fonksiyonu

Bir sonraki jenerasyona (G=G+1) aktarılacak olan kromozomun seçiminde kriter uygunluk değerleridir. Hedef kromozoma ait uygunluk değerleri zaten hesaplanmıştır. Bu aşamada, deneme kromozomuna (𝑢𝑖,𝐺+1) ait tüm 𝑢𝑗 değerleri problemin amaç fonksiyonunda yerine koyularak kromozomun fonksiyon değeri hesaplanır (Keskintürk, 2006).

6.4.1.5 Seçim

Sonraki jenerasyonlar boyunca popülasyon büyüklüğünü sabit tutmak için, algoritmanın bir sonraki adımı, hedef kromozomun veya deneme kromozomunun bir sonraki nesle (G= G+1) geçişini belirlemek için gerçekleştirilen seçim operatörüdür.

Amaç fonksiyonu en aza indirilecek nesnel işlevdir. Bu nedenle, yeni deneme

66

kromozomu amaç fonksiyonunun eşit veya daha düşük bir değerini verirse, gelecek jenerasyona karşılık gelen hedef kromozomun yerini alır; aksi takdirde hedef kromozom popülasyonda tutulur. Bu nedenle, popülasyon ya daha iyi olur (objektif fonksiyonun en aza indirilmesi ile ilgili olarak) ya da uygunluk durumunda aynı kalır. Ancak asla kötüleşmez. Her ikisi de aynı değeri verse bile, hedef kromozom, deneme kromozomu ile değiştirilir (Das ve Suganthan, 2011).

DEA'da karşılaştırma birebir yapıldığı için basit bir seçim operatörü kullanmak yeterli olmaktadır. Karşılaştırma sonucu uygunluk değeri yüksek olan kromozom yeni jenerasyona birey olarak atanır (Keskintürk, 2006). Seçim operatörünün işlemi Denklem (6.6)'da verilmiştir.

∀𝑖 ≤ 𝑁𝑃 𝑥𝑢,𝐺+1 = {𝑥𝑢,𝐺+1 𝑒ğ𝑒𝑟 𝑓(𝑥𝑢,𝐺+1) ≤ 𝑓(𝑥𝑖,𝐺)

𝑥𝑖,𝐺 𝑎𝑘𝑠𝑖 ℎ𝑎𝑙𝑑𝑒 (6.6) Bu çalışmada, belirli kısıtlar dahilinde enerji üretiminin enbüyüklenmesi amaçlanmaktadır. Problem, enbüyükleme problemidir ve seçim işleminde fonksiyon değeri daha yüksek olan kromozom bir sonraki jenerasyona aktarılmıştır. Hazne işletmesi eniyilemesi yapılırken kullanılan seçim operatörü işlemi Denklem (6.7)'de verilmiştir.

∀𝑖 ≤ 𝑁𝑃 𝑥𝑢,𝐺+1 = {𝑥𝑢,𝐺+1 𝑒ğ𝑒𝑟 𝑓(𝑥𝑢,𝐺+1) ≥ 𝑓(𝑥𝑖,𝐺)

𝑥𝑖,𝐺 𝑎𝑘𝑠𝑖 ℎ𝑎𝑙𝑑𝑒 (6.7) Problemlerin çözümünde, enküçükleme problemi ise Denklem (6.6), enbüyükleme problemi ise Denklem (6.7) kullanılmalıdır. Bu çalışmada, DEA'nın test edilmesinde birinci test fonksiyonu enküçükleme problemi, ikinci test fonksiyonu enbüyükleme problemi seçilmiştir.

6.4.1.6 Algoritmanın Durdurma Kriteri

Üretilen yeni jenerasyonlar ile daha iyi uygunluk değerine sahip kromozomlar elde edene ve en iyiye yaklaşana kadar döngü devam eder. Döngü, G=Gmaks değerine ulaşınca veya kullanıcı tarafından belirlenen durdurma kriteri sağlandığında sona ermektedir.

67

Bu çalışmada, popülasyondaki bireylerin uygunluk değerlerinin standart sapmasının belirlenen tolerans değerinden (ε = 10-6) daha küçük olması durdurma kriteri olarak seçilmiştir. ε değeri kullanıcı tarafından belirlenen bir tam sayıdır.

Benzer Belgeler