8.0.0 Şebeke Kavramları BÖLÜM III: Şebeke Modelleri Şebeke (Network) Sonlu sayıdaki düğümler kümesiyle, bunlarla bağlantılı oklar (veya dallar) kümesinin oluşturduğu yapı şeklinde tanımlanabilir ve (N,A) şeklinde gösterilir. Burada N düğümler kümesini, A ise düğümleri birleştiren oklar (veya dallar) kümesini ifade eder. Şebeke kavramları En az yayılan ağaç problemleri En kısa yol problemleri En büyük akış problemleri Verilen şebekede N={,,,, } A={(,), (,), (,), (,), (,), (,), (,), (,)} şeklinde olacaktır. Yöneylem Araştırması II Şebeke Kavramları Yönlü Şebeke (Directed Network) Bir şebekede dallar yönlü ise Yönlü Şebeke değilse Yönsüz Şebeke adını alır. Dal / ok i ve j düğümlerini bağlayan çizgiye Çizgi veya Dal denir. Bu çizgi veya dalda yön varsa Ok adını alır. Şebeke Kavramları Bitişik (Komşu) Düğümler İki düğüm arasında doğrudan dal veya ok varsa o düğümlere Komşu Düğümler (veya Bitişik Düğümler) denir. Zincir/yol i ve j düğümlerini birbirine bağlayan dal veya oklar dizisine Zincir denir. Zincirdeki okların j düğümüne yönlenme şartı yoktur. Bir zincirdeki oklar aynı yönde yönlenmiş ise Yol adını alır. Her yol bir zincirdir (tersi doğru değildir). Yöneylem Araştırması II Yöneylem Araştırması II
8.0.0 Şebeke Kavramları Çevrim (Cycle) Kapalı zincire Çevrim denir. Şebeke Kavramları Kısmi Şebeke (Partial Network) Şebekenin bazı dalları/okları ihmal edilerek elde edilen şebekeye Kısmi Şebeke, şebekenin bazı düğümleri ihmal edilerek elde edilen şebekeye Alt Şebeke adı verilir. Döngü (Kapalı Yol - Loop) Yolun başlangıcı ile sonu aynı ise Döngü (Kapalı Yol) adını alır. Her döngü bir çevrim oluşturur. Tersi doğru değildir. Yöneylem Araştırması II Yöneylem Araştırması II Şebeke Kavramları Ağaç (Tree) Her düğüm çiftini bağlayan bir zincirin olduğu şebekeye Bağlantılı Şebeke denir. Şebekenin düğümlerinin sadece belli bir alt setinden oluşabilen ve çevrim ihtiva etmeyen şebekeye Ağaç denir. n düğümlü bir ağaçta (n-) adet dal bulunur. Şebekenin bütün düğümlerinin ağaçta bulunma zorunluluğu yoktur. Eğer ağaç şebekenin bütün düğümlerini içeriyorsa Yayılan Ağaç adını alır. Şebekenin yayılan ağaçlarından en küçük uzunluğa sahip olanına En Az Yayılan Ağaç (Minimum Spannıng Tree) adı verilir. Yayılan ağaçlar. (,) ve (,) dalları. (,) ve (,) dalları. (,) ve (,) dalları En az yayılan ağaç (,) ve (,) dalları Yöneylem Araştırması II Yöneylem Araştırması II 8
8.0.0 En az yayılan ağaç problemleri günlük hayatta çeşitli şekillerde ortaya çıkar; Elektrik hattı problemleri, Boru hattı problemleri, Telefon hattı problemleri, Digital bilgisayar sistemlerinin kurulması. Bu bölüm kapsamında çözüm algoritmalarından Prim ve Kruskal Algoritmaları incelenecektir. A: şebeke içerisindeki arklar kümesi A(s): her iki ucu da S altkümesi ( G=(N,A) nın herhangi bir altkümesi) içerisinde şeklinde tanımlanmış arklar kümesi x ij :i ve j düğümlerini bağlayan arkın ağaca dahil edilmesi ile ilgili 0- karar değişkeni ( katılmışsa, değilse 0 ) c ij : i ve j düğümleri arasındaki en küçük olması istenen özellik ( mesafe vb. gibi) n: düğüm sayısı Düğümlerin herhangi bir S altkümesi için Yöneylem Araştırması II 9 Yöneylem Araştırması II 0 Kruskal Algoritması (Orman Yaklaşımı) N={,,,n} şebekenin düğümlerinin kümesi, L k algoritmanın k iterasyonunda bağlanan arkların kümesi ve olsun. Adım 0: L 0 ={ } olarak alınır ve tüm arklar maliyetleri cinsinden küçükten büyüğe sıralanır. Adım : Sıralamanın en küçük olanından (i,j) başlanarak, L ={(i,j)} atama yapılır. ( Ara çözümlerde şebeke içerisindeki arklardan birden çok ağaç yapısı oluştuğu için bu yönteme orman yaklaşımı adı verilir) Adım k: Bir sonra ki sırada yer alan (i,j) arkı eğer döngü oluşturmuyorsa L k listesine eklenir, değilse bir sonraki arka geçilerek işlemler tekrarlanır. L k = n- ise çözüm tamamlanmıştır. Örnek: (Kruskal Algoritması) (Ahuja,vd. 99) Aşağıdaki şebeke için en az yayılan ağaç yapısını Kruskal Algoritması ile belirleyelim. Yöneylem Araştırması II Yöneylem Araştırması II
8.0.0 Örnek: (Kruskal Algoritması) Arkları küçükten büyüğe sıralarsak; (,) -> 0 (,) -> (,) -> 0 (,) -> (,) -> 0 (,) -> (,) -> L 0 ={(,)} olarak belirlenir. Örnek: (Kruskal Algoritması) (,) -> (,) -> 0 (,) -> (,) -> 0 (,) -> (,) -> Sıradaki en küçük maliyetli ark (,) arkıdır. Bu arkı döngü oluşturmadığı için L ={(,),(,)} olarak listeye ekleriz. Bu noktada görüldüğü gibi çözüm içerisinde düğümü, (,) ve (,) dalları olmak üzere tane ağaçtan oluşan bir orman yapısı söz konusudur. Yöneylem Araştırması II Yöneylem Araştırması II Örnek: (Kruskal Algoritması) (,) -> 0 (,) -> (,) -> 0 (,) -> (,) -> Örnek: (Kruskal Algoritması) (,) -> (,) -> 0 (,) -> (,) -> Sıradaki en küçük maliyetli ark (,) arkıdır. Bu arkı döngü oluşturmadığı için L ={(,),(,),(,)} olarak listeye ekleriz. Yöneylem Araştırması II Sıradaki en küçük maliyetli ark (,) arkıdır. Bu ark döngü oluşturduğu için çözüme katılmaz. Bir sonraki en küçük maliyetli olan ark (,) arkına bakılırsa, bu ark da döngü oluşturacağı için çözüme katılmaz. Kalan en küçük maliyetli ark (,) arkı döngü oluşturmadığı için çözüme katılır. L ={(,),(,),(,),(,)} L k =n-= olduğundan çözüm sonlandırılır. Yöneylem Araştırması II
8.0.0 Prim Algoritması (Ağaç Yaklaşımı) N={,,,n} şebekenin düğümlerinin kümesi, c k algoritmanın k iterasyonunda bağlanan düğümlerin kümesi ve ć k henüz bağlanmamış olan düğümlerin kümesi olsun. Adım 0: c 0 ={ }, ć 0 =n olarak alınır. Adım : ć 0 deki herhangi bir i düğümünden başlanır. c ={i} ve ć = ć 0 - { i } alınır. Adım k: Bağlanmış düğümlerden birine en yakın bağlanmamış düğüm belirlenir. İki veya daha fazla düğüm en yakın ise rasgele seçilir. Bu yeni düğüm bağlanmış düğümler kümesine eklenir. Yani c k- deki herhangi bir düğüme en yakın olan ć k- kümesindeki bir j* düğümü seçilir. j*, c k- e eklenir ve ć k- kümesinden çıkarılır: c k =c k- +{j*} ve ć k =ć k- -{j*} bağlanmamış düğümler kümesi ć k, boş ise durulur, aksi taktirde k=k+ alınarak işlem tekrarlanır. Yöneylem Araştırması II Örnek (bilgisayar hattı problemi) (KHO 00 Ders Notları) Bilgisayar merkezinden kullanıcı binasına bilgisayar bağlantısı kurulacaktır. Maliyeti azaltmak için çekilecek hatların mümkün olduğu kadar kısa olması istenmektedir. Muhtemel bağlantı alternatifleri ile metre cinsinden binalar arasındaki mesafeler aşağıdaki şekilde verilmiştir. Bilgisayar Merkezi 0 0 0 0 Yöneylem Araştırması II 8 0 0 Örnek (bilgisayar hattı problemi) Adım : Algoritmaya düğümünden başlayalım. c ={}, ć ={,,,,} Adım : düğümüne en yakın bağlanmamış düğüm 0 mt uzaklıktaki düğümü ise; c ={,}, ć ={,,,} Bilgisayar Merkezi 0 0 0 0 Yöneylem Araştırması II 9 0 0 Örnek (bilgisayar hattı problemi) Adım : ve düğümlerinden birine en yakın bağlanmamış düğüm düğümüne 0 mt uzaklıktaki düğümü ise; c ={,,}, ć ={,,} Bilgisayar Merkezi 0 0 0 0 Yöneylem Araştırması II 0 0 0
8.0.0 Örnek (bilgisayar hattı problemi) Adım :, ve düğümlerinden birine en yakın bağlanmamış düğüm düğümüne 0 mt uzaklıktaki düğümü ise; c ={,,,}, ć ={,} Bilgisayar Merkezi 0 0 0 Yöneylem Araştırması II 0 0 0 Örnek (bilgisayar hattı problemi) Adım :,, ve düğümlerinden birine en yakın bağlanmamış düğüm düğümüne 0 mt uzaklıktaki düğümü ise; c ={,,,,}, ć ={} Bilgisayar Merkezi 0 0 0 Yöneylem Araştırması II 0 0 0 Örnek (bilgisayar hattı problemi) Adım :,,, ve düğümlerinden birine en yakın bağlanmamış düğüm düğümüne 0 mt uzaklıktaki düğümü ise ((,) dalı çevrim oluşturduğundan dolayı incelenmez); c ={,,,,,}, ć ={ } Örnek (bilgisayar hattı problemi) ć ={} olduğu için en az yayılan ağaç bulunmuş olur. Ağacın uzunluğu ağacı oluşturan dalların uzunlukları toplamına eşit olup 0 metredir. 0 0 0 0 0 0 Bilgisayar Merkezi 0 0 0 Bilgisayar Merkezi 0 0 0 Yöneylem Araştırması II Yöneylem Araştırması II
8.0.0 Bu problemlerde her hangi bir düğümden diğer düğüme olan en Kısa Mesafenin Bulunması amaçlanır. En kısa yol problemlerinin çözümünde kullanılan iki algoritma aşağıdaki şekildedir.. Dijkstra algoritması. Floyd algoritması Matematiksel Model c ij : i ve j düğümleri arasındaki en küçük olması istenen özellik ( mesafe vb. gibi) x ij :i ve j düğümlerini bağlayan arkın ağaca dahil edilmesi ile ilgili 0- karar değişkeni ( katılmışsa, değilse 0 ) A: şebeke içerisindeki arklar kümesi (G=(N,A) yönlü bir graf olarak tanımlanır) s: kaynak (başlangıç) düğümü N: düğüm sayısı Yöneylem Araştırması II Yöneylem Araştırması II Modelle ilgili temel varsayımlar: Tüm ark uzunlukları tamsayılıdır. Şebeke s düğümünden şebekedeki diğer tüm düğümlere yönlü bir yol içerir. Şebeke negatif bir döngü içermez. (örn. negatif uzunluklu yönlü bir yol) Şebeke yönlüdür. En kısa yol mesafesi olarak tanımlanan L(.), Bellman denklemleri olarak tanımlanan şu denklemleri sağlamalıdır; Eğer L(i) ile ifade edilen mesafe etiketleri Bellman denklemlerini sağlıyorsa ve şebeke 0 uzunluklu hiçbir döngüyü barındırmıyorsa, bu mesafeler en kısa yol mesafeleridir. Yöneylem Araştırması II Dijkstra algoritması Kaynak bir düğüm ile şebekedeki diğer bir düğüm arasındaki en kısa yolun belirlenmesi amacıyla tasarlanmıştır. Avantajı, döngülü veya döngüsüz şebekelere uygulanabilmesi, dezavantajı ise negatif uzunluklu ok bulunduran şebekelere uygulanamamasıdır. Başlangıç ve ulaşılması istenen düğüm sabitlendiğinde işlem biter. Başlangıç belli fakat ulaşılması istenen düğüm belli değilse bütün düğümler sabitlendiğinde işlem biter. Yöneylem Araştırması II 8
8.0.0 Dijkstra algoritması Dijkstra algoritması (Örnek) (KHO 00 Ders Notları) ile arasındaki minimum yolu ve uzunluğu bulunuz. 8 Yöneylem Araştırması II 9 Yöneylem Araştırması II 0 Dijkstra algoritması (Örnek) 8 Dijkstra algoritması (Örnek) 8 Yöneylem Araştırması II Yöneylem Araştırması II 8
8.0.0 Dijkstra algoritması (Örnek) 8 Dijkstra algoritması (Örnek) 8 Yöneylem Araştırması II Yöneylem Araştırması II Dijkstra algoritması (Örnek) 8 Dijkstra algoritması (Örnek) 8 - düğümleri arasındaki en kısa yolun uzunluğu 0 birimdir. Yöneylem Araştırması II Yöneylem Araştırması II 9
8.0.0 Dijkstra algoritması (Örnek) 8 Bir çok sistem, her birinin kendileri üzerinden taşınan malzeme miktarını kısıtlayan kapasiteye sahip dallar içeren bir şebeke olarak modellenebilir. Bu durumlarda genellikle bir başlama noktasından (kaynak) bir bitiş noktasına (batak) maksimum miktarda akışın ulaştırılması istenir. Bu tip problemler olarak adlandırılır. Problemin DP modeli verildikten sonra, çözümünde sıkça kullanılan Düğüm Etiketleme Algoritması açıklanacaktır. Yöneylem Araştırması II Yöneylem Araştırması II 8 Yöneylem Araştırması II 9 Yöneylem Araştırması II 0
8.0.0 Yöneylem Araştırması II Yöneylem Araştırması II (İterasyon ) Örnek( Taha, 8th Ed.) Aşağıdaki şebekenin düğümünden düğümüne olan maksimum akış miktarını belirleyin. Yöneylem Araştırması II Yöneylem Araştırması II
8.0.0 (İterasyon ) (İterasyon ) Yöneylem Araştırması II Yöneylem Araştırması II (İterasyon ) (İterasyon ) 0 Yöneylem Araştırması II Yöneylem Araştırması II 8
8.0.0 (İterasyon ) (İterasyon ) Yöneylem Araştırması II 9 Yöneylem Araştırması II 0 (İterasyon ) (İterasyon ) Yöneylem Araştırması II Yöneylem Araştırması II
8.0.0 Yöneylem Araştırması II Yöneylem Araştırması II