• Sonuç bulunamadı

4. TEK SIRA TESİS DÜZENLEME PROBLEMİ İÇİN ÇÖZÜM

4.1. Tavlama Benzetimi ile Tek Sıra Tesis Düzenleme Probleminin Çözümü

TB algoritması, Kirkpatrick, Gelatt ve Vecchi tarafından 1983 yılında, istatistiksel mekanikten ilham alınarak ortaya atılmıştır. Algoritma, metallerin tavlama işleminden esinlenerek, optimizasyon problemlerinin çözümüne uyarlanması işlemidir. Tavlama işlemi, katıların yavaş yavaş soğutularak minimum enerji seviyesine ulaşmasını ifade etmektedir. Bu işlemde, katının aldığı durumlar, optimizasyon problemindeki incelenen çözümlere karşılık gelmektedir. Algoritma, amaç fonksiyonu değerine göre, belirli bir olasılıkla kötü olan çözümleri de kabul ederek, yerel en iyi çevresinden çıkıp küresel en iyiyi bulmayı hedefleyen bir yapıya sahiptir. Arama uzayındaki yerel ve küresel en iyi noktaların daha iyi anlaşılması için Şekil 4.1’de gösterilmiştir.

Şekil 4.1. Çözüm uzayında yerel ve küresel en iyi noktalar

Basit bir tavlama benzetimi algoritmasının adımları aşağıdaki gibidir (Talbi, 2009: 128).

Girdi: Soğutma çizelgesi

s = s0 / Başlangıç çözümünü oluştur T =Tmax / Başlangıç sıcaklığını belirle Durdurma koşulu sağlanana kadar

Denge koşulu sağlanana kadar (belli sıcaklıkta, T) Rastgele bir komşu üret s’

ΔE = f(s) – f(s’)

Eğer ΔE ≤ 0 ise s = s’ , komşu çözümü kabul et

Değilse, s’ komşu çözümünü e(-ΔE/T) olasılığıyla kabul et

Bitir / Denge koşulu: T sıcaklığında belirlenen sayıda iterasyon gerçekleşmesi vb.

T = g(T) / Sıcaklığı güncelle Bitir / Durdurma koşulu: T < Tmin vb.

Çıktı: Bulunan en iyi çözüm

TB algoritmasının temel bileşenleri; başlangıç sıcaklığı (T0), soğutma çizelgesi ve durdurma koşuludur. Algoritmanın karar parametreleri ise, çözüm uzayı, maliyet fonksiyonu, başlangıç çözümü, komşuluk yapısı, kabul olasılığı fonksiyonu ve soğutma çizelgesidir.

yerel en iyi

Çözüm uzayı küresel ve

yerel en iyi Amaç

yerel en iyi

Soğutma çizelgesinde, başlangıç sıcaklığına, algoritmanın her iterasyonunda sıcaklığın ne kadar soğuyacağına ve o sıcaklık değerinde kaç komşu çözümün araştırılacağına karar verilir.

Başlangıç sıcaklığı olarak, başlangıçta kötü çözümleri yüksek oranda kabul edecek kadar büyük bir değer atanması uygun olacaktır. Büyük bir değer seçilmesi durumunda, çözüm uzayındaki arama rastgele aramaya yani çözüm uzayının çok geniş bir alanında aramaya;

çok düşük bir değer seçilirse de, ilk karşılaşılan en iyi değerin seçildiği bir yerel arama algoritmasına benzeyecektir.

Her iterasyonda, sıcaklığın ne kadar azaltılacağının doğru olarak belirlenmesi, algoritma performansı açısından büyük önem arz etmektedir. Eğer soğutma hızlı gerçekleştirilirse, algoritmanın çalışma zamanı kısalırken, ulaşılan çözümlerin kalitesi düşük olacaktır. Eğer soğutma yavaş gerçekleşirse, daha iyi kaliteli çözümlere daha uzun sürede ulaşılacaktır.

Soğutma işlemi doğrusal (Eş. 4.1), geometrik (Eş. 4.2), logaritmik (Eş. 4.3), düşük azalmalı (Eş. 4.4), monoton olmayan şekilde ve problemin yapısına göre uyarlanabilir şekilde olmak üzere, farklı yöntemlerle gerçekleşebilmektedir (Talbi, 2009: 132).

Doğrusal soğutma: Ti  T0 i* (4.1)

Her sıcaklık değerinde ne kadar komşu çözümün inceleneceğine, yani o sıcaklıktaki denge durumuna kaç hareketle gelinebileceğine, statik veya uyarlamalı (adaptive) olarak karar verilebilmektedir.

Kabul olasılığı fonksiyonu, gelişim göstermeyen çözümlerin de seçilmesine olanak tanıyarak, arama uzayında farklı noktaların da aranabilmesini sağlamakta, böylece yerel en iyi noktasına takılmayı önlemeyi hedeflemektedir. Kabul olasılığı fonksiyonu Eş. 4.5’te görülmektedir. Algoritmanın ilk adımlarında, sıcaklık yüksek olduğu için kabul olasılığı da

yüksek olmaktadır, böylece çözüm uzayında daha fazla farklı alanda araştırma

Bir çözümün komşu çözümü, o çözümde küçük bir değişiklik işlemi uygulayarak, tek bir hareketle elde edilen çözümü ifade etmektedir. Sıralama çözüm gösterimine sahip problemlerde genelde, yer değiştirme veya araya ekleme yöntemleriyle komşu çözümler üretilmektedir.

TB algoritması, tesis düzenleme problemlerinin çözümünde oldukça sık kullanılmış bir algoritmadır. Algoritmanın, dinamik tesis düzenleme problemlerinde (Dong, Wu ve Hou, 2009; Şahin, Ertoğral ve Türkbey, 2010), statik tesis düzenleme problemlerinde (Chae ve Peters, 2006; Singh ve Sharma, 2008), çok amaçlı tesis düzenleme problemlerinde (Ku, Hu ve Wang, 2011; Şahin, 2011) örneklerine rastlanmaktadır.

TB algoritması, tek sıra tesis düzenleme problemlerinde ilk kez Romero ve Sanchez-Flores (1990) tarafından kullanılmıştır. Farklı komşuluk arama yöntemlerini analiz etmişler ve araya ekleme tabanlı komşuluk arama yönteminin, yer değiştirme tabanlı yöntemlere göre daha iyi sonuçlar verdiğini gözlemlemişlerdir.

Heragu ve Alfa (1992) çalışmalarında, başlangıç çözümünü bir cezalandırma yöntemiyle buldukları, melez tavlama benzetimi algoritması geliştirmişlerdir. Geliştirdikleri bu algoritmayı, tavlama benzetimi, 2-opt, 3-opt ve bir ceza algoritmasıyla karşılaştırmışlardır.

Geliştirdikleri melez algoritmanın, küçük problemler için en iyi, 20 ve 30 bölümden oluşan problemler içinse, bilinen en iyi çözümleri geliştirdiğini göstermişlerdir.

Kouvelis ve Chiang (1992) makalelerinde, esnek üretim sisteminde, bölüm sayılarının sabit olduğu ve geriye doğru hareketlere de izin verildiği varsayımları altında, bir akış hattı oluşturmak için, bir TB prosedürü kullanmışlardır. Başlangıç çözümünü rastgele olarak seçtikleri bu çalışmalarında, kötü çözümlerin kabul olasılığını 0,5; soğutma oranını 0,88 olarak, MINPERCENT’i 0,01; zamanı 50 olarak almışlardır. Algoritmanın durmasını iki

koşula bağlanmışlardır. Eğer kabul edilen çözümlerin sayısı, toplam üretilen çözümlerin belli bir oranından küçükse, algoritmanın durmasını sağlamışlardır. Bu oran MINPERCENT olarak isimlendirilmiştir. Eğer bu durum gerçekleşmezse, algoritma belirlenen zamanda durmaktadır. 17 bölümden oluşan problemlere kadar analiz yaptıkları çalışmalarında, başlangıç çözümünün önemine de değinmişlerdir. Başlangıç çözümlerini bir sezgisel (Kouvelis ve Chiang, 1987) yardımıyla belirlediklerinde, TB algoritmasının, rastgele bir sıralamayla başlatıldığı halinden daha iyi çözüm verdiğini gözlemlemişlerdir.

Alvarenga ve diğerleri (2000), TB ve tabu arama algoritmalarını temel alan bir yaklaşım geliştirerek, probleme çözüm aramışlardır. Başlangıç çözümünü rastgele olarak belirlemişlerdir. Soğutma oranı değerini 0,94; başlangıç sıcaklığını 1013, bitiş sıcaklığını 1,00 olarak belirledikleri durumda, TSTDP’leri için en iyi sonuçları aldıklarını belirtmişlerdir. 30 bölümden oluşan problemlere kadar uygulama yapmışlar, bazı problemler için en iyi çözüme ulaşırken, bazı problemler için bilinen en iyi çözümleri elde etmişlerdir.

Chen ve diğerleri (2001), farklı işlem sıraları olan çok ürünlü bir sistemde, ürünlerin kat ettikleri mesafeyi en küçükleyen bir bölüm sıralaması bulmak için, bir TB algoritması kullanmışlardır. Bunun için öncelikle, tüm ürünlerin doğru sırada işlemlerden geçmelerini sağlayan bir akış ağı oluşturan, sonra bu ağı tek hatlı bir bölüm sıralamasına dönüştüren bir algoritma oluşturmuşlardır. Son olarak, TB algoritmasıyla bulunan çözümü geliştirmişlerdir. TB algoritmasında başlangıç sıcaklığını, ilk uygun sıralamanın maliyetinin 2 katı, soğutma oranını 0,91; iterasyon sayısını 500 olarak belirlemişlerdir. Bir çözümün komşu çözümünü belirlerken kullanılan yer değiştirme, araya ekleme gibi yöntemler çok ürünlü bu problemde işe yaramayacağı için, komşu tarama yöntemi olarak probleme uygun bir yöntem geliştirmişler, seçilen çözüme alternatif akış ağlarını, komşu çözümler olarak belirlemişlerdir.

İncelenen çalışmalar ışığında TSTDP için önerilen TB algoritmasının özellikleri aşağıdaki gibi belirlenmiştir.

Çözüm gösterimi olarak, sıralama (permütasyon) tipi gösterim tercih edilmiştir. Her çözüm, bölümlerin bir sıralamasını ifade etmektedir. Başlangıç çözümü, bölüm numaralarının küçükten büyüğe (1-2-3-…-N) sıralanmasıyla elde edilmiştir.

Başlangıç sıcaklığı, yapılan denemeler sonucunda, %k oranında kötü çözümü, P olasılıkla kabul edecek şekilde belirlenmiştir (Eş. 4.6). Yapılan ön çalışmalar sonunda, en iyi sonuçlara k=70, P=0,95 seçildiğinde ulaşıldığı görülmüştür ve tüm problemlerin çözümünde bu parametre değerleri kullanılmıştır. Kabul olasılığı da Eş.4.6’da görüldüğü şekilde, mevcut sıcaklığa bağlı olarak hesaplanmaktadır.

0 ln( ) T k

  P (4.6)

Yapılan ön çalışmalar sonucunda, soğutma oranı (α) olarak 0,90 seçilmiştir. Soğutma işlemi geometrik olarak yapılmıştır. Böylece her iterasyon sonunda sıcaklık (T), 0,90 ile çarpılarak bir sonraki iterasyon için yeni T değeri bulunmuştur.

Aynı sıcaklık değeri altında komşu tarama işlemi yapılırken, kaç iterasyon gerçekleştirileceği problemin büyüklüğüne bağlanmış ve yapılan ön çalışmalar sonucunda bu sayının (5*bölüm sayısı) olmasına karar verilmiştir. Her komşuluk aramasının sonucunda, eğer incelenen komşu çözüm, bir önceki en iyi çözümden daha iyiyse, yeni en iyi çözüm olarak belirlenmekte ve artık bu komşu çözümün komşuları araştırılmaktadır.

Eğer incelenen komşu çözüm, bir önceki en iyi çözümden daha kötüyse, başlangıçta belirlenen kabul olasılığı kadar ihtimalle, en iyi çözüm olarak belirlenmekte ve bir sonraki iterasyonda bu çözümün komşuları araştırılmaktadır. Burada rastgele olarak üretilen bir sayı kullanılmakta ve kabul olasılığı bu sayıdan büyükse, kabul durumu gerçekleşmektedir.

Kaç farklı sıcaklık değerinde arama yapılacağı da, yine problem büyüklüğüne bağlanmış ve (5*bölüm sayısı) olarak belirlenmiştir. Böylece bir önceki paragrafta bahsedilen işlemler bitirilip, gerekli iterasyon sayısına ulaştıktan sonra, sıcaklık geometrik olarak (α*T) düşürülmekte ve en iyi çözümün komşu çözümleri, yeni sıcaklık değerinde taranmaktadır.

Komşuluk arama yöntemi olarak, ikili yer değiştirme, araya ekleme yöntemleri kullanılmıştır. Bunların dışında, TSTDP’e özel bir durumu ele alan komşuluk arama yöntemi geliştirilmiştir.

İkili yer değiştirme yönteminde, rastgele olarak seçilen iki bölümün yerleri değiştirilmekte, araya ekleme yönteminde ise, rastgele seçilen bir bölüm, rastgele seçilen bir konuma yerleştirilmektedir.

Üçüncü komşuluk yöntemi olarak, aralarında en yüksek parça akışı olan iki bölüm ardışık şekilde tutulmakta ve bu iki bölüm tek bir bölüm gibi düşünülerek, hiç ayrılmadan, araya ekleme işlemi yapılarak komşuluklar taranmaktadır. Bu komşuluk tarama yöntemine, tek bloklu araya ekleme yöntemi adı verilmiştir.

Belirlenen sayıda farklı sıcaklık değerinde, işlemler tamamlandıktan sonra algoritma durmakta ve o zamana kadar bulunan en iyi çözüm, algoritma tarafından raporlanmaktadır.