• Sonuç bulunamadı

Çok amaçlı problemler, belli kısıtlar altında birden fazla amacın bulunduğu durumlarda, çözümlerin farklı amaçlar için değerlendirilerek, hangi çözümün seçilmesi gerektiğini inceleyen problemlerdir.

Çok amaçlı problemlerde, tek bir çözüm bulunabileceği gibi, bazı durumlarda amaçlar arasındaki geçişleri görebilmek ve karar vericiye birden fazla alternatif sunabilmek için, birbirini baskılayamayan çözümlerden oluşan Pareto optimal küme adı verilen çözümler kümesi de bulunabilir. Pareto optimal kümede, bir amaç kötüleşmeden bir diğer amaçta

 Pareto optimal çözümler kümesi için çözüm sayısını en büyüklemek

 Pareto optimal çözümlerle, global Pareto optimal çözümler kümesi arasındaki mesafeyi en küçüklemek

Çözümlerin dağılımını en büyüklemek

Çok amaçlı tesis düzenleme problemleri ilk kez, Rosenblatt (1979) tarafından incelenmiştir. Son yıllarda da çok amaçlı tesis düzenleme problemlerine olan ilginin arttığı görülmektedir. Literatürde, çok amaçlı tesis düzenleme problemlerinde genellikle, toplam akış mesafelerinin ve malzeme taşıma maliyetlerinin yanı sıra, malzeme toplam işlem zamanlarının en küçüklenmesi, alan gereksinimlerinin dikkate alınması (Na, Kelin, Wei, 2010), malzeme aktarma araçlarının faydalı kullanımı (Ertay, Ruan, Tuzkaya, 2006) gibi nicel amaçlar ile yakınlık derece skorları (Chen ve Lo, 2014), ardıllık gereksinimlerinin

dikkate alınması (Emami ve Nookabadi, 2013) gibi nitel amaçlar belirlenmiştir. Hem nicel hem de nitel amaçları dikkate alan çalışmalarda problem, gerçek hayata daha yakın bir şekilde modellenebilmekte, günümüz gelişmiş algoritma ve modelleme bilgisi sayesinde araştırmacılar, bu tarzda çalışmalara yönelmektedir.

Çok amaçlı TSTDP için ise ilk çalışma, Na ve diğerleri tarafından 2010 yılında yapılmıştır.

Çok ürünlü bir sistemi ele aldıkları çalışmalarında, taşıma maliyetlerini, işlem sürelerini ve alan kullanım oranlarını en küçüklemeyi hedeflemişlerdir.

Lenin ve diğerleri (2013) tarafından yapılan çalışmada hedefler, ürünler tarafından kat edilen toplam akış mesafesini, oluşturulan çizelgede kullanılan toplam bölüm sayısını ve oluşturulan çizelgede kullanılan toplam yatırım maliyetlerini en küçüklemektir. Problem, ürünlerin sayıları, ürün talep miktarları, her ürünün hangi bölümlerde hangi sırada işlem göreceği, her bölümün maliyeti ve kullanılabilecek eş bölüm sayılarının bilindiği varsayımıyla ele alınmıştır. Çok ürünlü ve ürünlerin farklı işlem sıralarına sahip olduğu bu problemde, bölüm kapasiteleri yüksek tutulmuş, parçalar için geriye dönük hareketler yasaklanmıştır. Ürünlerin farklı sıralamaları için bulunan hedef değerler normalize edilmiş, normalize edilen hedef değerlerinin ortalaması alınarak, bir ortalama uygunluk faktörü hesaplanmıştır. Problemin çözümü genetik algoritmayla gerçekleştirilmiştir. Ürün numaraları genleri, ürün sıralamaları kromozomları ifade etmektedir. Yeniden üretim işleminde rulet çemberi, çaprazlama işleminde tek noktalı çaprazlama ve 0,5 çaprazlama oranı ile 0,02 mutasyon oranını kullanılmıştır. 1000 iterasyonla çalıştırılan algoritmanın performansını değerlendirmek amacıyla, literatürden örnekler üzerinde uygulamalar yapılmıştır.

Lenin ve diğerleri (2014) diğer bir çalışmalarında ise, bir önceki çalışmalarındaki problemi aynı varsayımlar altında, yeni bir hedef daha ekleyerek ele almışlardır. Toplam malzeme aktarma maliyetini en küçüklemeyi de hedefleyen bu dört hedefli problemin çözümünde, tabu arama algoritması kullanılmıştır. Ortalama uygunluk faktörü, hedef değerlerinin normalize edilip ortalamalarının alınmasıyla bulunmuştur. Yukarıda bahsedilen literatürden alınan örneklerin yanı sıra, yeni problemler de üretilerek algoritma performansı değerlendirilmiştir.

5.1. NSGA II Algoritması ile Çok Amaçlı Tek Sıra Tesis Düzenleme Probleminin Çözümü

Tez çalışması kapsamında, çok amaçlı TSTDP için 2 amaçlı bir model oluşturulmuş, bu model NSGA II (Non dominated Sorting Genetic Algorithm II – baskın olmayan sıralamalı genetik algoritma II) algoritmasıyla çözülmüş ve algoritmanın performansını test etmek için ağırlıklı hedef programlama yöntemiyle bulunan sonuçlarla karşılaştırmalar yapılmıştır. Ele alınan amaçlar, toplam akış mesafesini en küçüklemek ve toplam yakınlık skorlarını en büyüklemektir.

NSGA II algoritması, Deb, Pratap, Agarwal ve Meyarivan tarafından 2002 yılında ortaya atılan çok amaçlı bir evrimsel algoritmadır. Algoritma, Srinivas ve Deb (1995)’in geliştirdiği NSGA algoritmasının eksikliklerinin fark edilerek düzeltilmesiyle oluşturulmuştur. NSGA II, Pareto-en iyi kümeyi araştırmak için, genetik algoritma tabanlı olarak tasarlanmıştır. Genetik algoritmanın adımlarına ek olarak, baskınlık derecelendirmesi ve yığılma uzaklığı hesaplaması işlemleri de uygulanmaktadır.

NSGA II, düşük hesaplama karmaşıklığına sahip, hızlı ve elitizmi dikkate alan bir algoritma olduğu için, literatürde pek çok alanda uygulaması bulunmaktadır. Ancak, tesis düzenleme problemlerinde, NSGA II algoritması kullanımına rastlanmamıştır.

NSGA II algoritması, hızlı baskın olmayan sıralama yaklaşımı, yığılma uzaklığı sıralaması ve bir ana döngüden oluşmaktadır. NSGA II bileşenlerine ait sözde kodlar Deb ve diğerleri (2002)’ nden alınmıştır.

Hızlı baskın olmayan sıralama yaklaşımı

Bu aşamada, yığındaki bireyler her amaç için birbirleriyle kıyaslanır ve her bireyin baskın olduğu ve bireye baskın olan bireyler belirlenir. Bireyler, baskın olma derecelerine göre, farklı baskınlık kümelerine sınıflandırılır. Hızlı baskın olmayan sıralama yaklaşımı adımları aşağıdaki gibidir.

N: yığın büyüklüğü np: baskınlık sayısı

Sp: p bireyinin baskın olduğu bireylerin kümesi olmak üzere;

Yığındaki bireyler her amaç için kıyaslanarak, bireyin baskın olduğu bireylerin sayısı ve bireye baskın olan bireyler hafızada tutulur. Eğer bireye baskın olan bireylerin sayısı 0 ise, o birey 1. baskın olmayan bireyler kümesine eklenir. Bu kümedeki her bireyin baskınlık sayısı (np), 0’dır. np = 0 olan her p bireyine ait Sp kümesindeki her q bireyi ziyaret edilir ve np değeri 1 azaltılır. Bu işlemler gerçekleştirilirken, q bireyinin baskınlık sayısı 0 olursa, q bireyi Q kümesine eklenir. Q kümesindeki bireyler, 2. baskın olmayan bireyler kümesini oluşturur. Yukarıda anlatılan süreç, Q kümesinin tüm elemanlar için uygulanarak, 3. baskın olmayan bireyler kümesi oluşturulur. Bu işlemler tüm bireyler kümelere atanıp, tüm kümeler belirleninceye kadar devam ettirilir.

Yığılma uzaklığı sıralaması

Her baskın olmayan küme, kendi içinde yığılma uzaklığına göre sıralanır. Bu sıralama, belli bir noktanın (çözümün) etrafındaki çözümlerin yoğunluğuna göre belirlenir. Bir noktanın çevresindeki noktaların yoğunluğunu ölçerken, her amaç için bu noktanın iki tarafındaki iki noktanın ortalama uzaklığı bulunur. Yığın, her amaç fonksiyonuna göre azalan sırada sıralanır. Her amaç fonksiyonu için, sınır çözümlere (en küçük ve en büyük değere sahip çözümler) sonsuz uzaklık değeri atanır. Böylece, uç değerlerin seçilmesi garantilenmiş olur. Arada kalan tüm diğer çözümlere, iki komşu çözümünün amaç fonksiyonu değerlerinin mutlak normalize edilmiş farklarından bulunan, bir uzaklık değeri atanır. Bu hesaplama tüm amaç fonksiyonları için yapılır. Toplam yığılma uzaklığı değeri, her amaç için hesaplanan bireysel uzaklıkların toplamıdır.

L=|I|

Yığındaki her i bireyi şu iki özelliğe sahip olmalıdır;

1. Baskın olmama sırası (iderece) 2. Yığılma uzaklığı (iuzaklık)

i αn j eğer (iderece < jderece) ise veya ((iderece = jderece) ve (iuzaklık > juzaklık))

Yoğunluk karşılaştırma operatörü (αn) ile i ve j bireyleri yukarıdaki ifadeye göre karşılaştırılır. Bu karşılaştırmada, farklı baskın olmayan sıralardaki iki çözümden, daha düşük (daha iyi) olanı tercih edilir. Eğer iki çözüm de aynı baskın olmayan kümedeyse,

yığılma uzaklığı daha yüksek olan, başka bir deyişle çevresindeki çözüm kalabalığı daha düşük olan çözüm tercih edilir.

Ana döngü

P0 başlangıç yığını rasgele biçimde belirlenir. Yığın baskın olmama derecelerine göre sıralanır. Her çözüme, baskın olmama derecesine göre (1, en iyi seviye olmak üzere) bir derece atanır. Genetik algoritmadaki gibi, yeniden üretim operatörü, çaprazlama ve mutasyon operatörleri kullanılarak, N büyüklüğünde (Q0) çocuk yığını üretilir. NSGA II’de elitizm, mevcut yığının bir önceki en iyi baskın olmayan çözümlerle karşılaştırılmasıyla yapıldığı için, prosedür ilk nesilden sonra tek amaçlı genetik algoritmadan farklılaşır.

t. nesil için

Rt, ebeveyn ve çocuk yığınların birleşiminden oluşan, 2*N büyüklüğündeki bir yığını ifade etmektedir ve bu yığın baskın olmama derecelerine göre sıralanır. F1, en iyi baskın olmama kümesini ifade etmektedir. Eğer F1 < N ise, F1’deki tüm çözümler, bir sonraki ebeveyn yığını (Pt+1)oluşturmak üzere seçilir. Pt+1’in kalan elemanları, baskın olmama dereceleri sırasına göre, bir sonraki sıradaki baskın olmayan kümeden seçilir. Bu prosedür, başka küme kalmayana dek devam eder. F1’den FL’ye kadar tüm kümelerdeki çözümlerin toplam sayısı, yığın büyüklüğünden büyük olacaktır. Yeni oluşturulan yığına N adet birey seçmek için, son baskın olmama derecesindeki çözümler, yığılma uzaklığına göre büyükten küçüğe

sıralanır ve yığındaki boşlukları dolduracak şekilde, en yüksek yığılma uzaklığına sahip çözümden başlayarak, yığına dâhil edilir.

Yeni oluşturulan N büyüklüğündeki Pt+1 yığınında seçim, çaprazlama ve mutasyon işlemleri uygulanarak, N büyüklüğünde bir Qt+1 yığını oluşturulur. Daha sonra Pt+1

ebeveyn yığınıyla birleştirilerek 2*N büyüklüğünde bir Rt+1 yığını oluşturulur ve yukarıda anlatılan işlemler uygulanır. Bu işlem, belirlenen sayıda nesil oluşturuluncaya kadar devam ettirilir (Şekil 5.1).

Şekil 5.1. NSGA II prosedürü (Deb ve diğerleri, 2002)

5.2. Ağırlıklı Hedef Programlama Yaklaşımı ile Çok Amaçlı Tek Sıra Tesis Düzenleme Probleminin Çözümü

Tez çalışması kapsamında, hedef programlama matematiksel modeli olarak Love ve Wong (1976) tarafından, tek amaçlı tek sıra tesis düzenleme problemleri için geliştirilen matematiksel model temel alınmıştır. Ağırlıklı hedef programlama modeli, parametreleri ve karar değişkenleri aşağıda sunulmuştur.

Parametreler;

hedef1, hedef2: 1. ve 2. amaçlar için hedef değerleri M: büyük sayı

Karar değişkenleri;

ve bölümlerinin merkezleri arası uzaklık, sağdaysa 0, diğer durumda

ij

i j i

R

 

ve bölümlerinin merkezleri arası uzaklık, sağdaysa 0, diğer durumda

Ele alınan problemde, her iki amaç da en küçüklemeyi gerektirmektedir. Ağırlıklı hedef programlamadaysa, bu amaçlardan pozitif yöndeki sapmalar (d1 ve d2) en küçüklenmeye çalışılmaktadır. Amaç fonksiyonu (Eş. 5.2), pozitif yöndeki sapmaları en küçüklemeye çalışmaktadır. Eş. 5.3 numaralı kısıtla, bölümler arası uzaklık hesaplanmaktadır. Eş. 5.4 ve Eş. 5.5 numaralı kısıt, i ve j bölümlerinin konumlarını sabitlemekte ve çakışmalarını engellemeye çalışmaktadır. Eş. 5.6 numaralı kısıt, bölümlerin, 0 referans noktası ile tüm bölümlerin toplam uzunluğu içinde yer almasını sağlamaktadır. Eş. 5.7 ve Eş. 5.8 numaralı kısıtlar, amaç fonksiyonlarının belirlenen hedef değerinin, en az düzeyde aşmasını sağlamak için eklenmiştir. Eş. 5.10. karar değişkeninin 0 veya 1 değeri alacağını, Eş. 5.10 ve Eş. 5.11 ise, karar değişkenlerinin pozitif değerler alacağını ifade etmektedir. Öncelikle, Love ve Wong’un, Eş. 5.7 ve Eş. 5.8 numaralı kısıtları içermeyen tek amaçlı modeli, 2 ayrı amaç için çözülmüş ve hedef1 ve hedef2 değerleri belirlenmiştir.

Amaç fonksiyonlarına ait veri setleri farklı aralıklarda değiştiği için, amaçların normalize edilmesine gereksinim duyulmuştur. Bunun için Malokooti (2014) tarafından verilen yöntemin kullanılması uygun görülmüştür.

Yalnızca 1. amaç fonksiyonunu en küçüklemeyi hedefleyen tek amaçlı matematiksel model, Model1; yalnızca 2. amaç fonksiyonunu en küçüklemeyi hedefleyen tek amaçlı matematiksel model ise, Model2 olarak adlandırılsın. Model1’de elde edilen en iyi sıralamanın, Model2’deki karşılığı, yani bu sıralamanın toplam yakınlık derecelendirme değeri bulunur (f2). Aynı şekilde, Model2’de elde edilen en iyi sıralamanın, Model1’deki karşılığı, yani bu sıralamanın toplam akış mesafesi değeri bulunur (f1).

Çizelge 5.1. Amaçların normalizasyonu için gerekli veriler

Çizelge 5.1’de bulunan değerlere göre, Eş. 5.7 ve Eş. 5.8 numaralı kısıtlar şu şekilde

-1

Böylece, hedef programlama modelinde, normalize edilmiş amaç fonksiyonlarından gerçekleşen pozitif yönde sapmalar en küçüklenmeye çalışılmıştır. Sonuçlar elde edildikten sonra normalize edilmiş amaç fonksiyonu değerleri tekrar eski haline çevrilmiştir.

5.3. Deneysel Sonuçlar

Tek sıra tesis düzenleme problemlerinde, daha önce toplam akış mesafesini ve toplam yakınlık skorlarını en küçükleme amaçları birlikte ele alınmadığı için, veri olarak farklı tesis düzenleme problemlerinin verilerinden yararlanılmıştır (Dutta ve Sahu, 1982;

Fortenberry ve Cox, 1985; Suresh ve Sahu, 1993; Urban, 1987).

Veri setlerinden 8 bölümden oluşan problem büyüklüğüne kadar olan problemler için, matematiksel modellerle en iyi çözümler bulunmuştur. Ancak daha büyük problemler için, hedef programlama modelleri 6 saat çalıştırılmış, elde edilen sonuçlar, NSGA II sonuçlarıyla karşılaştırılmıştır. Ağırlıklı hedef programlama yaklaşımı kullanılarak, farklı ağırlıklar için amaç fonksiyonu değerleri ile Pareto etkin küme oluşturulmuştur.

Örnek Problem (Urban, 1987); Çizelge 5.2 – 5.5 arasında örnek problemin verileri ve iki farklı çözüm yaklaşımıyla elde edilen sonuçlar görülmektedir.

Çizelge 5.2. Örnek problem için bölümler arası parça akış miktarları

0 4 6 2 4 4

Çizelge 5.3. Örnek problem için bölümler arası ilişkiler

Çizelge 5.4. Örnek problem için NSGA II ile elde edilen sonuçlar

f1 f2

Çizelge 5.5. Örnek problem için hedef programlama ile elde edilen sonuçlar

w1 w1 f1 f2

EK-10 - 20’deki tablo ve Pareto diyagramı karşılaştırmaları incelendiğinde, NSGA II ‘nin başarılı sonuçlar verdiği gözlenmektedir. Ağırlıklı hedef programlama yönteminin belirli süre çalıştırılmasıyla, büyük boyutlu problemlerde en iyi çözüme ulaşılamadığı için, pareto optimal eğrisinden uzakta sonuçlar alındığı, aynı problemler için NSGA II yöntemiyle, çok daha kısa hesaplama zamanlarında bulunan pareto etkin kümenin daha iyi ve daha fazla sayıda çözüm sunduğu görülmüştür.