• Sonuç bulunamadı

Konum Tabanlı Melez Yönlendirme Algoritmasında Performans

Bu tez çalışmasında geliştirilen KTMYA’nın performans değerlendirmesini yapabilmek amacıyla, MATLAB 7.01’de yazılım geliştirilmiştir. Geliştirilen yazılımda iş ve süreçleri gerçekleştirmek için fonksiyonlar yazılmış ve modüler bir yazılım ortamı oluşturulmuştur.

Performans değerlendirmesinde, Bölüm 4.1’de verilen performans ölçüm kriterleri kullanılmış ve RFC 2501’de [2] öngörülen değerlendirme ortam ve parametreleri kullanılmıştır.

4.2.1. Performans değerlendirme ortamı

düğümler oluşturmaktadır. Oluşturulacak ağın düğüm sayısı ve düğümlerin dağıtılacağı ortamın büyüklüğü değiştirilebilmektedir. Bu sayede Bölüm 4.1.3’de verilen değiştirilebilir ortam parametrelerinden, düğüm sayısı (ağın büyüklüğü) ve trafik deseni kriterleri sağlanmış olmaktadır. Düğümler rastgele dağıtılmış olduğu için homojen olmayan (non-uniform) bir dağılım gerçekleşmektedir.

Benzetim yazılımında bu adımı gerçekleştirmek için Ek F’de kodları verilen node.m fonksiyonu oluşturulmuştur. Fonksiyonun giriş parametreleri düğüm sayısı ile x ve y eksenlerinin yani ortamın büyüklüğüdür. Fonksiyonun çıkış parametresi ise denklem 3.1’de verilen P konum bilgileri matrisidir. P matrisinin boyutu, n düğüm sayısı olmak üzere “nx6”dır. Matrisin ilk üç sütunu düğüm konumlarını tutarken, dördüncü ve beşinci sütunlar sırasıyla düğümlerin yüzde cinsinden batarya ömürleri ve tampon (buffer) değerleridir. Altıncı sütun olan id değeri bu aşamada 0 olarak atanır. id alanı, ağdaki düğümlerden güncelleme paketleri alındıkça arttırılan bir değer içerir.

4.2.2. Düğümler arası mesafeler

KTMYA’nın Bölüm 3’te verilen adımlarına göre, “düğümler arası mesafe” yönlendirme kararının verilebilmesi için gerekli olan parametrelerden biridir. Bu amaçla düğümler arası mesafeler Denklem 3.2 kullanılarak, yazılım tarafından hesaplanabilmektedir. Bu işlem için, kodları Ek F’de verilen mesafe.m fonksiyonu kullanılmaktadır.

mesafe.m fonksiyonunun giriş parametresi P konum bilgileri matrisidir. Çıkış

parametresi ise Denklem 3.3’te verilen M mesafe matrisidir.

4.2.3. Master düğümü belirleme

KTMYA’da düğüm yönlendirme bilgilerini ve diğer bilgileri tutmak için master düğüm kullanılır. Benzetim yazılımında master düğümü belirlemek için master.m fonksiyonu yazılmıştır. Kodları Ek F’de verilen fonksiyon giriş parametresi olarak M mesafe matrisini almaktadır. Çıkış parametresi olarak master düğümü ve matrisin

normunu vermektedir. Master düğüm adayını belirlemek için denklem 3.4 kullanılmaktadır.

4.2.4. Bulanık mantık ile düğümler arası maliyet değerlerinin belirlenmesi

Algoritmada düğümlerin graf yapısında oluşturulabilmesi için düğümler arası maliyetin hesaplanması gerekir. Maliyet hesabı bulanık mantık kullanılarak gerçekleştirilir. Bu amaçla MATLAB 7.01’in Fuzzy Logic Toolbox kullanılarak

PBHRA.fis bulanık mantık çıkarım mekanizması oluşturulmuştur. PBHRA.fis’i de

kullanarak maliyet hesabı yapan fuzzy.m fonksiyonu yazılmıştır.

Fonksiyonun giriş parametreleri denklem 3.1’de verilen P konum matrisi, denklem 3.3’de verilen M mesafe matrisi ve yayılım mesafesi (düğüm kapsama alanı)’dır. Çıkış parametresi ise denklem 4.6’da verilen G düğümler arası maliyet matrisidir.

Fuzzy.m fonksiyonunun kodları Ek F’de verilmiştir.

Algoritmada bulanık mantığın etkisini gösterebilmek için, bulanık mantık kullanılmadan da maliyet değerleri hesaplanmıştır. Bu işlem için fuzzyless.m fonksiyonu oluşturulmuştur. Giriş ve çıkış parametreleri fuzzy.m fonksiyonu ile aynıdır. Fuzzyless.m fonksiyonunun kodları Ek F’de verilmiştir.

4.2.5. Düğümler arası en kısa yol (en maliyetsiz yol) belirleme işlemi

Algoritmada veri gönderici düğüm, master düğümden yol bilgisi sorgusunda bulunduğunda master düğüm optimizasyon yaparak yol bilgisi cevabı gönderir. Dijkstra algoritması kullanılarak bulanık mantık ile elde edilmiş maliyet değerleri minimum olacak şekilde, düğümler arası yolların belirlenmesi işlemi gerçekleştirilebilmektedir. Bu amaçla enkisayol.m fonksiyonu yazılmış ve kodları Ek F’de verilmiştir.

Enkisayol.m fonksiyonunun giriş parametresi denklem 4.6’da verilen G maliyet

hesaplanmasında Sergiy Iglin tarafından kodları yazılmış Dijkstra algoritması fonksiyonu olan grShortPath.m fonksiyonu da kullanılmıştır [51].

Fonksiyon çıkışında hesaplanan v en kısa yol matrisi bir satır matristir. Elemanları ise kaynaktan hedefe kadar olan düğümlerin numaralarıdır.

4.2.6. Düğümlerin paket üretimi

Her bir düğümün birim zamanda ürettiği paketlerin sayısı ve bu paketlerin ağda gönderileceği düğümler rastgele olarak belirlenebilmektedir. Bir düğüm eğer paket gönderecekse, kendisi dışındaki bir düğüme paket gönderebilecek şekilde hedef düğüm rastgele seçilmektedir. Düğümlerin paket üretim miktarları Poisson dağılımı ile bulunmaktadır.

Paket üretim miktarları ve alıcılarının belirlenmesi için poisson.m fonksiyonu yazılmıştır. Kodları Ek F’de verilen fonksiyonun giriş parametresi ağın düğüm sayısıdır. Çıkış parametreleri ise üretilen paket sayısı ve paketlerin alıcısı olan hedef düğüm numaralarıdır.

4.2.7. Düğümlerin hareketliliği

Bölüm 4.1.3’de verilen değiştirilebilir performans ölçüm kıstaslarından gezginliğin sağlanabilmesi için düğümler rastgele hızlarda hareket ettirilmişlerdir. 0’dan 20 m/s’ye kadar değişken hızlarda düğümlerin hareket etmelerini sağlayacak biçimde benzetim kodları yazılmıştır. Move.m fonksiyonu ile düğümlerin hareket etmeleri sağlanmıştır. En büyük hızın 20 m/s seçilmesinin sebebi, bir aracın şehir içi hızına yaklaşık olmasıdır.

Kodları Ek F’de verilen move.m fonksiyonunun giriş parametresi denklem 3.1’de verilen P konum bilgileri matrisi ve çıkış parametresi hareket etmiş haldeki düğümlerin konum bilgileri matrisidir. Move.m fonksiyonu kullanılarak herhangi bir düğümün, herhangi bir yönde (0-3600) hareket etmesi sağlanmakta ve düğümün yeni konumuna ait koordinatları üretilebilmektedir.

Şekil 4.1’de 50 düğümlü bir ağın, Şekil 4.2’de 100 düğümlü bir ağın 0-20 m/s rastgele hızlarda ve rastgele bir yönde 100 saniye boyunca hareket etmiş halleri görülmektedir. Şekillerde “o” ile gösterilenler düğümlerin başlangıç konumlarını ve “*” ile gösterilenler 100 saniye sonundaki konumlarını ifade etmektedir.

Şekil 4.1. 50 düğümlü bir ağın başlangıç ve 100 saniye hareket etmiş konumları

Şekil 4.2. 100 düğümlü bir ağın başlangıç ve 100 saniye hareket etmiş konumları 4.2.8. Düğümlerin enerji tüketimleri

hesaplanabilmektedir. Enerji tüketimleri, Ek D’de verilen enerji tüketim ifadeleri kullanılarak bulunmaktadır. Düğümlerin aldıkları, gönderdikleri ve ilettikleri paket sayıları kullanılarak enerji tüketimlerinin hesaplandığı guc.m fonksiyonu kullanılmaktadır.

Ek F’de kodları verilen guc.m fonksiyonunun giriş parametreleri alınan, gönderilen ve iletilen paket sayıları ile gönderilen paket boyutu ve gönderme mesafesidir. Çıkış parametresi ise harcanan toplam enerjidir.