• Sonuç bulunamadı

UlaşımÇevresel

3. SÜRDÜRÜLEBİLİR ULAŞIM PLANLAMADA KARAR VERME

3.2. Tezde Kullanılan Matematiksel Modeller

Tez kapsamında kısıt programlama ve hedef programlama matematiksel modelleri kullanılmıştır.

42 3.2.1. Hedef Programlama

Hedef programlama (HP), çok kriterli problemleri analiz etmek için kullanılan, iyi bilinen ve çok popüler bir araçtır. HP tekniklerinin geliştirilmesi ve iyileştirilmesi, HP’yi ÇKKV problemleri ile başa çıkmak için en çok tercih edilen araçlardan biri haline getirmiştir.

Uygulama alanları mühendislik, yönetim ve sosyal bilimler de dahil olmak üzere son derece geniştir.

Kaynak tahsisi için karar vericilere yardımcı olmaya çalışan HP yöntemi ilk olarak 1955'te önerilmiştir (Charnes vd., 1955). HP yöntemi, başarı hedefleri ile gerçekleşen sonuçlar arasındaki sapmaları en aza indirmeyi amaçlamaktadır. HP yöntemi, kaynakların sınırlamalarını dikkate aldığı için mühendislik uygulamalarında çok amaçlı sorunların çoğuna uygulanmıştır (Yang vd., 2016). HP, özellikle çelişen hedeflerin olduğu yerlerde karar analizinde geniş bir uygulamaya sahiptir. Bu matematiksel modelleme aracı kullanılarak, çeşitli uygulamaları ile mühendislik, yönetim ve sosyal bilimlerle ilgili araştırmalarda özellikle kullanılmıştır. (Colapinto vd., 2015).

HP’deki amaç, ulaşılmak istenen hedefler arasındaki sapmaları minimize etmektir.

Doğrusal programlamanın simplex algoritmasında yer alan bu gibi sapmalar aylak değişkenler olarak isimlendirilirken, bu sapma değişkenler HP’de yeniden anlamlandırılırlar. Sapma değişkenler her bir hedeften hem pozitif yönde hem de negatif yönde sapmalar şeklinde iki boyutta gösterilir. Amaç fonksiyonu yalnızca bu sapma değişkenlerden oluşturulur. Formülasyonun genel gösterim ise Çizelge 3.5’te gösterilmektedir.

Burada, 𝑥𝑗 karar değişkenleri, 𝑏𝑖 i-nci hedef için istenilen değer, n karar değişkenlerinin toplam sayısı m ise toplam kısıt sayısıdır. Pk: öncelik wk: ağırlıkve aij:parametrelerdir.

HP’de amaç, hedefler arasındaki sapmaların minimize yapılması olduğu için bu sapma değişkenleri hem negatif hem pozitif yönde olmak üzere iki boyutta gösterilir. Aynı anda hem pozitif hem de negatif sapma oluşamaz dolayısıyla sapma değişkenlerin en az bir tanesinin sıfıra eşit olması gerekmektedir.

43 Çizelge 3.5. Hedef programlama formülasyonu

Hedef

𝑀𝑖𝑛 𝑍 = [𝑃1𝑤1(𝑑1+, 𝑑1)+. . . +𝑃𝑘𝑤𝑘(𝑑𝑘+, 𝑑𝑘)] (3.1)

Kısıtlar ෍ 𝑎𝑖𝑗𝑥𝑗− 𝑑𝑖++ 𝑑𝑖

𝑛

𝑗=1

= 𝑏𝑖 (∀𝑖) (3.2)

𝑑𝑖+, 𝑑𝑖, 𝑥𝑗 ≥ 0 𝑖 = 1, … . , 𝑚 , 𝑗 = 1, … , 𝑛 (3.3)

İstenmeyen sapma değişkenlerin oluşturulmasından hemen sonra HP formülasyonu kurulur.

• 𝑑𝑖+ :pozitif sapma değişkeni 𝑖 = 1, … . , 𝑚

• 𝑑𝑖 :negatif sapma değişkeni𝑖 = 1, … . , 𝑚

Belirlenen bütün değişkenler arasından pozitif veya negatif yönde sapma değişkenleri minimize edilmeye çalışılır.

Çok amaçlı programlama teknikleri arasında yer alan HP birçok amacı aynı anda gerçekleştirecek tek model ortaya koymaktadır. 0-1 hedef programlama ise HP’yi daha özele indirgeyerek karar verme sürecine dahil etmektedir. HP, her bir hedeften sapmaların toplamı olan bir işlevin en aza indirilmesini gerektirir. Bir diğer fark, Doğrusal programlama optimize edilecek nesnel bir işlev üzerinde çalışırken, mutlak kısıtlamalara tabi olmakla birlikte, HP, hedeflerine daha fazla veya daha az ölçüde ulaşılabilen önceliklerle daha nesnel işlevler üzerinde çalışır. Bu nedenle HP modeli, optimize etmekten ziyade tatmin edici bir çözüm hedefleyen doğrusal programlama modelinden daha esnektir (Rehman, 2019).

44

Doğrusal Programlama ile karşılaşılan bir karar problemi, takip edilecek bir hedefin belirlenmesini gerektirir ve bu da hedefin kendisini tam olarak ifade edebilecek fayda kriterini optimize eder. Sorun daha zıt hedefleri incelese bile, bu durum doğrusal programlamanın kanonik yaklaşımı, farklı hedeflerin doğrudan karşılaştırılabilir olmasını sağlayan tek bir ortak payda ile ifade edilebileceğini varsayar. Dolayısıyla, birden fazla çatışan hedef arasında doğrudan uzlaşılmış bir çözümün belirlenebildiği problemlerde, HP gibi çok amaçlı yöntemlerin kullanılması tercih edilir.

3.2.2. Kısıt Programlama

Kısıt programlama hesaplama ve mantığa dayalı tekniklerin kombinasyonuna dayanan bir programlama yaklaşımıdır. Kısıtlar, her birisi tanımlanan bir alandaki değerlerden birisini alabilen değişkenler arasındaki ilişkileri ifade etmek amacıyla kullanılan formlardır. Kısıt programlama, tanımlı alanlardan oluşan değişkenlerin kombinasyonu olarak tanımlanabilir. Bu yaklaşımda, ana mantık problemin sahip olduğu kısıtların matematiksel ve mantıksal ifadelerle oluşturulması ve uygun çözüm alanlarının tanımlanmasıdır.

Tanımlanan çözüm alanlarından değişkenlerin alabileceği uygun değerler bulunur ve problemin çözümü elde edilir. Verilen bir problemi kısıt programlama ile çözmek için kısıt sağlama problemi olarak formüle etmek gerekir (Vermuyten vd., 2018; Gür vd., 2019) Gerçek hayat problemlerindeki heterojen kısıtları modelleme sürecinde kolaylık sağlayan kısıt programlama yöntemi, matematiksel modellemelere alternatif olarak geliştirilmiştir. Yapısı modelleme, arama ve filtreleme olmak üzere üç bileşenden oluşmaktadır. Değişkenler arasındaki ilişkileri gösterme özelliği sayesinde klasik matematiksel programlama yönteminden sıyrılmaktadır. En önemli özelliği matematiksel kısıtlar içermesinin yanı sıra mantıksal ve sembolik ifadelere modelde yer vermesidir. Bir kısıt programlama yapısı şu şekilde tanımlanmaktadır:

Tanımlama yapılırken ilk olarak {X, D, C} ifadelerinden yararlanılmaktadır. Bu ifadelerde

"Xi” bir karar değişkeni olmak üzere, bu değişkenin alabileceği değerler kümesi Si ile tanımlanmaktadır. Karar değişkenlerinin alabileceği değerleri sınırlayan bir Ck kısıtlar

45

kümesinden oluşan yapının bütünü kısıt programlamayı ifade etmektedir. Bir çözümün olabilmesi, bütün karar değişkenlerinin bütün kısıtları sağlayan ve tanımlı oldukları alanlardan bir değeri almaları ile mümkündür (Vermuyten vd., 2018). Ele alınan problem için tüm çözüm alanı ise D1 x, …. x Dn olarak temsil edilir. Genel bir kısıt programlama yapısı Çizelge 3.6’daki gibi gösterilebilir (Apt, 2003).

Çizelge 3.6. Kısıt programlama formülasyonu

Hedef

𝑀𝑖𝑛 𝐻 = [𝑋1, . . . , 𝑋𝑛] (3.4)

Kısıtlar 𝐶𝑗 = {𝐶1, … . . , 𝐶𝑚} (∀𝑖𝜖 {1, … 𝑚}) (3.5)

𝑋𝑖 𝜖 𝐷𝑖, (∀𝑖𝜖 {1, … 𝑛} (3.6)

Kısıt programlama amaç fonksiyonunun olup olmamasına göre iki tipte sınıflandırılır.

Birinci tip olan “Kısıt Sağlama Problemleri” amaç fonksiyonu olmadan modellenir ve uygun bir çözüm veya bütün çözümler bulunana kadar çalıştırılır. Amaç fonksiyonu eklenerek çözülen kısıt programlama problemleri ise “Kısıt Optimizasyon Problemleri”

olarak adlandırılır.

Kısıt programlama yönteminde çözüm süreçleri aşağıdaki aşamalara göre ilerlemektedir (Eren vd., 2019): İlk olarak her bir değişken için oluşturulan tanım kümesinden tüm kısıtları sağlamayan değerler çıkartılır. Böylece tüm kısıtları sağlayan değerler ile tanım kümesi güncellenmiş olur. Daha sonra tüm değişkenlere kısıtları sağlaması için değer ataması yapılan çözüm araması yapılır. Bu süreç arama ağacı olarak adlandırılmaktadır ve karar değişkeni bir düğüm değişkenlerin alabileceği değerler ise dal olarak gösterilmektedir. Mevcut problem alt problemlere bölünerek dallanmalar oluşturulur.

Arama ağacındaki değişkenlere değer ataması yapılarak düğüm-dal yapısı oluşturulmuş olur. Eğer tüm değişkenlere atanan değerler tüm kısıtları sağlıyorsa problem tamamlanmış

46

ve çözüm elde edilmiş olarak kabul edilmektedir. Eğer herhangi bir değer için bile değişken tanımlanmazsa bu durumda geri dönüş algoritması adı verilen sistem devreye girmektedir. Bu sistem ile diğer dallar denenmekte ve istenilen değer bulunana kadar çözüm süreci devam ettirilmektedir. Dallanma süreçleri boyunca çözümsüzlüğe götürebilecek değerlerin azaltılması amaçlanmaktadır. Bu durum diğer dallara geri dönüşleri azaltmayı sağlamaktadır.

47