Yöneylem- Doğrusal Programlama ve Ulaştırma Modeli Ders Notları

January 28, 2017 | Author: mamili09 | Category: N/A
Share Embed Donate


Short Description

Download Yöneylem- Doğrusal Programlama ve Ulaştırma Modeli Ders Notları...

Description

1

ĠÇĠNDEKĠLER GĠRĠġ ..............................................................................................................................3 DOĞRUSAL PROGRAMLAMA ................................................................................5 1.1 DOĞRUSAL PROGRAMLAMA MODELĠNĠN TANIMI .................................................5 1.1.1 Amaç Fonksiyonu ...........................................................................................5 1.1.2 Kısıtlayıcı Şartlar ...........................................................................................5 1.1.3 Pozitiflik Şartı .................................................................................................6 1.1.4 Örnek Problem 1.1: Basit Kâr Maksimizasyonu Problemi ............................6 1.1.5 DP Modelinin Matris Notasyonuyla İfadesi ...................................................8 1.2 DP MODELĠNĠN DAYANDIĞI VARSAYIMLAR .........................................................9 1.2.1 Doğrusallık .....................................................................................................9 1.2.2 Toplanabilirlik ................................................................................................9 1.2.3 Bölünebilirlik ..................................................................................................9 1.2.4 Belirlilik ........................................................................................................10 1.3 DP MODELLERĠNĠN KURULMASI .........................................................................10 1.3.1 Örnek Problem 1.2: Basit Maliyet Minimizasyonu Problemi.......................11 1.3.2 Örnek Problem 1.3: Şartlı Üretim Problemi ................................................12 1.3.3 Örnek Problem 1.4: Araç Akışı Problemi.....................................................13 1.3.4 Örnek Problem 1.5: Fire Minimizasyonu Problemi .....................................15 1.3.5 Örnek Problem 1.6: Ulaştırma Problemi .....................................................17 1.3.6 Problemler ....................................................................................................18 1.4 DP MODELLERĠNĠN ÇÖZÜMÜ...............................................................................20 1.4.1 Konuyla İlgili Bazı Kavramlar .....................................................................20 1.4.1.1 Konveks Set ...........................................................................................20 1.4.1.2 Uygun Çözüm (UÇ)...............................................................................21 1.4.1.3 Temel Uygun Çözüm (TUÇ) .................................................................21 1.4.1.4 Optimal Çözüm (OÇ) ............................................................................21 1.4.1.5 Tipik Maksimizasyon Modeli ................................................................22 1.4.1.6 Tipik Minimizasyon Modeli ..................................................................22 1.4.2 Grafik Çözüm................................................................................................22 1.4.2.1 Birden Fazla Optimal Çözüm ................................................................28 1.4.2.2 Çözümün Bulunmaması Durumu ..........................................................29 1.4.2.3 Grafik Çözüm Örnekleri ........................................................................30 1.4.2.4 Problemler .............................................................................................33 1.4.3 Cebirsel Çözüm ............................................................................................34 1.4.4 Simpleks Çözüm Yöntemi ..............................................................................36 1.4.4.1 Kanonik Form ........................................................................................36 1.4.4.2 Tipik Maksimizasyon Modelinde Primal Simpleks Yöntem .................40 1.4.4.2.1 Ġterasyonlarda Formül Kullanımı ve BasitleĢtirici Kurallar ...........46 1.4.4.2.2 Örnek Problem 1.7 ..........................................................................48

2 1.4.4.3 Minimizasyon Türündeki Amaç Fonksiyonunun Maksimizasyon Türünde Ġfade Edilmesi .....................................................................................49 1.4.4.4 Ġki AĢamalı Genel Simpleks Yöntem ....................................................50 1.4.4.4.1 Örnek Problem 1.8 ..........................................................................55 1.4.4.4.2 Örnek Problem 1.2‟nin Genel Simpleks Yöntemle Çözümü ..........57 1.4.4.5 Simpleks Çözüm Yönteminde Dejenerasyon ........................................59 1.4.4.6 Problemler. ............................................................................................60 1.4.5 DP Modelinde Düalite ..................................................................................61 1.4.5.1 Düal Modelin Yorumu...........................................................................62 1.4.5.2 Primal-Düal ĠliĢkileri .............................................................................63 1.4.5.3 Düal Simpleks Çözüm Yöntemi ve Tipik Minimizasyon Modeli .........66 1.4.5.3.1 Örnek Problem 1.9 ..........................................................................67 1.4.5.4 Primal ve Düal Çözümler Arasındaki Simetrik ĠliĢki ............................71 1.4.5.5 Gölge Fiyatlar ........................................................................................73 1.4.5.6 Duyarlılık Analizi ..................................................................................75 1.4.5.6.1 Sağ Taraf Değerlerindeki DeğiĢmeler ............................................76 1.4.5.6.2 Amaç Fonksiyonu Katsayılarının Geçerlilik Sahası .......................78 1.4.5.7 Problemler .............................................................................................80 1.4.6 Düzeltilmiş (revised) simpleks yöntem..........................................................81 1.4.7 DP Modellerinin Bilgisayarda Çözümü .......................................................89 ULAġTIRMA MODELĠ .............................................................................................90 2.1 GĠRĠġ ....................................................................................................................90 2.2 GENEL ULAġTIRMA MODELĠ ...............................................................................90 2.3 DENGELENMĠġ ULAġTIRMA MODELĠ VE KUZEYBATI KÖġEMETODU .................92 2.3.1 Boş Hücre Rotaları ve Optimallik Testi........................................................94 2.3.2 Rota Örnekleri ..............................................................................................98 2.3.3 Eş Maliyetli Alternatif Çözümler ..................................................................98 2.4 BAġLANGIÇ DAĞITIMINDA YAKLAġIM YÖNTEMLERĠ .......................................100 2.4.1 Kestirme Yaklaşım Metodu .........................................................................100 2.4.2 Vogel Yaklaşım Metodu ..............................................................................101 2.5 DENGELENMEMĠġ ULAġTIRMA MODELĠ ............................................................103 2.5.1 Kapasite Fazlalığı ve Suni Hedef Eklenmesi ..............................................103 2.5.2 İhtiyaç Fazlalığı ve Suni Kaynak Eklenmesi ..............................................105 2.6 ULAġTIRMA MODELĠNDE BOZULMA .................................................................107 2.7 PROBLEMLER .....................................................................................................108 KAYNAKLAR ...........................................................................................................111 DĠZĠN .........................................................................................................................112

3

GĠRĠġ Günümüzde, kaynakların en verimli Ģekilde kullanılması, ekonomilerin ve iĢletmelerin baĢta gelen amacıdır. Yöneylem AraĢtırması bilimi de esas olarak, optimal kaynak kullanımını sağlamak üzere geliĢtirilmiĢ kantitatif karar verme tekniklerinden oluĢmaktadır. 1940‟lı savaĢ yıllarının, kaynak kullanımında ortaya koyduğu bir takım mecburiyetlerin bu bilim dalının doğmasında büyük önem taĢıdığı kabul edilir. BaĢlangıçta, özellikle askeri problemler ele alındığı için ülkemizdeki ilk uygulamaları da askeri alanda olmuĢ ve söz konusu bilim dalı “Harekat AraĢtırması” adıyla anılmıĢtır. Yöneylem AraĢtırması (YA), disiplinler arası bir bilim dalı olduğu için uygulama sahası çok geniĢtir. Karar vermenin söz konusu olduğu hemen her sahada YA tekniklerinden faydalanılmaktadır. BaĢta endüstri ve iĢletme olmak üzere çeĢitli mühendislik alanlarında, ekonometrik çalıĢmalarda, planlama ve programlama çalıĢmalarında YA teknikleri önemli bir araç durumundadır. Yöneylem AraĢtırması modelleri, deterministik ve probabilistik modeller olmak üzere iki ana gruptan oluĢur. Probabilistik modellerde, ihtimale ve bir takım istatistiki dağılımlara bağlı olarak cereyan eden olaylar için çeĢitli karar teknikleri geliĢtirilmiĢtir. Deterministik modellerde ise, tesadüfe bağlı olmayan, belirli verilerden hareketle, belirli sonuçlara ulaĢılır. Deterministik modeller “Matematik Programlama” adıyla da anılır ve bunlar içinde en yaygın olarak kullanılanı “Doğrusal Programlama”dır. Buradaki programlama kelimesi bilgisayar programlama manasında değil, planlama, düzenleme anlamındadır. YA tekniklerinin etkinliğinin artması, büyük ölçüde, bilgisayar teknolojisindeki geliĢmeye paralellik gösterir. Gerçek hayattaki büyük hacimli problemlerin çözümünde YA yöntemlerinin uygulanabilmesi ancak bilgisayar desteği ile mümkün olabilmektedir. Kullanılan bir YA tekniğinin baĢarısı, kurulan modelin gerçek hayattaki olayı ne ölçüde temsil ettiğine bağlıdır. Modelle olay arasındaki münasebet yeteri kadar güçlü değilse elde edilecek sonuçların fazla bir anlamı olmayacaktır. Diğer bir ifadeyle gerçek hayattaki bir olaya ait modelin kurulması, iĢin en zor ve en önemli yanıdır. YA bilimine, “problem çözme sanatı” denilmesinin sebebi de bu olsa gerektir. Kitapta ele aldığımız modeller, fakültemizin Ġktisat ve ĠĢletme bölümlerinde okutulan “Yöneylem AraĢtırması” dersine ait konuların bir kısmını oluĢturmaktadır. Birinci Bölüm‟de “Doğrusal Programlama” modeli iĢlenmiĢtir. Bu bölümde doğrusal programlama modellerinin kurulması, çeĢitli çözüm teknikleri, düalite ve duyarlılık analizi gibi konular incelenmiĢ ve örnek problemlerle konulara açıklık getirilmeye çalıĢılmıĢtır. Ġkinci Bölüm‟de ise, doğrusal programlamanın bir uygulama sahası olduğu halde, daha basit tekniklerle çözülebilen “UlaĢtırma Modeli” ele alınmıĢtır.

4

5

Birinci Bölüm

DOĞRUSAL PROGRAMLAMA

1.1 Doğrusal Programlama Modelinin Tanımı Doğrusal Programlama (DP); doğrusal eĢitlik veya eĢitsizlik sınırlayıcı Ģartları altında, yine doğrusal bir amaç fonksiyonunu optimize (maksimize veya minimize) etmek olarak tanımlanabilir. Genel bir DP modeli üç unsurdan oluĢmaktadır. Bunlar, optimize edilecek olan amaç fonksiyonu, kısıtlayıcı Ģartlar ve gerçek hayata uygun olarak, değiĢkenlerin pozitif değer olması mecburiyetidir. 1.1.1 Amaç Fonksiyonu Bir DP modelinde optimize edilecek olan büyüklük amaç fonksiyonu olarak adlandırılır. Bu fonksiyonu f harfiyle gösterelim. f fonksiyonunun bağlı olduğu değiĢkenler, x1, x2, ..., xn ile, değiĢikliklere ait katsayılar da c1, c2,, ..., cn sabitleri ile gösterilirse amaç fonksiyonu,  Maksimize  veya   Minimize   

f = c 1 x 1 + c2 x 2 + . . . + cn x n

(1.1)

Ģeklinde ifade edilebilir. DP modelinin amacı f‟yi optimum (maksimum veya minimum) kılan x1, x2,, ..., xn değerlerinin bulunmasıdır. 1.1.2 Kısıtlayıcı ġartlar Doğrusal bir fonksiyonun pozitif sonsuzda maksimum, negatif sonsuzda minimum değerini aldığını biliyoruz. DP modellerinde doğrusal amaç fonksiyonunun optimize edilmesi söz konusu olduğuna göre x1, x2, ..., xn değiĢkenleri için bazı kısıtlayıcı Ģartlar ortaya konulmadığı takdirde maksimizasyon veya minimizasyon iĢleminin bir anlamı kalmayacaktır. DP modelinde kısıtlayıcı Ģartlar, a11 x1 + a12 x2 + . . . + aln xn (, =, ) b1 a21 x1 + a22 x2 + . . . + a2n xn (, =, ) b2 .................................... aml x1 + am2 x2 + . . . + amn xn (, =, ) bm

(1.2)

Ģeklindeki doğrusal eĢitlik veya eĢitsizliklerle (küçük eĢit, büyük eĢit) ifade edilir. Burada a11, a12,, ..., amn ve b1, b2,, ..., bm sabit değerlerdir.

6

1.1.3 Pozitiflik ġartı DP modelindeki değiĢkenlerin gerçek hayattaki karĢılıkları hiçbir zaman negatif değer olmadığı için, bu değiĢkenlere ait çözüm değerlerinin negatif olmasının bir anlamı yoktur. O halde bir DP modelinde sınırlayıcı Ģartlara ek olarak, değiĢkenlerin pozitif değerler alma mecburiyeti söz konusudur. Bu mecburiyet, pozitiflik Ģartı olarak bilinen, x1, x2,, ..., xn  0

(1.3)

ifadesiyle belirtilir. DP modelinin üç unsuru kısaltılmıĢ notasyonla Ģöyle ifade edilebilir. Amaç fonksiyonu, n

 Maksimize  f  c x  j j  veya Minimize  j 1

(1.4)

Kısıtlayıcı Ģartlar, n

 aij x j

(, =, ) bi

(i=1, 2, ..., m)

(1.5)

j 1

Pozitiflik Ģartı, xj  0

(j=1, 2, ..., n)

(1.6)

Buraya kadar anlatılanları bir örnek problem üzerinde gösterelim. 1.1.4 Örnek Problem 1.1: Basit Kâr Maksimizasyonu Problemi Bir firma Ürün 1 ve Ürün 2 adında iki farklı mamul üretmektedir. Üretimde Makine 1 ve Makine 2 adlarında iki farklı üretim aracı kullanılmaktadır. Firma birim üretim baĢına, Ürün 1 için 5 lira, Ürün 2 için 7 lira kâr etmektedir. Belli bir zaman dilimi için Makine 1‟in çalıĢma kapasitesi 60 saat, Makine 2‟nin 80 saattir. Ürün 1‟in imalinde 2 saat Makine 1 kapasitesi, 4 saat Makine 2 kapasitesi kullanılmaktadır. Benzer Ģekilde, Ürün 2‟nin imali için de 3 saat Makine 1 kapasitesi, 2 saat Makine 2 kapasitesi gerekmektedir. Bu Ģartlar çerçevesinde firma kârını maksimum kılmak için nasıl bir üretim planı uygulamalı, diğer bir deyiĢle Ürün 1 ve Ürün 2‟den ne miktarlarda üretim yapmalıdır. Önce problemin verilerini daha derli toplu olarak bir tablo Ģeklinde ifade edelim.

7

Gerekli Kapasiteler (Saat)

Makine Kapasiteleri

Ürün 1

Ürün 2

(Saat)

Makine 1

2

3

60

Makine 2

4

2

80

Birim Ürün BaĢına Kâr (Lira)

5

7

Ürün 1‟den üretilecek olan miktarı x1 ile, Ürün 2‟den üretilecek olan miktarı da x2 ile gösterelim. Problemin verilerine göre firmanın Ürün 1‟den elde edeceği kâr, 5x1 Ürün 2‟den elde edeceği kâr, 7x2 her iki üründen elde edeceği toplam kâr, 5x1 + 7x2 olacaktır. Firmanın amacı toplam kârı mümkün olan en yüksek değere çıkarmak, yani maksimize etmektir. Böylece problemimizin amaç fonksiyonu Ģu Ģekilde ortaya çıkmıĢ olmaktadır. Maksimize f = 5x1 + 7x2 Burada f toplam kâr değerini göstermektedir. Üretim esnasında, Makine 1 ve Makine 2‟nin kapasiteleri firma için kısıtlayıcı Ģartları oluĢturmaktadır. Önce Makine 1‟i göz önüne alalım. Ürün 1‟in üretiminde, 2x1 saat Makine 1 kapasitesi, Ürün 2‟nin üretiminde ise, 3x1 saat Makine 1 kapasitesi kullanılacaktır. Kullanılan toplam kapasite Makine 1‟in kapasitesi olan 60 saati aĢamayacağına göre bu kısıtlayıcı, 2x1 + 3x2  60 eĢitsizliği ile ifade edilebilir. Benzer Ģekilde Makine 2‟nin kapasitesi için de, 4x1 + 2x2  80 eĢitsizliği yazılabilir. Böylece problemin kısıtlayıcıları ortaya çıkmıĢ olmaktadır. Diğer taraftan yapılacak üretim miktarlarının negatif değer olması mümkün değildir. Yani herhangi bir ürün ya üretilmeyecek veya üretilen miktar pozitif bir değer

8 olacaktır. Bu durum problemin pozitiflik Ģartı olan, x1  0 x2  0 eĢitsizlikleriyle veya kısaca, x 1, x 2  0 Ģeklinde ifade edilebilir. ġu halde firmanın optimum üretim planı aĢağıdaki DP modelinin çözümüyle bulunabilecektir. Amaç Fonksiyonu: Maks. f = 5x1 + 7x2 2x1 + 3x2  60

Kısıtlayıcı ġartlar:

4x1 + 2x2  80 x 1, x 2  0

Pozitiflik ġartı:

DP modellerinin çözüm tekniklerini incelediğimizde bu probleme tekrar döneceğiz. 1.1.5 DP Modelinin Matris Notasyonuyla Ġfadesi Daha önce (1.1) ve (1.2) ve (1.3) ifadeleriyle belirttiğimiz genel DP modeli matris notasyonu ile de gösterilebilir. Böylece hem modelin ifade edilmesi kolaylaĢmakta, hem de çözümde izlenecek algoritma ve yöntemlerin belirtilmesine uygun pratik bir araç elde edilmiĢ olmaktadır. Daha önce kullanılan sembolleri aĢağıdaki matris ve vektörler Ģeklinde düzenleyelim.

 a11 a A   21    a m1

a12 a 22  am2

 a1n   x1   b1  0       0   a2n  x b x  2 b   2  O   c  c1              a mn  0 nx1  xn  bm 

c2  cn 

Burada A, katsayılar matrisi, x, değiĢkenler vektörü, b, sağ taraf vektörü, O, nx1 boyutunda sıfır vektörü, c, amaç katsayıları vektörüdür. Yukarıdaki matris ve vektörler kullanılarak genel DP modeli,  Maksimize   veya Minimize  f = cx  

olarak ifade edilebilir.

(1.7)

Ax (, =, ) b

(1.8)

x0

(1.9)

9

1.2 DP Modelinin Dayandığı Varsayımlar Bir matematiksel model belli varsayımlar altında geçerlidir. Gerçek hayattaki olaylar bu varsayımları sağladıkları sürece model tarafından iyi bir Ģekilde temsil edilebilir ve modelin çözümüyle elde edilen sonuçlar anlamlı olabilir. DP modeli de bir takım varsayımlara dayanmaktadır. Varsayımlar Ģöyle sıralanabilir. 1.2.1 Doğrusallık Bu varsayıma göre DP modelinde amaç fonksiyonu ve kısıtlayıcılar doğrusal fonksiyonlardır. Böylece; modelde ifade edilen kaynak kullanımı, sağlanan kâr değeri gibi büyüklüklerin değiĢkenlerle doğru orantılı olduğu kabul edilmektedir. Mesela Örnek Problem 1.1'deki Ürün 1‟den 10 birim üretildiğinde elde edilen kâr 50 birim iken 20 birim üretildiğinde elde edilen kâr 100 birim olmaktadır. Diğer taraftan aynı. problemde gene Ürün 1 için 10 birimlik üretimde 20 birim Makine 1 kapasitesi, 20 birimlik üretimde 40 birim Makine 1 kapasitesi gerekmektedir. Gerçek hayatta birçok durum doğrusallık varsayımını sağlarken pekçok durum da bu varsayımı sağlamayabilir. Mesela satın alınan bir kaynağın belli miktarlar için belli iskontolarla temin edilebilmesi buna örnek olabilir. Doğrusallık varsayımının ihlal edildiği durumlarda bazı kabul ve yaklaĢımlarla model oluĢturulabileceği gibi, duyarlılık analizi teknikleriyle de durum değerlendirmesi yapılabilir. Amaç ve kısıtlayıcıların tamamen üstel bir yapı göstermeleri halinde ise Doğrusal Olmayan (Nonlinear) Programlama tekniklerinden faydalanılır. 1.2.2 Toplanabilirlik Toplanabilirlik varsayımına göre, belli faaliyetleri gösteren x1, x2, ..., xn değiĢkenlerine bağlı olarak amaç fonksiyonunun aldığı değer, bu faaliyetlerin ayrı ayrı vuku bulması halinde amaç fonksiyonunun alacağı değerlerin toplamına eĢittir. Bu varsayıma göre faaliyetlerin birbirlerini etkilemediği kabul edilmektedir. Örnek Problem 1.1‟de sadece Ürün 1 üretildiğinde elde edilecek kar 5x1, sadece Ürün 2 üretildiğinde elde edilecek kâr 7x2 birimken her iki üründen üretim yapıldığında elde edilen kâr 5x1 + 7x2 birimdir. Bir ürünün belli miktarda üretilmesi değerinin fiyatını (dolayısıyla birim üretim baĢına kârı) etkilememektedir. Diğer bir ifadeyle üretim miktarları ne olursa olsun Ürün 1 ve Ürün 2 için, birim üretim baĢına sırasıyla 5 ve 7 birimlik kâr değerleri elde edilmektedir. 1.2.3 Bölünebilirlik Bölünebilirlik varsayımı değiĢkenlerin sürekli değerler alması kabulüne dayanır. Böylece, değiĢkenlerin alabileceği değerler tamsayı olabileceği gibi kesirli sayılar da olabilir. Bu varsayıma göre değiĢkenlerin gösterdiği faaliyetlerin sonsuz sayıda bölünebileceği kabul edilmektedir. Bu çerçevede, Örnek Problem 1.1‟deki üretim miktarları tamsayı değerler olabileceği gibi kesirli değerler de olabilir. Gerçek hayatta

10 mutlaka tamsayı olarak ifade edilmesi gereken faaliyetler bulunabilir. Bu tür problemlerin çözümünde Tamsayılı Programlama (Integer Programming) tekniklerinden faydalanılır. 1.2.4 Belirlilik Belirlilik varsayımı, DP modelinde bulunan bütün katsayı ve sağ taraf değerlerinin (aij, bi ve cj) bilinen belirli değerler olduğu kabulüne dayanır. Örnek Problem 1.1‟deki makine kapasiteleri, kapasite kullanımları, birim ürün baĢına kâr değerleri önceden bilinen kesin ve net değerler olarak kabul edilmektedir. Gerçek hayatta ise bu değerler genellikle kesin ve belirli olmamaktadır. Böyle hallerde duyarlılık analizi teknikleri ile probleme çözüm getirilmeğe çalıĢılır.

1.3 DP Modellerinin Kurulması DP modellerinin çözümü için çeĢitli yöntemler geliĢtirilmiĢ olmasına rağmen, bu modellerin formülasyonu için konulmuĢ belirli kurallar yoktur. Ancak bir takım genel yaklaĢımlardan söz edilebilir. Bundan dolayıdır ki DP modellerinin kurulmasında, tecrübe, mevcut modellerin incelenmesiyle kazanılan formasyon ve yöneylem araĢtırmacısının Ģahsi kabiliyeti önemli bir rol oynar. Yöneylem araĢtırması modellerinin çeĢitli problemlere uygulanmasının "problem çözme sanatı" olarak adlandırılması konunun bu boyutunu ifade etmektedir. ġu halde bir DP modelinin kurulması, iĢin en önemli yanıdır ve ne yazık ki elimizde bu konuda belirlenmiĢ kesin kurallar mevcut değildir. Gerçek hayata ait bir karar problemi formüle edilirken öncelikle amacın ne olduğu konusu üzerinde durulur. Birçok olayda birden fazla amaç söz konusu olabilir. Bu durumda ya her bir amaç için farklı bir model kurulup daha sonra çözümler arasında bir denge aranabilir ya da amaçlardan birisi modelin amaç fonksiyonu olarak tanımlanıp diğerleri modele kısıtlayıcı olarak sokulabilir. DP modellerinin kurulmasında ikinci adım, formüle edilen olaydaki hangi faaliyetlerin modelin değiĢkenlerini oluĢturacağıdır. Formüle edilen olayda bir takım faaliyetlerin modele sokulmasının anlamsızlığı peĢinen görülebilir. Mesela Örnek Problem 1.1'de üçüncü bir ürünün üretilmesi söz konusu olsaydı ve bunun kullandığı makine kapasiteleri Ürün 2‟nin iki katı olmasına karĢılık Ürün 2 ile aynı birim kâr değerini sağladığı bilinseydi bu faaliyetin modele sokulmasının bir anlamı olmayacaktı. Diğer taraftan, bir faaliyete bağlı olarak ortaya çıkan yan faaliyetlerin de modelde ayrı değiĢkenlerle gösterilmesine gerek yoktur. Çünkü bu tür faaliyetler bağımlı oldukları faaliyete paralel olarak gerçekleĢeceklerdir. DP modellerinin oluĢturulmasında diğer bir önemli husus da verilere ne Ģekilde yaklaĢılacağıdır. Verileri ele alırken nominal değerler yerine, çeĢitli sebepler dolayısıyla icra edilebilir değerler göz önüne alınmalıdır. Bir makinenin katalogundaki kapasite değeri, periyodik bakım, arıza vb. nedenlerle gerçekleĢmeyebilir. Bir iĢçinin. günlük çalıĢma süresi çeĢitli beĢeri ihtiyaçlar nedeniyle ön görülen sürenin altına düĢebilir.

11 Modelde yer alacak değerler bütün bu ve benzeri durumları yansıtmalıdır. Diğer taraftan, verilerin çeĢitli birimlerden elde edilmesi halinde iyi organize edilmiĢ bir ekip çalıĢması gerekecektir. Örneğin bir iĢletme probleminde üretim, maliyet, finansman, pazarlama birimlerinden sağlıklı bilgi derlemek gerekebilir. AĢağıdaki kesimlerde bazı klasik problemlerin çözümüne yönelik DP modellerinin kurulmasını örneklerle ele alacağız. 1.3.1 Örnek Problem 1.2: Basit Maliyet Minimizasyonu Problemi Tek tip gıda maddesi üreten bir imalathanede dört farklı hammadde kullanılabilmektedir. Hammaddeler esas olarak yağ ve proteinden oluĢmaktadır. Üretilen gıda maddesinin, en az 20 birim protein, 5 birim yağ ihtiva etmesi gerekmektedir. Her bir hammaddenin fiyatı ile birim baĢına ihtiva ettiği yağ ve protein miktarları aĢağıda verilmiĢtir. En düĢük maliyetle üretim yapılması amaçlanmaktadır. Bu amacı sağlamak üzere hangi hammaddelerden ne miktarlarda kullanılmalıdır. Birim Hammadde Bulunan Protein (birim) Yağ (birim)

Hammadde Fiyatı (birim lira)

Hammadde 1

12

2

24

Hammadde 2

12

6

30

Hammadde 3

40

12

40

Hammadde 4

60

2

50

Üründe Bulunması Gereken Miktar (birim)

20

5

Bir birim(*) ürün elde etmek için Hammadde l'den x1 birim, Hammadde 2'den x2 birim, Hammadde 3'den x3 birim ve Hammadde 4'den x4 birim kullanıldığını kabul edelim. Amacımız kullanılan hammaddelere ödenecek meblağı minimize etmek olduğuna göre modelin amaç fonksiyonu, Min. f = 24x1 + 30x2 + 40x3 + 50x4 Ģeklinde ifade edilebilir. Diğer taraftan birim ürünün en az 20 birim protein ve 5 birim yağ ihtiva etmesi gerektiğine göre kullanılan hammaddelerden elde edilecek protein ve yağ miktarının bu değerlerden büyük veya eĢit olması gerekecektir. O halde modelin kısıtlayıcıları, 12x1 + 12x2 + 40x3 + 60x4  20 2x1 + 6x2 + 12x3 + 2x4  5 (*)

Bundan böyle "birim" sözcüğüyle, söz konusu olaydaki büyüklüklerin birimini kast edeceğiz. Meselâ ağırlık nazara alındığında "birim", gram, kilogram, ton vb.; süre nazara alındığında durumda, dakika, saat, gün vb.; fiyat nazara alındığında, TL, bin TL, milyon TL vb. anlamındadır. Dikkat edilmesi gereken husus bir problemdeki aynı tür büyüklüklerin aynı birimle ifade edilmesidir.

12 Ģeklinde ifade edilebilir. Pozitiflik Ģartı olan, x1, x2, x3, x4  0 ifadesiyle DP modeli tamamlanmıĢ olur. 1.3.2 Örnek Problem 1.3: ġartlı Üretim Problemi Bir üretim tesisinde A ve B adlarında iki ürün imal edilmektedir. Belirli bir zaman diliminde üretimde uyulması gereken Ģartlar aĢağıdaki gibidir. I. Her üründen en az 500 birim üretilecektir. II. Piyasa Ģartları her üründen en fazla 2000 birim satılabileceğini göstermektedir. III. Atölyelerin tezgah kapasiteleri. söz konusu zaman diliminde en fazla 2500 birim A ürünü üretilmesine imkan vermektedir. Ayrıca iĢlemlerin özelliği dolayısıyla A Ürünü, B ürününün iki katından fazla üretilemeyecektir. IV. Atölyelerde en az 5, en fazla 10 iĢçi çalıĢtırılabilecektir. Bir iĢçinin söz konusu zaman dilimi içerisindeki çalıĢma süresi 200 saattir. A ürünü için gerekli iĢçilik, birim baĢına 0,5 adam-saat, B ürünü için 0,4 adam-saat olarak belirlenmiĢtir, V. A ürününden birim baĢına 3 TL. B ürününden birim baĢına 2 TL kâr edilmektedir. Yukarıdaki Ģartlar çerçevesinde karı maksimize eden DP modelini kurunuz. x1 ve x2 sırasıyla A ve B ürünlerinden üretilecek miktarları göstermek üzere amaç fonksiyonu, V Ģartından yararlanılarak, Maks. f = 3x1 + 2x2 Ģeklinde ifade edilebilir. Diğer koĢulları göz önüne alarak kısıtlayıcıları belirleyelim. I Ģartından;

x1  500 x2  500

II Ģartından;

x1  2000 x2  2000

III Ģartından;

x1  2500 x1  2x2 düzenlenirsex1 – 2x2  0

IV Ģartından; söz konusu zaman dilimi için, Asgari iĢ gücü

= (5)(200) = 1000 adam-saat

Azami iĢ gücü

= (10)(200) = 2000 adam-saat

elde edilmektedir. Bu değerler kullanılarak,

13 0,5x1 + 0,4x2  1000 0,5x1 + 0,4x2  2000 eĢitsizlikleri yazılabilir. I Ģartıyla ifade edilen x1  500, x2  500 eĢitsizlikleri aynı zamanda pozitiflik Ģartını da ihtiva etmektedir. Bu durumda ayrıca x1, x2  0 Ģeklindeki pozitiflik Ģartı yazılmayabilir. Modeli toparlayalım. Maks. f = 3x1 + 2x2 x1  500 x2  500 x1  2000 x2  2000 x1  2500 x1 – 2x2  0 0,5x1 + 0,4x2  1000 0,5x1 + 0,4x2  2000 1.3.3 Örnek Problem 1.4: Araç AkıĢı Problemi Trafik akıĢının yoğun olduğu iki nokta arasında çeĢitli güzergahlar ve kavĢaklar bulunmaktadır. KavĢaklar arasındaki yollardan birim zaman içinde geçebilecek azami araç sayısı bilinmektedir. Bu iki nokta arasında birim zaman içinde belli bir yönde en fazla kaç aracın seyredebileceği sorusuna cevap aranmaktadır. 200

250

3 200

5

7

300

150 100

1 BaĢlangıç Noktası

150

4 300

8

200 2

250

BitiĢ Noktası 6

350

Probleme ait veriler Ģekilde özetlenmiĢtir. 1 ve 8 numaralı kavĢaklar baĢlangıç ve bitiĢ noktalarını göstermektedir. Diğer kareler bu iki nokta arasında bulunan kavĢakları, oklar, kavĢaklar arasındaki yolları ve trafiğin akıĢ yönünü, oklar üzerindeki rakamlar yolun birim zaman içindeki maksimum araç kapasitesini göstermektedir.

14 Probleme ait DP modelini kurmadan önce değiĢkenleri Ģu Ģekilde tanımlayalım. xij : Birim zaman içinde i‟inci kavĢaktan j'inci kavĢağa hareket eden araç sayısını gösteriyor olsun. Bu durumda problemimiz için i = 1, 2, ..., 7; j = 2, 3, ..., 8 olabilecektir. xO : Birim zaman içinde 1 kavĢağından 8 kavĢağına seyreden araç sayısı. Modelimizin amacı 1 noktasından 8 noktasına seyreden araç sayısını maksimize etmek olduğuna göre, amaç fonksiyonu, Maks. f = x0 olacaktır. ġimdi kısıtlayıcıları ifade etmeğe çalıĢalım. KavĢaklar arasında seyreden araç sayıları seyredilen yolun kapasitesini aĢamayacağına göre Ģu eĢitsizlikleri hemen yazabiliriz. x12  300 x13  200 x24  200 x26  250 x34  150 x35  200

x45  100 x56  150 x57  250 x68  350 x78  300

Diğer taraftan, 1 noktasından 2 ve 3 numaralı kavĢaklara birim süre içinde x0 adet araç ulaĢabilecektir. Bu durum, x0 = x12 + x13



x0 – x12 – x13 = 0

Ģeklinde ifade edilebilir. Benzer Ģekilde, bitiĢ noktasına 6 ve 7 numaralı kavĢaklardan gelen araç sayısı da gene x0 adet olacaktır. Yani, x68 + x78 = x0



– x0 + x68 + x78 = 0

dır. Diğer kavĢaklar için, kavĢağa gelen araç sayısının kavĢaktan ayrılan araç sayısına eĢit olduğu göz önüne alınarak 2 numaralı kavĢak için, x12 = x24 + x26



x12 – x24 – x26 = 0



x13 – x34 – x35 = 0



x34 + x24 – x45 = 0

3 numaralı kavĢak için, x13 = x34 + x35 4 numaralı kavĢak için, x34 + x24 = x45 5 numaralı kavĢak için, x35 + x45 = x56 + x57



x35 + x45 – x56 –x57 = 0

6 numaralı kavĢak için, x26 + x56 = x68



x26 + x56 – x68 = 0

7 numaralı kavĢak için, x57 = x78



x57 – x78 = 0

15 yazılabilir. Pozitiflik Ģartı da, x0, xij  0  i  1, ..., 7   j  2, ..., 8 olarak ifade edilebilir. Kurduğumuz modeli toparlayalım. Maks. f = x0 x12  300 x13  200 x24  200 x26  250 x34  150 x35  200 x45  100 x56  150 x57  250 x68  350 x78  300 x0 – x12 – x13 = 0 x12 – x24 – x26 = 0 x13 – x34 – x35 = 0 x34 + x24 – x45 = 0 x35 + x45 – x56 –x57 = 0 x26 + x56 – x68 = 0 x57 – x78 = 0 – x0 + x68 + x78 = 0 x0, xij  0  i  1,..., 7   j  2,..., 8 1.3.4 Örnek Problem 1.5: Fire Minimizasyonu Problemi Standart olarak imal edilen kağıt bobinlerinden belli geniĢlikteki daha dar bobinler elde etmek üzere kesme iĢlemi uygulanacaktır. Kesim esnasında meydana gelecek olan kaybın en düĢük seviyede tutulması amaçlanmaktadır. Standart olarak üretilen bobinler 120 cm ve 180 cm geniĢliğindedir. Elde edilmek istenen bobinler 50 cm, 60 cm ve 80 cm geniĢliğinde olacaktır. Ġhtiyaç duyulan bobin sayıları sırasıyla 150, 200 ve 250 adettir. Her standart bobin, istenilen ölçülere göre farklı Ģekillerde kesilebilecektir. Bunlara alternatifler diyelim. 120 ve 180 cm geniĢliğindeki standart bobinler için muhtemel alternatifleri ve her alternatif için meydana gelecek kaybı bir tablo olarak düzenleyelim.

16 Kesilecek 120 cm‟lik Bobin için Alternatifler Bobin GeniĢliği 1 2 3 4

1

2

3

4

5

6

7

Ġhtiyaç Duyulan Bobin Sayısı (adet)

180 cm‟lik Bobin Ġçin Alternatifler

50 cm

2

1

0

0

3

2

2

1

0

0

0

150

60 cm

0

1

2

0

0

1

0

2

3

1

0

200

80 cm

0

0

0

1

0

0

1

0

0

1

2

250

20 10

0

40 30 20

0

10

0

40 20

Fire (cm)

Tablodan da görülebileceği gibi, 120 cm‟lik standart bobin için 1 numaralı alternatife göre yapılacak kesme iĢleminde 2 adet 50 cm‟lik bobin elde edilmekte ve 20 cm‟lik kısım fire olarak çıkmaktadır. Diğer alternatifler de benzer Ģekilde değerlendirilebilir. DeğiĢkenlerin tanımı Ģu Ģekilde yapılabilir. xij : i‟inci bobinin j‟inci alternatifine göre kesilen bobin sayısı i = 1, 2 j = 1, 2, 3, 4 (i=1 durumu için) j = 1, 2, ..., 7 (i=2 durumu için) (Tabloya dikkat edilirse 120 cm‟lik bobin için dört alternatif, 180 cm‟lik bobin için yedi alternatif vardır). zk: Ġhtiyaç duyulandan fazla olarak kesilmek zorunda kalınan bobin sayısı. k= 1, 2, 3 Yani,

z1 : 50 cm‟lik bobinlerden, z2 : 60 cm‟lik bobinlerden,

z3 : 80 cm‟lik bobinlerden ihtiyaç fazlası olarak kesilmesi zorunlu olan bobin sayısını göstermektedir. Bunlar da fire olarak kabul edilmektedir. Kuracağımız modelin amacı, meydana gelecek fireyi minimize etmekti. O halde amaç fonksiyonu, her alternatifteki fireler ve ihtiyaç fazlası olarak elde edilen bobinlerden dolayı meydana gelen fireler toplamının minimize edilmesi Ģeklinde düzenlenebilir. Yani, Min. f = 20x11 + 10x12 + 40x14 + 30x21 + 20x22 + 10x24 + 40x26 + 20x27 + 50z1 + 60z2 + 80z3 tür. Kısıtlayıcılar ise, üretilen bobinlerle, zorunlu olarak fazladan üretilen bobinlerin farkının, ihtiyaç duyulan bobin sayısına eĢitlenmesiyle elde edilecektir. Böylece kısıtlayıcı Ģartlar,

17 2x11 + x12 + 3x21 + 2x22+ 2x23 + x24 – z1 = 150 x12 + 2x13 + x22 + 2x24 + 3x25 + x26 – z2 = 200 x14 + x23 + x26 + 2x27 – z3 = 250 Ģeklinde ifade edilebilir. Son olarak pozitiflik Ģartı da, xij  0 (i =1, 2; j = 1, 2, 3, 4 [i=1 için]; j =1, 2, ..., 7 [i=2 için]) zk  0 (k =1, 2, 3) ifadeleriyle belirtilerek model tamamlanmıĢ olur. 1.3.5 Örnek Problem 1.6: UlaĢtırma Problemi Bir firma üretmekte olduğu tek tip malı ülkenin çeĢitli yerlerinde bulunan depolarından tüketim merkezlerine ulaĢtırmaktadır. Her bir depodan tüketim merkezlerine yapılan birim taĢıma maliyetleri farklıdır. Firma, tüketim merkezlerinin taleplerini karĢılarken taĢıma maliyetlerini minimize etmek istemektedir. Firmanın üç deposu olduğu ve bu depolardan üç farklı tüketim merkezinin talebinin karĢılandığı bilinmektedir. Depo kapasiteleri, talepler ve birim taĢıma maliyetleri aĢağıdaki tabloda özetlenmiĢtir. Tüketim Merkezi Depo

Birim TaĢıma Maliyeti Depo (TL/kg) Kapasitesi (kg) A B C

I

25

20

30

45000

II

32

15

22

55000

III

18

42

16

75000

Talep (kg)

35000

60000 80000

Tablodan görülebileceği gibi I deposundan A merkezine yapılacak taĢımanın birim maliyeti 25 TL/kg, B merkezine yapılacak taĢımanın birim maliyeti 20 TL/kg, C merkezine yapılacak taĢımanın birim maliyeti 30 TL/kg‟dir. Ayrıca I deposundan temin edilebilecek mal miktarı 45000 kg, A merkezinin talebi 35000 kg‟dır. Diğer depo ve merkezler için de benzer değerler tabloda görülmektedir. Örneğimiz için depo kapasiteleri toplamı talepler toplamına eĢittir. Tüketim merkezlerinin taleplerini karĢılarken toplam taĢıma maliyetini minimize etmek üzere hangi depodan hangi merkeze dağıtım yapılması gerektiği sorusuna cevap aranmaktadır. i‟inci depodan j‟inci merkeze yapılacak olan taĢıma miktarını xij değiĢkeni ile gösterelim. Üç depo, üç merkez söz konusu olduğuna göre i = 1, 2, 3 ve j = 1, 2, 3 olacaktır. Bu durumda meselâ x12 değiĢkeni I deposundan B merkezine yapılacak taĢıma miktarını göstermektedir. Her bir depodan her bir merkeze taĢıma yapılabilir. O halde modelimizin amaç fonksiyonu,

18 Min. f = 25x11 + 20x12 + 30x13 + 32x21 + 15x22 + 22x23 + 18x31 + 42x32 + 16x33 Ģeklinde ifade edilebilir. Diğer taraftan tüketim merkezi taleplerinin karĢılanabilmesi için her bir tüketim merkezine gönderilen toplam mal miktarının, en az o merkezin talebine eĢit olması gerekeceği açıktır. Bunu sağlamak üzere, x11 + x21 + x31  35000 x12 + x22 + x32  60000 x13 + x23 + x33  80000 kısıtlayıcıları, bir depodan sevk edilen toplam mal miktarının, depo kapasitesini aĢamayacağını gösteren, x11 + x12 + x13  45000 x21 + x22 + x23  55000 x31 + x32 + x33  75000 kısıtlayıcıları yazılabilir. Son olarak pozitiflik Ģartı olan xij  0 (i, j=1, 2, 3) ifadesi de yazılarak kurulmak istenen DP modeli tamamlanmıĢ olur. UlaĢtırma modellerinin çözümünde kullanılan daha basit teknikler de geliĢtirilmiĢtir. Bu tekniklerden Ġkinci Bölüm‟de söz edeceğiz. 1.3.6 Problemler I. ÇeĢitli gıda maddelerinin ihtiva ettiği protein, yağ, karbonhidrat değerleri ve bu gıda maddelerinin birim fiyatları aĢağıda verilmiĢtir. Bir insanın günlük olarak alması gereken protein, yağ ve karbonhidrat değerlerinin alt sınırı da aynı tabloda görülmektedir. Bu veriler çerçevesinde, hangi gıdalardan kaç birim tercih edilirse günlük beslenme maliyetinin en düĢük seviyede olacağını belirleyen DP modelini kurunuz. Birim Gıda Bulunan Gıda Tipi

Yağ

Protein

Birim Gıdanın Karbonhidrat Maliyeti

A

3

12

4

12

B

5

4

5

9

C

2

15

9

15

D

4

7

7

13

20

80

50

Alınması Gereken Günlük Değer

19 II. Bir havayolu firması kargo naklinde kullandığı uçaklardan her bir seferde elde ettiği geliri en yüksek seviyeye çıkarmak istemektedir. Uçaklarda esas olarak iki bölüm vardır. Bölümler iki tip yük için kullanılmaktadır. A tipi yük, kırılıp dökülebilen eĢyalardan oluĢmakta ve 350,000 TL/kg birim fiyatıyla taĢınmaktadır. B tipi yük ise kaba eĢyadan oluĢmakta ve 150,000 TL/kg birim fiyatıyla taĢınmaktadır. Her bir uçak için uyulması gereken Ģartlar aĢağıdadır. 1. A tipi yükün konulabildiği bölümün kapasitesi 12 tondur. 2. B tipi yükün konulabildiği bölümün kapasitesi 23 tondur. 3. Dengeli bir uçuĢ için uçağın A bölümüne konulan yük, B bölümüne konulan yükün üçte ikisinden en çok 1 ton fazla olabilir. 4. Uçağın toplam yük taĢıma kapasitesi 30 tondur. Bu Ģartlar çerçevesinde, maksimum taĢıma gelirini elde etmek için, bir uçağın ne Ģekilde yüklenmesi gerektiğini bulan DP modelini formüle ediniz. III. Bir firma, pazarladığı malın satıĢını artırmak için üç farklı reklam aracından yararlanmak istemektedir. Bu araçlar gazete, radyo ve televizyondur. Reklam araçlarının, belli gelir seviyelerindeki üç tüketici grubunu birbirlerinden bağımsız olarak etkilediği kabul edilmektedir. Reklam araçlarının birim maliyetleri ve birim reklam faaliyetinin her bir tüketici grubunda etkilediği insan sayısı aĢağıda verilmiĢtir. ÇeĢitli sebeplerden dolayı, yapılabilecek gazete reklamı en fazla 15 birim, radyo reklamı en fazla 18 birim, televizyon reklamı da en az 4 birim olacaktır. Reklam harcaması için ayrılan bütçe 50 milyar TL‟dir. Bu veriler çerçevesinde, etkilenen tüketici sayısını maksimize eden DP modelini kurunuz. Tüketici Reklam Aracı

Birim Reklam Arcında Grubu Etkilenen Tüketici Sayısı (KiĢi) Birim Reklam Aracı Maliyeti (Milyon TL) Grup 1 Grup 2 Grup 3

Gazete

1500

1000

500

500

Radyo

2000

2200

2200

1000

Televizyon

7500

10000

12000

5000

IV. Bir Ģahıs sermaye piyasasında çeĢitli alternatiflere yatırım yapmak istemektedir. Her alternatifin belli bir gelir oranı, riski ve yatırım süresi vardır. Toplam riskin %3‟ü aĢmaması, ortalama yatırım süresinin de en fazla 4 yıl olması Ģartlarını göz önüne alarak, maksimum geliri elde etmek üzere, bu Ģahsın elindeki parayı hangi alternatiflere ne oranlarda tevzi etmesi gerektiğini bulan DP modelini kurunuz. Alternatiflere ait veriler aĢağıdaki tabloda yer almaktadır.

20 Yatırım Alternatifi

Yıllık Gelir (%)

Risk (%)

Yatırım Süresi (Yıl)

1

25

1

2

2

30

2

3

3

38

3

5

4

45

4

6

(Yol Gösterme: Her alternatife yatırılan oranları, sırasıyla x1, x2, x3, x4 değiĢkenleriyle gösterip, bunların toplamının 1 olması gerektiğini düĢününüz.)

1.4 DP Modellerinin Çözümü DP modellerinin çözümü için çeĢitli yöntemler geliĢtirilmiĢtir. Bunlardan anlaĢılması en kolay olanı grafik çözüm tekniğidir. Ġçinde yaĢadığımız uzayın üç boyutlu olmasından dolayı, ne yazık ki grafik çözüm tekniği, değiĢken sayısı üçü aĢan modellerde kullanılamaz. Hatta üç boyutlu grafiklerin çizimindeki bir takım güçlükler nedeni ile pratik olarak, ancak, iki değiĢkenli (düzlemsel) modeller grafik yöntemle çözülebilirler. Diğer bir çözüm metodu, fazla kullanıĢlı olmamakla birlikte, cebirsel çözüm yöntemidir. Bugün DP modellerinin çözümünde kullanılan en yaygın yöntem “simpleks”(*) çözüm tekniğidir. Bilgisayarlar için hazırlanan programlarda ise ekseriyetle, simpleks yöntemin bir uzantısı olan “düzeltilmiĢ (revised) simpleks” algoritması takip edilmektedir. 1.4.1 Konuyla Ġlgili Bazı Kavramlar DP modellerinin çözüm yöntemlerine geçmeden önce, daha sonra sıklıkla kullanacağımız bazı kavramlar üzerinde kısaca duralım. 1.4.1.1 Konveks Set S bir nokta kümesini göstermek üzere, bu küme içinde bulunan bütün P1, P2 nokta çiftlerini birleĢtiren doğru parçaları S kümesi içinde kalıyorsa, söz konusu küme bir konveks settir. Bir DP modelindeki herhangi bir kısıtlayıcı Ģartın belirdiği iki yarım uzaydan her birinin konveks set olduğu ve yarım uzayların arakesitinin de gene bir konveks set oluĢturduğu gösterilebilir(**). Buradan bir DP modelinin uygun çözüm alanının bir konveks set olduğu sonucu çıkarılabilir. ġekil 1.1‟de konveks ve konveks olmayan setlere ait örnekler görülmektedir.

(*)

“Simpleks” kelimesi, Ġngilizce simplex (=basit) sözcüğünün dilimize yerleĢmiĢ Ģekli olarak düĢünülebilir. Konu ile ilgili tüm yayınlarda söz konusu yöntem bu isimle anılmaktadır. (**) Gottfried, s. 149.

21

P2

P2

P2

P1

P1 S

S Konveks Setler

P2

S

S P1

P1

Konveks Olmayan Setler

ġekil 1.1: Konveks ve Konveks Olmayan Setler 1.4.1.2 Uygun Çözüm (UÇ) Bir DP modelinde kısıtlayıcı Ģartları ve pozitiflik Ģartını sağlayan değiĢken değerlerinden oluĢan sete uygun çözüm (UÇ) diyeceğiz. Bu değerler daima sınırlayıcı Ģartlar ve değiĢkenlerin ifade edildiği eksenler tarafından çevrelenen konveks çokyüzlü setin içinde kalacaktır. Yani bütün uygun çözümler bir konveks set oluĢturmaktadır. Örnek olarak iki değiĢkenli bir DP modelinde uygun çözümler konveks bir alan, üç boyutlu bir DP modelinde ise konveks bir hacim (çok yüzlü) oluĢturmaktadır. Grafik çözüm tekniği incelerken konu daha da açıklık kazanacaktır. 1.4.1.3 Temel Uygun Çözüm (TUÇ) DeğiĢken

sayısı n, kısıtlayıcı sayısı m (n>m) olan bir DP modelin n-m adet değiĢkenin değerinin sıfır, m adet değiĢkenin sıfır veya pozitif olduğu uygun çözümlere temel uygun çözüm (TUÇ) diyeceğiz. Söz konusu m adet değiĢken temel değiĢken (TD), geriye kalan n-m adet değiĢken ise temel olmayan değiĢken (TOD) olarak adlandırılır. Gösterilebilir ki, bir DP modelinin uygun bir çözümü varsa en az bir temel uygun çözümü de vardır(*). Temel uygun çözümler uygun çözüm konveks setinin köĢe noktalarını oluĢturur. 1.4.1.4 Optimal Çözüm (OÇ) Bir DP modelinde amaç fonksiyonunu optimize (maksimize veya minimize) eden çözüm değerlerine optimal çözüm (OÇ) adı verilmektedir. Amaç fonksiyonunun maksimum (veya minimum) değeri sonlu bir değer ise en az bir optimal çözümün, TUÇ‟lardan birisi olduğu gösterilebilir(**). Amaç fonksiyonunun değeri birden fazla TUÇ‟da optimum değerini alıyorsa bu TUÇ‟lara mukabil genel köĢe noktalarının konveks kombinezonları da amaç fonksiyonunu optimize eder. Grafik çözüm tekniği incelenirken konu daha da açıklık kazanacaktır.

(*)

Alwan, s. 338. Gottfried, s. 151.

(**)

22 1.4.1.5 Tipik Maksimizasyon Modeli Bir DP modelinde amaç fonksiyonu maksimizasyon türünde ve bütün kısıtlayıcılar da küçük eĢit () Ģeklinde ise bu tür modellere tipik maksimizasyon modeli diyeceğiz. ġu halde tipik maksimizasyon modeli, matris ifadesiyle, Maksimize f = cx Ax  b x0 Ģeklinde yazılabilir. 1.4.1.6 Tipik Minimizasyon Modeli Bir DP modelinde amaç fonksiyonu minimizasyon türünde ve bütün kısıtlayıcılar da büyük-eĢit () Ģeklinde ise bu tür modellere tipik minimizasyon modeli diyeceğiz. Tipik minimizasyon modeli, matris notasyonuyla, Minimize f = cx Axb x 0 Ģeklinde ifade edilebilir. 1.4.2 Grafik Çözüm Örnek Problem 1.1‟deki kâr maksimizasyonunu amaçlayan DP modelini aĢağıya tekrar yazalım. Amaç: Maks. f = 5x1 + 7x2 Kısıtlayıcılar: 2x1 + 3x2  60 (1) 4x1 + 2x2  80 (2) Pozitiflik: x1  0 (3) x2  0 (4) Hatırlanacak olursa, bu modelde x1 ve x2 değiĢkenleri, üretilecek Ürün 1 ve Ürün 2 miktarlarını gösteriyordu. Modelin amacı maksimum kârı veren üretim değerlerinin bulunması idi. x1 ve x2 değiĢkenlerini kartezyen düzlemin iki ekseni olarak ele alalım. x1 değerlerini yatay eksende, x2 değerlerini de düĢey eksende gösterelim. Önce pozitiflik Ģartından dolayı, x1 ve x2 değerlerinin, bu düzlemin hangi bölgesinde yer alabileceğine bakalım. ġekil 1.2‟den görülebileceği gibi pozitiflik Ģartını (3 ve 4 eĢitsizlikleri) sağlayan bölge kartezyen düzlemin sağ üst çeyreğidir. O halde çözüm değerlerimizin bu bölgede yer alması gerekecektir.

23

x2 Pozitiflik ġartını Sağlayan Bölge 3 4 O

x1

ġekil 1.2: Kartezyen Düzlemde Pozitiflik ġartını Sağlayan Bölge ġimdi kısıtlayıcıların grafikte ne Ģekilde ifade edildiğini görelim(*). Önce (1) eĢitsizliğini ele alalım. Bu eĢitsizliğin grafikte gösterdiği yarı düzlemi bulabilmek için, 2x1 + 3x2 = 60 doğrusunu çizmemiz gerekecektir. Doğrunun eksenleri kestiği iki noktayı bulalım. x1 = 0, x2 = 0,

3x2 = 60 2x1 = 60

 

x2 = 60 / 3 = 20 x1 = 60 / 2 = 30

(0, 20) ve (30, 0) noktaları ġekil 1.2‟de iĢaretlenip birleĢtirilecek olursa ġekil 1.3 elde edilecektir. Pozitiflik Ģartları ve birinci kısıtlayıcının beraberce sağlandığı

(*)

Hatırlatma: Bilindiği gibi düzlemdeki bir eĢitsizlik, aynı eĢitsizliğin eĢitlik olarak ifade ettiği doğrunun belirlediği iki yarı düzlemden birini gösterir. EĢitsizlik, “büyük-eĢit” veya “küçük-eĢit” Ģeklinde ise söz konusu doğru da eĢitsizliğin gösterdiği yarı düzleme dahildir. EĢitsizlik, “büyük” ya da “küçük” Ģeklinde ise söz konusu doğru, eĢitsizliğin gösterdiği yarı düzleme dahil değildir. Örnek: y  x eĢitsizliğinin gösterdiği yarı düzlem aĢağıdaki Ģekilde verilmiĢtir. y

y>x yarı düzlemi y = x doğrusu

O

x

ġekildeki y = x doğrusu da söz konusu yarı düzleme dahildir. EĢitsizlik y > x Ģeklinde olsa idi, y = x doğrusu yarı düzleme dahil olmayacaktı.

24 bölge OCD taralı alanıdır(*). Benzer Ģekilde (2) eĢitsizliğini de grafikte ifade etmek için, 4x1 + 2x2 = 80 doğrusunu çizmek gerekecektir. Bu doğrunun x1 ve x2 eksenlerini kestiği noktalar, x1=0, x2=0,

 

2x2 = 80 4x1 = 80

x2 = 80 / 2 = 40 x1 = 80 / 4 = 20

olarak hesaplanabilir. (0, 40) ve (20, 0) noktaları ġekil 1.3‟de iĢaretlenip birleĢtirilecek olursa ġekil 1.4 elde edilecektir.

x2 3 40

30

20

C 2x1+3x2=60

10

4

1 O

10

D 20

30

40

50

x1

2.1 O

ġekil 1.3: Birinci Kısıtlayıcının Grafiğe YerleĢtirilmesi

2.2 O

(*)

Orijine ait (0, 0) değerlerini kullanarak (1) eĢitsizliğinin, CD doğrusunun taralı yanını gösterdiğini tahkik ediniz..

25

x2 3 40

E

30

20

4x1+2x2=80 C

2 B 2x1+3x2=60

10

4

1 O

10

D

A 20

30

40

50

x1

2.3 O ġekil 1.4: Ġkinci Kısıtlayıcının Grafiğe YerleĢtirilmesi Bu durumda pozitiflik Ģartını ve kısıtlayıcıları sağlayan bölge OABC konveks alanıdır. Diğer bir ifadeyle OABC, uygun çözüm alanıdır. OABC içinde bulunan her nokta kısıtlayıcıları ve pozitiflik Ģartını sağlamaktadır. Uygun çözüm alanını gösteren konveks setin köĢe noktalarının, temel uygun çözümlere karĢılık geldiğini daha önce belirtmiĢtik. ġu halde örnek problemimiz için TUÇ‟lar O, A, B ve C köĢeleridir. Temel uygun çözümlerden en az birisinin optimal çözüm olduğunu da gene daha önce belirtmiĢtik. O halde, optimal çözüm bulunmasında Ģu iki yoldan birisi kullanılabilir. 1. Yol: Uygun çözüm alanının her köĢe noktasına karĢılık gelen x1 ve x2 değerleri bulunarak amaç fonksiyonunda yerine konur ve bulunan amaç fonksiyonu değerleri karĢılaĢtırılarak en büyük değer seçilir. Örneğimiz için bu değerler Ģöyle bulunacaktır. KöĢe Noktası

x1

x2

f = 5x1 + 7x2

O

0

0

0

A

20

0

100

B (Optimal)

15

10

145

C

0

20

140

26 Görülüyor ki, amaç fonksiyonunu maksimize eden köĢe noktası B‟dir (*). Bu durumda fmaks = 145 olmaktadır. ġu halde örnek problemimizde kârı maksimize etmek için Ürün 1‟den 15 birim, Ürün 2‟den 10 birim üretilmelidir. Uygun çözüm alanındaki köĢe sayısının fazla olduğu durumlarda bu yolla hesaplama yorucu olabilir. Optimal köĢeyi veren daha kestirme bir yöntem ikinci yolda anlatılmıĢtır. 2. Yol: Amaç fonksiyonuna f=K gibi sabit bir değer verelim. Böylece, 5x1 + 7x2 = K olacaktır. Buradan x2 değiĢkeni çekilirse, 7x2 = –5x1 + K x2 = (-5x1 + K) / 7 elde edilir. K / 7 = K1 diyelim.Bu durumda, x2 = (-5 / 7) x1 + K1 yazılabilir. Görülüyor ki amaç fonksiyonunun eğimi K ve K 1 sabitlerinden bağımsız olarak daima ( -5 / 7) olmaktadır. Demek oluyor ki, amaç fonksiyonunun değiĢik değerleri için elde edilecek doğrular hep birbirine paralel kalacaktır. Değeri azaldıkça amaç doğrusu orijine doğru; arttıkça, orijinden uzaklaĢacak Ģekilde kayacaktır. O halde kayma esnasında amaç doğrusu uygun çözüm alanını en son hangi köĢede terk ederse o köĢe optimal çözüm köĢesi olacaktır. Örnek problemimiz için amaç fonksiyonuna çeĢitli değerler verilerek ġekil 1.4‟e yerleĢtirilirse ġekil 1.5 elde edilmiĢ olur.

(*)

B noktasının koordinatlarını bulmak için, 4x1 + 2x2 = 80 2x1 + 3x2 = 60 denklem sisteminin çözülmesi gerekecektir. Çünkü B noktası her iki doğrunun ortak noktasıdır, yani iki eĢitliği de sağlar. Eğer çizim ölçekli ve hassas bir Ģekilde yapılıyorsa B noktasından x1 ve x2 eksenlerine dik inilerek de koordinatlar bulunabilir. Ġki durumda da x1=15, x2= 10 olarak elde edilir.

27 x2

40

E

30

20

10

O

C

B

G

10 H

A

D

20

30

40 fmaks f2=105

50

x1

f1=70 ġekil 1.5: Amaç fonksiyonunun Grafiğe YerleĢtirilmesi ve Optimal Çözüm Amaç fonksiyonu değeri olarak önce f1 = 70 alalım. Bu durumda, 5x1+7x2=70 doğrusunun eksenleri kestiği noktalar, x1 = 0 , 7x2 = 70  x2 = 70 / 7 = 10 x2 = 0 , 5x1 = 70  x1 = 70 / 5 = 14 olarak hesaplanabilir. Çizilen doğru ġekil 1.5‟de görülmektedir. (Amaç doğruları kesik çizgilerle gösterilmiĢtir.) f1 doğrusuna ait GH doğru parçası uygun çözüm alanı içindedir ve bu doğru parçası üzerinde bulunan her noktanın karĢılık geldiği üretim planı 70 birimlik kâr sağlayacaktır. Amaç fonksiyonun değerini bir miktar artıralım. f2 = 105 olsun. Bu durumda, 5x1 + 7x2 = 105 doğrusunun eksenleri kestiği noktalar, x1 = 0 , 7x2 = 105  x2 =105 / 7 = 15 x2 = 0 , 5x1 = 105  x1 = 105 / 5 = 21 olarak elde edilir. Elde edilen noktalardan geçen f2 doğrusu da ġekil 1.5‟de

28 gösterilmiĢtir. Görülüyor ki amaç fonksiyonun değeri arttıkça, ilgili f doğrusu, eğimi değiĢmemek kaydıyla orijinden uzaklaĢacak Ģekilde kaymaktadır. Amaç fonksiyonunun maksimum değerini bulmak istediğimize göre, bu doğruyu mümkün mertebe orijinden öteye doğru kaydırmak istememiz tabiidir. Kaydırma iĢlemini en fazla, uygun çözüm alanını terk etme noktasına kadar yapabileceğimize göre, örnek problemimiz için bu nokta B noktası olacaktır. Öyleyse optimal çözüm, B köĢesidir. B köĢesinin koordinatları, 4x1 + 2x2 = 80 2x1 + 3x2 = 60 sistemi çözülerek elde edilebilir. Bu durumda,

80 2 60 3 x1 = = (240 – 120) / 8 = 15 4 2 2 3 4 80 2 60 x2 = = (240 – 160) / 8 = 10 4 2 2 3 olarak elde edilir. Amaç fonksiyonunun değeri de, fmaks =5(15) + 7(10) = 145 olarak bulunur. O halde, 145 birimlik maksimum kârı elde etmek için Ürün 1‟den 15, Ürün2‟den 10 birim üretmek gerekmektedir. 1.4.2.1 Birden Fazla Optimal Çözüm Yukarıda ele aldığımız Örnek Problem 1.1‟in grafik çözümünde amaç doğrusu çözüm alanını en son B köĢesinde terk ettiği için tek bir optimal çözüm vardır. Diğer taraftan, eğer amaç fonksiyonumuzun eğimi kısıtlayıcıları gösteren doğrulardan birinin eğimine eĢit olsaydı bu defa çözüm alanı tek bir noktada değil bir doğru parçası boyunca terk edilecekti. Dolayısıyla bu doğru parçası üzerindeki bütün noktalar bize optimal çözümü verecekti. Örnek problem 1.1‟in amaç fonksiyonunu, Maks. f = 2x1 + x2 olarak değiĢtirelim. Bu durumda amaç fonksiyonunun çeĢitli değerleri için çizilecek doğruların eğimi ikinci kısıtlayıcıyı gösteren EA doğru parçasının eğimine eĢit olacaktır. ġekil 1.6‟dan görülebileceği gibi, amaç doğrusu orijinden öteye doğru kaydırılırken uygun çözüm alanını en son BA doğru parçası boyunca terk edecektir. O halde çözüm alanının B ve A köĢelerinin her ikisi de optimal çözümdür. Diğer taraftan BA doğru parçası üzerinde bulunan sonsuz sayıdaki nokta da yine optimal çözüm değerlerini verecektir. Amaç fonksiyonunun B(15, 10) ve A(20, 0) köĢelerindeki

29 değerleri; fB =2(15) + 1(10) = 40 fA=2(20) + 1( 0) = 40 olarak hesaplanarak her iki çözüm değerinin fmaks = 40 değerine eĢit olduğu görülür. x2

40

E

30

20

C

B

10

A O

10

20

D 30

40

50

x1

fmaks=40 f2=30 f1=20 ġekil 1.6: Birden Fazla Optimal Çözüm 1.4.2.2 Çözümün Bulunmaması Durumu Bir DP modelinde kısıtlayıcı Ģartlar o Ģekilde olabilir ki herhangi bir uygun çözüm alanı bulunmaz. Böyle hallerde problemin çözümü yoktur. Örnek olarak aĢağıdaki modeli ele alalım. Maksimize f = 2x1 + x2 x1 – 2x2  2 x1 – x2  0 x 1, x 2  0 ġekil 1.7‟de bu probleme ait kısıtlayıcıları ve pozitiflik Ģartını beraberce sağlayan bir alanın bulunmadığı görülmektedir. Taralı alanlardan birisi sadece birinci kısıtlayıcıyı, diğeri de sadece ikinci kısıtlayıcıyı sağlamaktadır ve bu iki alanın arakesiti

30 mevcut değildir. Uygun çözüm alanının bulunmamasından dolayı, amaç fonksiyonunun çeĢitli değerlerine ait doğruların çizilip kaydırılmasının da bir anlamı olmayacaktır.

x2 4 x1-x2=0

3 2

x1-2x2=2

1

1

2

3

4

5

x1

-1 f2 f1 ġekil 1.7: Çözümün Bulunmaması 1.4.2.3 Grafik Çözüm Örnekleri Grafik çözüm tekniğine örnek olmak üzere önce bir tipik minimizasyon modelini, daha sonra da Örnek Problem 1.3‟de kurduğumuz modeli ele alacağız. Örnek 1: AĢağıdaki tipik minimizasyon modelini grafik yoldan çözelim. Minimize f = 2x1 + 3x2 2x1 + x2  6 x 1 + x2  5 3x1 + 7x2  21 x1, x2  0

31 x2 6

A

5 C 4

Uygun Çözüm

G

Alanı 3 E 2 H

1

B O

1

2

3

F

D 4

5

6

7

9

8

10

x1

f1=18 f2=15 fmin ġekil 1.8: Örnek 1‟in Grafik Çözümü Bu problem için, amaç fonksiyonu ve kısıtlayıcıların durumu ġekil 1.8‟de görülmektedir. Burada birinci kısıtlayıcı AB doğru parçasının sağ tarafını, ikinci kısıtlayıcı CD doğru parçasının sağ tarafını, üçüncü kısıtlayıcı EF doğru parçasının üst tarafını göstermektedir(*). Böylece kısıtlayıcıları ve pozitiflik Ģartını sağlayan bölge x2AGHFx1 yarı açık alanıdır. Bu alan sadece bir taraftan sınırlandırılmıĢtır. Amaç fonksiyonunun f1=18 değeri için çizilen doğru orijine doğru kaydırılırsa uygun çözüm alanını en son H noktasında terk ettiği görülmektedir. O halde optimal çözüm köĢesi H‟dır. Bu köĢeye ait koordinatlar, x 1 + x2 = 5 3x1 + 7x2 = 21 doğrusal denklem sisteminin çözülmesiyle, x1 = 3,5 x2 = 1,5 ve fmin = 2(3,5) + 3(1,5) = 11,5 olarak bulunur. (*)

Ġlgili doğruları inceleyerek eĢitsizlikleri tahkik ediniz.

32 Dikkat edilecek olursa, bu örnekte amaç fonksiyonu maksimize edilecek olsaydı sonlu bir çözüm değeri bulunamayacaktı. Uygun çözüm alanının bir taraftan sınırlandırılmamıĢ olması, amaç doğrusunun sonsuza kadar kaydırılabilmesine, dolayısıyla sonlu bir çözüm değeri elde edilememesine neden olacaktır. Örnek 2: Örnek Problem 1.3‟de formüle ettiğimiz DP modelini grafik yöntemle çözelim. Maksimize f = 3x1 + 2x2 x1  500 (1) x2  500 (2) x1  2000 (3) x2  2000 (4) x1  2500 (5) x1 – 2x2  0 (6) 0,5x1 + 0,4x2  1000 (7) 0,5x1 + 0,4x2  2000 (8) x1 , x 2  0 Kısıtlayıcıları ve amaç fonksiyonunun f1 = 6000 değerini çizerek ġekil 1.9‟u elde edelim. Tüm kısıtlayıcıları sağlayan uygun çözüm alanının ABCDE taralı alanı olduğu görülmektedir. Amaç doğrusu, artan yönde kaydırılarak uygun çözüm alanını terk ettiği nokta bulunacak olursa optimal çözüm köĢesinin D olduğu görülür. D noktasının koordinatları, x1 = 2000 x2 = 2000 olarak okunabilir. Bu durumda amaç fonksiyonunun değeri, fmaks = 3(2000) + 2(2000) = 10000 olacaktır. Dikkat edilecek olursa modelin çözümünde (3) numaralı kısıtlayıcı aynı zamanda (5) numaralı kısıtlayıcıyı, (1) ve (2) numaralı kısıtlayıcılar da aynı zamanda pozitiflik Ģartını ihtiva etmektedir. Dolayısıyla bu problem için (5) numaralı kısıtlayıcı ve x1, x2  0 eĢitsizlikleri yazılmasa da çözüm değiĢmeyecektir. Diğer taraftan, amaç fonksiyonu minimize edilecek olsaydı optimal çözüm köĢesi A olacaktı.

33

x2 5000 3

1

5

4000

fmaks

3000 2400 2000

D

E

6

A 7

4

1000 B

2

C 8

O

2.3.1 O 1000

2000

3000

4000

f1 = 6000 ġekil 1.9: Örnek 2‟nin Grafik Çözümü

1.4.2.4 Problemler I. AĢağıdaki DP modelini grafik yöntemle çözünüz. Maksimize f = 7,5x1 + 10x2 x1 + 3x2  12 2x1 + x2  8 x1 - x2  3 x2  7 x 1, x 2  0

5000

x1

34 II. AĢağıdaki DP modelini grafik yöntemle çözünüz. Birden fazla köĢede optimal çözüm elde edebilmek için amaç fonksiyonu katsayılarının nasıl olması gerektiğini tartıĢınız. Maksimize f = 5x1 + 2x2 x 1 + x2  6 x1  5 x2  4 x1, x2  0 III. AĢağıdaki DP modelini grafik yöntemle çözünüz. Minimize f = 40x1 + 10 x2 30x1 + 20 x2  1200 70x1 + 40 x2  5600 x2  45 -x1 + x2  10 -2x1 + x2  0 x 1, x 2  0 IV. III. problemde verilen modeli, amaç fonksiyonunu maksimizasyon türünde kabul ederek yeniden çözünüz. 1.4.3 Cebirsel Çözüm DP modellerinde değiĢken sayısının üçten fazla olduğu durumlarda grafik çözümün mümkün olamayacağını daha önce belirtmiĢtik. Böyle hallerde kullanılabilecek yollardan birisi cebirsel çözüm metodudur. Esasen bu yöntem, kısıtlayıcıların genellikle eĢitsizlik Ģeklinde olmasından dolayı fazla kullanıĢlı değildir. Doğrusal denklem sistemlerinin bilinen çözüm yöntemlerinden yararlanabilmek için eĢitsizliklerin eĢitlik haline dönüĢtürülmesi gerekir. Bunu sağlamak için eĢitsizliklere “boĢ değiĢkenler” ekleme veya çıkarma yoluna gidilir. Örnek Problem 1.1‟i tekrar göz önüne alalım. Maksimize f = 5x1 + 7x2 2x1 + 3x2  60 4x1 + 2x2  80 x1, x2  0 Modelimizin kısıtlayıcıları küçük-eĢit Ģeklindedir. Bu eĢitsizlikleri eĢitlik haline dönüĢtürmek üzere x3 ve x4 boĢ değiĢkenlerini (x3, x4  0 olmak üzere) kısıtlayıcıların sol tarafına ekleyelim. Böylece kısıtlayıcılar, 2x1 + 3x2 +x3 = 60 4x1 + 2x2 + x4 = 80 Ģeklini alacaktır. x3 ve x4 değiĢkenleri problemimiz için, sırasıyla Makine 1 ve Makine

35 2‟nin boĢ kapasiteleri olarak düĢünülebilir. Kısıtlayıcılar, denklem sayısı 2 (m = 2) ve bilinmeyen sayısı 4 (n = 4) olan bir doğrusal denklem sistemine dönüĢmüĢ oldu. Böyle bir sistemin sonsuz sayıda çözümü vardır. Bir doğrusal denklem sisteminin tek bir çözümü olabilmesi için m=n ve katsayılar matrisinin rankının da m‟ye eĢit olması, yani sistemdeki denklemlerin lineer bağımsız olması gerekir. Demek oluyor ki değiĢkenlerden herhangi ikisini sıfıra eĢitleyerek elimine etmek suretiyle geriye kalan iki değiĢken ve iki denklem için tek bir çözüm bulunabilir. Sıfıra eĢitlenecek değiĢkenlerin seçiminde, (n adet değiĢken m adet denklem durumunda),

n! m! (n-m) ! adet farklı seçeneğin ele alınması mümkündür. Her durum için sistemin çözümü bulunur. Bulunan çözümler arasında pozitiflik Ģartını sağlayanlar seçilir. Seçilen çözümler arasından amaç fonksiyonunu optimize eden değerler bulunarak problemin çözümü tamamlanmıĢ olur. Ele aldığımız örnekte n = 4 olduğuna göre, sıfıra eĢitlenecek olan değiĢkenleri,

4! 6 2! (4-2) ! farklı Ģekilde seçebiliriz. Bu altı farklı sisteme ait çözüm değerleri aĢağıdaki gibi olacaktır.

Durum 1 2 3 4 5 6 (Optimal)

x1 0 0 0 30 20 15

x2 0 20 40 0 0 10

x3 60 0 -60 0 20 0

x4 80 40 0 -40 0 0

Amaç ġekil 1.5‟teki Fonksiyonunun Grafik Çözüm Değeri (f) KarĢılığı 0 O 140 C (uygun değil) (uygun değil) 100 A 145 B

3 ve 4 numaralı durumlar pozitiflik Ģartını sağlamadığı için uygun olmayan çözümlerdir. 1, 2, 5, 6 durumlarına ait çözümler ise grafik çözümdeki (ġekil 1.5) konveks çözüm setinin köĢe noktalarına karĢılık gelmektedir. Amaç fonksiyonunu maksimize eden 6 numaralı durum problemin optimal çözümüdür ve grafik çözümdeki B köĢesine karĢılık gelmektedir. Diğer taraftan, optimal çözümde x3 ve x4 boĢ değiĢkenlerinin değerleri bu problem için sıfır olmuĢtur. Yani Makine 1 ve Makine 2‟nin tüm kapasiteleri üretimde kullanılacaktır. Atıl kapasite söz konusu değildir.

36 1.4.4 Simpleks Çözüm Yöntemi Simpleks çözüm metodu, cebirsel çözüm tekniğinin geliĢtirilmiĢ Ģeklidir. Cebirsel yöntemde, bütün çözümlerin tek tek ortaya konulması yorucu ve sıkıcı bir çalıĢma gerektirir. Simpleks yöntemde ise matematiksel iĢlemler daha azdır. Sadece temel uygun çözümlerle ilgilenilir. Simpleks yöntem, bir baĢlangıç temel uygun çözümünden hareketle her adımda yeni bir TUÇ‟a geçerek belli sayıdaki iterasyon sonunda optimal çözüme ulaĢır. Konunun daha iyi kavranabilmesi ve yöntemin esasına nüfuz edilebilmesi için önce, doğrusal denklem sitemlerinin kanonik forma sokulmasını ele alacağız. 1.4.4.1 Kanonik Form Genel bir doğrusal denklem sisteminde, değiĢken sayısı n, denklem sayısı m olmak üzere n > m olması halinde bu sistemin sonsuz sayıda çözümü olduğunu biliyoruz. DP modellerinde daima n > m durumuyla ilgilenildiği için bundan böyle n > m kabul edeceğiz. Bir doğrusal denklem sisteminin her bir denkleminde,değiĢkenlerden sadece bir tanesi +1 katsayısıyla bulunur ve bu değiĢken diğer denklemlerde bulunmazsa söz konusu sistem “kanonik” formdadır denilir. Eğer bu değerler birinci değiĢkenden m‟inci değiĢkene kadar sırayla, birinci denklemden m‟inci denkleme kadar +1 katsayısıyla yer alır, diğer denklemlerde yer almazlarsa söz konusu sistem “sıralı kanonik” formdadır denilir. Örnek olarak; 2x1 + x2 + 0,5x3 = 3 3x1 + 2x3 + x4 = 5 sistemi sıralı olmayan kanonik formdadır. Çünkü x2 değiĢkeni sadece birinci denklemde +1 katsayısıyla ve x4 değiĢkeni de sadece ikinci denklemde +1 katsayısıyla bulunmaktadır. Kanonik formdaki bir sistemin çözümlerinden birisi peĢin olarak bellidir. Örneğimiz için bu çözüm, x1 = 0 x2 = 3 x3 = 0 x4 = 5 çözümüdür. Burada x2 ve x4 “temel değiĢkenler”, x1 ve x3 de “temel olmayan değiĢkenler” olarak adlandırılır. Diğer taraftan, x1 + 2x3 + x4 = 7 x2 + x3 + 2x4 = 5 sistemi ise sıralı kanonik formda bir sistemdir. Burada da x1 ve x2 temel değiĢkenler, x3 ve x4 de temel olmayan değiĢkenlerdir. Sistemin peĢin olarak bilinen çözümü aĢağıdadır. x3 = 0 x1 = 7 x4 = 0 x2 = 5 Sistemde bağımlı denklem bulunmaması halinde, bir doğrusal denklem sistemini kanonik formda ifade etmek mümkündür. Bunun için Ģu kurallardan

37 faydalanılır. Kural 1: Bir doğrusal denklem sistemindeki herhangi bir denklemin yerine bu denklemin k katı (k ≠ 0) konulursa elde edilen sistem ilk sisteme denktir. Kural 2: Bir doğrusal denklem sistemindeki herhangi bir denklemin yerine, bu denklem ile sistemdeki baĢka bir denklemin k katının toplamı konulursa elde edilen sistem yine ilk sisteme denktir. Kuralların uygulanıĢına örnek olarak aĢağıdaki doğrusal denklem sistemini ele alıp sıralı kanonik forma sokalım. 2x1 + 3x2 - x3 + 5x5 = 2 -2x1 + x2 - 3x3 – x4 = 6 x1 + 2x2 - x4 + 4x5 = 3 Amacımız, x1 değiĢkeninin sadece birinci denklemde +1 katsayısıyla bulunmasını, diğer denklemlerde bulunmamasını, x2 değiĢkenin sadece ikinci denklemde +1 katsayısıyla bulunmasını ve nihayet x3 değiĢkenin sadece üçüncü denklemde +1 katsayısıyla bulunmasını, diğerlerinde bulunmamasını (yani sıfır katsayısıyla bulunmasını) temin etmektir. ĠĢlemleri daha rahat takip edebilmek için sisteme ait katsayıları ve sağ taraf değerlerini Tablo 1.1‟in birinci alt tablosuna yerleĢtirelim. Tablo 1.1: Örnek Sistemin Kanonik Forma DönüĢtürülmesi Alt Tablo 1

2

3

4

Denklem No 1 2 3 1 2 3 1 2 3 1 2 3

Sağ Taraf

x1

x2

x3

x4

x5

2 6 3 1 8 2 -2 2 1 -3 3 1

2 -2 1 1 0 0 1 0 0 1 0 0

3 1 2 3/2 4 1/2 0 1 0 0 1 0

-1 -3 0 -1/2 -4 1/2 1 -1 1 0 0 1

0 -1 -1 0 -1 -1 3/8 -1/4 -7/8 5/4 -9/8 -7/8

5 0 4 5/2 5 3/2 5/8 5/4 7/8 -1/4 17/8 7/8

Ġlk adım olarak x1 değiĢkeninin, sadece birinci denklemde +1 katsayısıyla bulunmasını, diğer denklemlerde bulunmamasını sağlayacağız. Yani x1 sütunundaki katsayıları Alt Tablo 2‟de,

38

1 0 0 haline dönüĢtürmek istiyoruz. Bu durum için, x1 sütununa “anahtar sütun”, 1 yapılmak istenilen katsayıya da “anahtar sayı” diyeceğiz.Tablo 1.1‟de her adım için anahtar sayılar dikdörtgen içine, anahtar sütunun diğer elemanları (sıfır yapılmak istenilen katsayılar) daire veya elips içine alınmıĢtır. Alt Tablo 1‟den Alt Tablo 2‟nin elde ediliĢi, yukarıda verilen kurallara dayanılarak Ģöyle yapılmıĢtır. Alt Tablo 1‟in 1 numaralı denklemi (1.1 denklemi) 1/2 ile çarpılarak veya 2‟ye bölünerek (anahtar sayının tersi ile çarpılarak veya anahtar sayıya bölünerek) 2.1 denklemi elde edilir. 1.1 denklemine ait

2 2 3 1 0 5 katsayıları 1/2 ile çarpılırsa,

1 1 3/2  1/2 0 5/2 elde edilir ki bunlar da 2.1 denkleminin katsayıları olarak Alt Tablo 2‟ye yerleĢtirilmiĢtir. Böylece x1 değiĢkeninin katsayısı +1 yapılmıĢ olmaktadır. 2.1 denklemi 2 ile çarpılıp 1.2 denklemi ile toplanırsa 2.2 denklemi elde edilir. 2.1 denkleminin katsayıları olan ,

1 1 3/2  1/2 0 5/2 değerleri 2 ile çarpılırsa,

2 2 3 1 0 5 elde edilir. Bunlar 1.2 denklemine ait,

6  2 1 3 1 0 katsayıları ile aynı sırada toplanırsa,

8 0 4 4 1 5 katsayıları elde edilir. Bunlar da 2.2 denkleminin katsayıları olarak Alt Tablo 2‟ye yerleĢtirilmiĢtir. Benzer Ģekilde, yine 2.1 denklemi –1 ile (sıfır yapılmak istenen katsayının ters iĢaretlisi ile) çarpılıp 1.3 denklemi ile toplanırsa 2.3 denklemi elde edilir. 2.1denklemine ait,

1 1 3/2  1/2 0 5/2 katsayıları –1 ile çarpılırsa

 1  1  3/2 1/2 0  5/2

39 değerleri elde edilir. Bunlar 1.3 denklemine ait,

3 1 2 0 1 4 katsayıları ile toplandığında,

2 0 1/2 1/2  1 3/2 değerleri elde edilir. Alt Tablo 2‟nin üçüncü satırına ait katsayılar böylece bulunmuĢ olmaktadır. Buraya kadar anlatılan iĢlemlerle birinci adım tamamlanmıĢ olmaktadır. Benzeri iĢlemler x2 ve x3 değiĢkenleri için de yapılacaktır. Alt Tablo 2‟den Alt Tablo3‟e geçerken amacımız x2 değiĢkenine ait katsayıları,

0 1 0 haline dönüĢtürmek, yani x2 değiĢkeninin sadece ikinci denklemde +1 katsayısıyla bulunmasını, diğerlerinde bulunmamasını sağlamaktır. Bunun için birinci adımdaki benzer iĢlemler Ģu Ģekilde özetlenebilir. 2.2 denklemi 1/4 ile (anahtar sayının tersi ile) çarpılarak 3.2 denklemi elde edilir. 3.2 denklemi –3/2 ile çarpılıp 2.1 denklemine eklenerek 3.1 denklemi elde edilir. 3.2 denklemi –1/2 ile çarpılıp 2.3 denklemine eklenerek 3.3 denklemi elde edilir. Böylece Alt Tablo 3 elde edilmiĢ olmaktadır. Sıralı kanonik formun tamamlanabilmesi için yukarıdaki iki adıma benzer Ģekilde, x3 değiĢkeninin de sadece üçüncü denklemde +1 katsayısıyla bulunması, yani x3 sütununa ait katsayıların,

0 0 1 haline dönüĢtürülmesi sağlanmalıdır. Bunun için, ilk iki adımdakine benzer iĢlemler Ģöyle sıralanabilir. 3.3 denklemi aynen alınarak 4.3 denklemi elde edilir. 4.3 denklemi –1 ile çarpılıp 3.1 denklemine eklenerek 4.1 denklemi elde edilir. 4.3 denklemi 3.2 denklemine eklenerek 4.2 denklemi elde edilir. Böylece baĢlangıç doğrusal denklem sisteminin kanonik forma dönüĢtürülmesi tamamlanmıĢ olmaktadır. Dikkat edilecek olursa Alt Tablo 4‟teki x1, x2 ve x3 değiĢkenlerine ait katsayılar bir birim matris oluĢturmaktadır. Elde edilmiĢ olan yeni

40 sistemin peĢinen bilinen çözümü, x4 = 0 x5 = 0

x1 = -3 x2 = 3 x3 =1

dir. Burada x1, x2 ve x3 temel değiĢkenler, x4 ve x5 ise temel olmayan değiĢkenlerdir. Demek oluyor ki,

a11 x1 a 21 x1

 

a12 x 2 a 22 x 2

     

a1n x n a 2n x n

 a m2 x 2

  

a mn x n

 a m1 x1

 b1   b2     bm 

(1.10)

olarak ifade edilen genel bir doğrusal denklem sistemi çeĢitli satır iĢlemleriyle(*),

x1 x2

 d 1,m1 x m1  d 2,m1 xm1

 d 1,m 2 x m 2  d 2,m 2 xm 2

   d 1n xn    d 2n x n

 xm  d m,m1 xm1  d m,m 2 xm 2

   d mn x n

 e1   e2   (1.11)   em 

Ģeklinde sıralı kanonik forma dönüĢtürülebilir. (1.11) sistemi (1.10) sistemine denktir. (1.11) sisteminin temel uygun çözümü olarak adlandırılan, x1 = e1, x2 = e2, ..., xm = em xm+1 = 0, xm+2 = 0, ..., xn = 0 Ģeklindeki çözüm peĢin olarak bilinmektedir. Bu durumda x1, x2, ..., xm değiĢkenleri temel değiĢkenler, xm+1, xm+2, ..., xn değiĢkenleri temel olmayan değiĢkenlerdir. 1.4.4.2 Tipik Maksimizasyon Modelinde Primal Simpleks Yöntem Simpleks yöntem prensip olarak, kanonik forma sokulmuĢ olan bir DP modelinde peĢinen belli olan temel uygun çözümden hareketle her defasında yeni bir temel uygun çözüme geçilerek adım adım optimum çözüme yaklaĢma metodudur. Her adımda (iterasyonda) kanonik formun temel ve temel olmayan değiĢkenleri arasında, amaç fonksiyonunu optimize edecek yönde değiĢiklikler yapılır. Yani temelde bulunan bir değiĢken temelden çıkarılırken temel olmayan bir değiĢken temele alınır. Simpleks yöntemi önce tipik maksimizasyon problemi için ele alacağız ve buna (*)

Mesela ilk adımda x1 değiĢkeninin sadece ilk denklemde +1 katsayısıyla bulunması, diğer denklemlerden elimine edilmesi isteniyorsa, önce (1.10) sistemindeki birinci denklem 1/a11 katsayısıyla çarpılarak x1 değiĢkeninin birinci denklemde +1 katsayısıyla bulunması temin edilir. Daha sonra, elde edilen bu ilk denklem –a21 ile çarpılıp ikinci denkleme, -a31 ile çarpılıp üçüncü denkleme, ..., nihayet aml ile çarpılıp m‟inci denkleme ilave edilirse, x1 değiĢkeni ilk denklemin dıĢındaki diğer denklemlerden elimine edilmiĢ olacaktır. Benzeri iĢlemler x2, x3, ..., xm için de uygulanırsa (1.10) sistemi (1.11) sistemine dönüĢmüĢ olur.

41 “primal simpleks yöntem” diyeceğiz. Simpleks metodun uygulanabilmesi için DP modelindeki amaç denklemi ve kısıtlayıcı Ģartlardan oluĢan sistemin kanonik forma sokulmuĢ olması gerekmektedir. Tipik maksimizasyon modelinde bunu sağlamak için boĢ değiĢkenlerden yararlanılır. Böylece hem eĢitsizlikler eĢitlik haline dönüĢtürülmüĢ hem de söz konusu sistem kanonik forma sokulmuĢ olur. Tipik maksimizasyon modelinin, matris notasyonuyla, Maksimize f = cx Ax  b x0 olarak ifade edildiğini biliyoruz. Amaç fonksiyonundaki cx terimi eĢitliğin sol tarafına alınarak -cx + f = 0 (1.12) Ģeklinde ifade edilebilir. Kısıtlayıcı Ģartlara ise,

 y1  y  2 y=         ym  olmak üzere m adet boĢ değiĢken ilave edilerek eĢitsizlikler eĢitlik haline dönüĢtürülebilir. Bu durumda kısıtlayıcı Ģartlar, Ax + y = b (1.13) Ģeklini alacaktır. (1.12) ve (1.13) den meydana gelen sistem açık olarak Ģöyle ifade edilebilir. -c1x1 - c2x2 -...- cnxn + f =0 a11x1 + a12x2 +...+ a1nxn + y1 = b1 a21x1 + a22x2 +...+ a2nxn + y2 = b2

 am1x1 + am2x2 +...+ amnxn

+ ym = bm

Görülüyor ki f de bir değiĢken kabul edilmek üzere sistem kanonik formdadır. Temel değiĢkenler, f, y1, y2, ..., ym, temel olmayan değiĢkenler x1, x2, ..., xn dir. Sistemin peĢin olarak bilinen çözümü, x1= 0, x2 = 0, ..., xn= 0 f = 0, y1 = b1, y2 = b2, ..., ym = bm dir. Simpleks yöntem f‟yi daima temelde tutmak üzere, mümkün mertebe yi boĢ değiĢkenlerini temelden çıkarmak, bunun yerine xj tabii değiĢikliklerini temele sokmak ister. Bu iĢleme f‟nin optimum değeri elde edilinceye kadar devam edilecektir. Temele giren ve temeli terk eden değiĢkenlerin seçiminde Ģu kurallar uygulanır.

42 Kural 1: Temele girecek değiĢken olarak, f satırındaki negatif değerli katsayılardan mutlak değeri en büyük olana karĢılık gelen değiĢken seçilir. Bu değiĢkene ait sütuna “anahtar sütun” denir. Böylece f’nin değerinde mümkün olan en büyük artıĢ sağlanmıĢ olacaktır. f satırında seçilecek negatif değerli katsayı kalmadığında optimal (maksimum) çözüm bulunmuĢ olur. Kural 2: Temeli terk edecek değiĢkenin seçiminde Ģu yol izlenir. Önce sağ taraf değerleri (temel değiĢken değerleri) temele girecek değiĢken katsayılarına (yani anahtar sütun elemanlarına) sırasıyla bölünerek bir takım oran değerleri elde edilir. Sıfır ve negatif değerli oranlar bir tarafa bırakılarak, elde edilen oran değerleri içinde en küçük olana karĢılık gelen temel değiĢken, temelden çıkarılmak üzere seçilir. Bu değiĢkenin ait olduğu satıra “anahtar satır”, anahtar satır ile anahtar sütunun kesiĢme noktasındaki katsayıya “anahtar sayı” denir. Anahtar elemanları, daha sonra bahsedeceğimiz formülle hesaplama yönteminde kullanacağız. Primal simpleks yöntemin uygulanmasına örnek olmak üzere Örnek Problem 1.1‟i yeniden ele alalım. Maksimize f = 5x1 + 7x2 2x1 + 3x2  60 4x1 +2x2  80 x1, x2  0 Amaç fonksiyonunu (1.12) eĢitliğine uygun olarak, -5x1 - 7x2 + f = 0 Ģeklinde ifade edelim. Kısıtlayıcı Ģartlara, Makine 1 ve Makine 2‟nin boĢ kapasitelerini gösteren y1 ve y2 (y1, y2  0) boĢ değiĢkenlerini ekleyerek eĢitlik haline çevirelim. 2x1 + 3x2 + y1 = 60 4x1 + 2x2 + y2 = 80 Böylece elde ettiğimiz üç denklem, beĢ bilinmeyenli doğrusal denklem sistemi kanonik formdadır. BaĢlangıç temel uygun çözümü, x1 = 0 f=0 x2 = 0 y1 = 60 y2 = 80 dir. Bu baĢlangıç çözümüne göre Ürün 1 ve Ürün 2‟den henüz üretilmemektedir. (x1=0, x2=0) Bunun sonucu olarak elde edilen kâr da sıfırdır (f=0). Diğer taraftan Makine 1 ve Makine 2‟nin tüm kapasitesi boĢ beklemektedir. Yani kullanılmayan kapasiteleri gösteren y1 ve y2 boĢ değiĢkenlerinin değeri sırasıyla 60 ve 80 birimdir.

43 Tablo 1.2: Örnek Problem 1.1‟in Primal Simpleks Yöntemle Çözümü Temel Alt Temel DeğiĢkenin Oran Tablo DeğiĢken Değeri f 0 1 y1 60 20 y2 80 40 f 140 2 x2 20 30 y2 40 15 f 145 3 x2 10 x1 15

x1

x2

f

y1

y2

-5 2 4 -1/3 2/3 8/3 0 0 1

-7 3 2 0 1 0 0 1 0

1 0 0 1 0 0 1 0 0

0 1 0 7/3 1/3 -2/3 9/4 1/2 -1/4

0 0 1 0 0 1 1/8 -1/4 3/8

Grafik Çözümdeki KarĢılığı O KöĢesi C KöĢesi B KöĢesi

Kanonik formdaki baĢlangıç sistemini Tablo 1.2‟nin birinci alt tablosuna yerleĢtirerek(*) simpleks kurallarını uygulamaya baĢlayalım. Tablo 1.2‟nin birinci alt tablosundaki sistemin, üretim yapmama durumunu gösterdiğini biliyoruz. Bu durumdayken ürünlerden birinin üretimine baĢlamak isteseydik, 5 birim kâr getiren Ürün 1 yerine 7 birim kâr getiren Ürün 2‟yi seçerdik. ĠĢte simpleks metodun birinci kuralı bu durumu öngörmektedir. Alt tablomuzun f satırında en fazla kâr getiren ürünün katsayısı mutlak değeri en büyük olan negatif sayıdır. Bu durumda Kural 1‟e göre seçilecek olan katsayı –7„dir. O halde, amaç fonksiyonunda en büyük artıĢı sağlamak üzere temele girmesi gereken değiĢken x2 olacaktır. Bu değiĢkene ait sütun, anahtar sütundur. Simpleks yöntemin ikinci kuralı temeli terk edecek olan değiĢkeni belirlemektedir. Kural 2‟ye göre bunun için Temel DeğiĢkenin Değeri (TDD) sütunu anahtar sütuna bölünerek bir takım oran değerleri elde edilecek, oranlar içinde negatif ve sıfır olanlar bir tarafa bırakıldıktan sonra kalan değerlerden en küçük olana karĢılık gelen temel değiĢken temelden çıkarılacaktır. Alt Tablo 1‟deki oran değerleri arasında en küçük olanı 20 olduğuna göre temeli terk edecek olan değiĢken y1 olur. Neden en küçük oran değerinin seçilmesi gerektiğini Ģöyle izah edebiliriz. Birinci kurala göre Ürün 2‟den bir miktar üretmeye (yani x2 yi temele sokmaya) karar vermiĢtik. Bu üretimi en fazla ne kadar yapabileceğimizi belirleyen etken Makine 1 ve Makine 2‟nin kapasiteleridir. Ürün 2‟nin her birimi için 3 birim Makine 1 kapasitesi gerektiğine göre Makine 1‟in tüm kapasitesini Ürün 2 için kullanacak olursak, en fazla, 60/3 = 20

(*)

f daima temelde kalacağına göre tabloda ayrı bir sütun olarak gösterilmeyebilirdi. Temel değiĢkenler altında oluĢan birim matrisi daha rahat takip edebilmek için f‟yi de ayrı bir sütun olarak göstermeyi tercih ettik.

44 birim üretim yapabiliriz. Diğer taraftan yine Ürün 2‟nin her birimi için 2 birim Makine 2 kapasitesi gerektiğine göre, Makine 2‟nin tüm kapasitesini Ürün 2 için kullanacak olursak, en fazla, 80/2 = 40 birim üretim yapabiliriz. Tabiatıyla bu iki değerden küçük olanıyla sınırlı kalmak zorundayız. Diğer bir deyiĢle büyük değer olan 40 birimi seçmiĢ olsaydık bu üretimi yapmak için elimizdeki mevcut Makine 1 kapasitesi yeterli olmayacaktı. Problemin çözümüne devam edelim. x2 değiĢkeninin y1 değiĢkeni yerine temele almak istiyoruz. Öyleyse x2 sütununu, ikinci alt tabloda,

0 1 0 Ģekline dönüĢtürmemiz gerekecektir. Bunu sağlamak üzere aĢağıdaki iĢlem adımları uygulanır. y1 satırına ait,

60 2 3 0 1 0 katsayıları 1/3 ile çarpılır veya 3‟e bölünürse (anahtar sayının tersi ile çarpılır veya anahtar sayıya bölünürse) 2.x2 satırını (ikinci alt tablonun x2 satırını) oluĢturan,

20 2/3 1 0 1/3 0 katsayıları elde edilerek Alt Tablo 2‟ye yerleĢtirilir. Elde edilen 2.x2 satırı 7 ile (sıfır yapılmak istenen katsayının ters iĢaretlisi ile) çarpılarak bulunan,

140 14/3 7 7/3 0 katsayıları, 1.f satırına ait olan,

0  5 7 1 0 0 katsayılarıyla toplanarak, 2.f satırını oluĢturan,

140  1/3 0 1 7/3 0 değerleri elde edilir ve bunlar Alt Tablo 2‟nin f satırına yerleĢtirilir. Yine 2.x2 satırı bu defa –2 ile (sıfır yapılmak istenen katsayının ters iĢaretlisi ile) çarpılarak elde edilen,

 40  4/3  2 0  2/3 0 katsayıları, 1.y2 satırına ait olan,

80 4 2 0 0 1 katsayılarıyla toplanarak, 2.y2 satırını oluĢturan,

40 8/3 0 0  2/3 1 değerleri elde edilir ve bunlar Alt tablo 2‟nin y2 satırına yerleĢtirilir.

45 Böylece birinci iterasyon tamamlanmıĢ olmaktadır. Elde edilen yeni kanonik formun bilinen çözümüne göre, x1 = 0 f = 140 y1 = 0 x2 = 20 y2 = 40 dır. Bu çözüme göre Ürün 2‟den 20 birim üretilmekte ve buna karĢılık 140 birim kâr elde edilmektedir. Makine 1‟in tüm kapasitesi kullanılmıĢ (y1 = 0), Makine 2‟nin ise 40 birimlik kapasitesi (y2 = 40) henüz boĢ beklemektedir. Ürün 1‟den üretim yapılmamaktadır (x1 = 0). Alt Tablo 2‟nin f satırında negatif değerli katsayı bulunduğuna göre henüz optimal çözüm elde edilmiĢ değildir. Yapılacak yeni iterasyonda temele girecek değiĢken, -1/3 katsayısının ait olduğu x1 değiĢkenidir. Temeli terk edecek olan değiĢken, 20 / (2 / 3) = 30 ve 40 / (8 / 3) = 15 oran değerleri içinde en küçüğü olan 15‟in ait olduğu y2 değiĢkenidir. O halde x1 temele girerken y2 temelden çıkacaktır. Bu durumda x1 sütununa ait katsayıların,

0 0 1 olmasını sağlamak üzere yeni bir iterasyon yapılacak ve Alt Tablo 3 elde edilecektir. Bunun sağlamak üzere Ģu iĢlem adımları uygulanır. 2.y2 satırı 3/8 ile çarpılarak (veya 8/3‟e bölünerek) 3.x1 satırı elde edilir. 3.x1 satırı 1/3 ile çarpılıp 2.f satırı ile toplanarak 3.f satırı elde edilir. 3.x1 satırı –2/3 ile çarpılıp 2.x2 satırı ile toplanarak 3.x2 satırı elde edilir. Üçüncü alt tablonun f satırında negatif katsayı kalmamıĢtır. O halde bulunan yeni çözüm, optimaldir. Buna göre, y1 = 0 fmaks = 145 y2 = 0 x1 = 15 x2 = 10 elde edilmiĢ olur. Yani 145 birimlik maksimum kârı elde etmek için Ürün 1‟den 15, Ürün 2‟den 10 birim üretmek gerekmektedir Her bir alt tablonun grafik çözümdeki karĢılıklarını görmek için Örnek Problem 1‟in kısıtlayıcılarını ve uygun çözüm alanını ġekil 1.10‟da yeniden ele alalım.

46

x2 40

30

20

C

B 10 A O

2.3.1.1 10 O

20

30

x1

ġekil 1.10: Tablo 1.2 Alt Tablolarının Grafik KarĢılığı Alt Tablo (AT) 1‟de x1 ve x2 temel olmayan değiĢkenlerdir. Dolayısıyla x1 = 0, x2 = 0‟dır. O halde AT 1, grafik çözümdeki O köĢesine karĢılık gelmektedir. Alt Tablo 2‟de x2 temel değiĢkeninin değeri 20‟dir. x1 değiĢkeni ise temelde değildir; dolayısıyla değeri sıfırdır. O halde AT 2, grafik çözümdeki C köĢesine karĢılık gelmektedir. Alt Tablo 3‟de x1 ve x2 değiĢkenlerinin her ikisi de temeldedir ve değerleri x1=15, x2=10‟dur. O halde AT 3, grafik çözümdeki B köĢesine karĢılık gelmektedir. Demek oluyor ki, simpleks yöntem, adım adım konveks çözüm setinin ardıĢık köĢelerini izleyerek optimal çözüm köĢesine ulaĢmaktadır. 1.4.4.2.1 Ġterasyonlarda Formül Kullanımı ve BasitleĢtirici Kurallar Simpleks kuralları uygulanarak anahtar satır, anahtar sütun ve anahtar sayı bulunduktan sonra bir sonraki alt tabloya geçiĢte aĢağıdaki kurallardan faydalanılabilir. 1. Anahtar satır veya sütundaki sıfır değerli katsayılar bir sonraki alt tabloya aynen aktarılır. 2. Anahtar satır, anahtar sayıya bölünerek bir sonraki tabloya aktarılır. 3. Diğer katsayı ve temel değiĢken değerlerinin bir sonraki alt tabloda alacağı değerler, A*= A -

BC D

47 formülüyle hesaplanabilir. Burada A , A katsayısının bir sonraki alt tabloda alacağı değer, D, anahtar sayı, B ve C de A‟nın yatay ve dikey hizalarındaki anahtar satır ve anahtar sütun elemanlarıdır. A, B, C ve D‟yi Ģematik olarak Ģu Ģekilde gösterebiliriz. *

A

C

B Anahtar Satır D < A < < Anahtar Sütun < Formül kullanımına örnek olmak üzere, Tablo 1.2‟nin ikinci alt tablosundaki < 7/3 katsayısının üçüncü alt tabloda alacağı değeri hesaplayalım. b -1/3

7/3

8/3

-2/3

Bu durumda A = 7/3, B = -2/3, C = -1/3 ve D = 8/3 olmaktadır. O halde, A* = A -

BC 7 (  2/3)(  1/3) 9    D 3 8/3 4

elde edilir. Benzer Ģekilde yine AT 2‟deki amaç fonksiyonu değeri olan 140 yerine bir sonraki alt tabloda hangi değerin geleceğini bulalım.

140

-1/3

40

8/3

Bu örnek için A = 140, B = 40, C = -1/3 ve D = 8/3 olmaktadır. O halda, A* = A bulunur.

BC (40)(  1/3)  140   145 D 8/3

48

1.4.4.2.2 Örnek Problem 1.7 Tipik maksimizasyon modelinin primal simpleks yöntemle çözümüne son bir örnek olarak aĢağıdaki DP modelini ele alalım. Maksimize f = 4x1 +5x2 + 9x3 + 11x4 x1 + x2 + x3 + x4  15 7x1 + 5x2 + 3x3 + 2x4  120 3x1 + 5x2 + 10x3 + 15x4  100 x1, x2, x3, x4  0 Amaç fonksiyonunu yeniden düzenleyip kısıtlayıcılara boĢ değiĢkenler ilave edilerek, -4x1 - 5x2 - 9x3 - 11x4 + f =0 x 1 + x2 + x 3 + x4 + y1 = 15 7x1 + 5x2 + 3x3 + 2x4 + y2 =120 3x1 + 5x2 + 10x3 + 15x4 + y3 =100 kanonik forma sokulmuĢ baĢlangıç sistemi elde edilir. Bu sistem, Tablo 1.3‟ün birinci alt tablosuna yerleĢtirilerek simpleks kuralları uygulanacak olursa diğer alt tablolar elde edilir. Ġterasyonların takibi öğrenciye bırakılmıĢtır. Tablo 1.3: Örnek Problem 1.7‟nin Çözümü AT TD 1

2

3

4

f y1 y2 y3 f y1 y2 x4 f x1 y2 x4 f x1 y2 x3

TDD

Oran

x1

x2

0 15 15 120 60 100 6,67 220/3 25/3 10,41 320/3 16,16 20/3 33,33 1105/12 125/12 25 455/12 55/12 7,86 99,29 7,14 46,43 7,86

-4 1 7 3 -9/5 4/5 33/5 1/5 0 1 0 0 0 1 0 0

-5 1 5 5 -4/3 2/3 13/3 1/3 1/6 5/6 -7/6 1/6 0,43 0,71 -0,86 0,29

x3 -9 1 3 10 -5/3 1/3 5/3 2/3 -11/12 5/12 -13/12 7/12 0 0 0 1

x4 -11 1 2 15 0 0 0 1 0 0 0 1 1,57 -0,71 1,86 1,71

f

y1

y2

y3

1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 9/4 0 5/4 0 -33/4 0 -1/4 1 1,86 0 1,43 0 -8,71 0 -0,43

0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 11/15 -1/15 -2/15 1/15 7/12 -1/12 5/12 1/12 0,71 -0,14 0,57 0,14

49 Alt Tablo 4‟de elde edilen optimal çözüme göre, x2 = 0 fmaks = 99,29 x4 = 0 x1 = 7,14 y1 = 0 x3 = 7,86 y3 = 0 y2 = 46,43 olarak bulunur. Görülüyor ki boĢ değiĢkenlerin tamamı temelden çıkarılamamıĢtır. Bu problem dört ürün üç makineye ait bir üretim planlama problemi olsaydı ikinci makinenin 46,43 birimlik kapasitenin kullanılmadığı sonucuna ulaĢılırdı. 1.4.4.3 Minimizasyon Türündeki Amaç Fonksiyonunun Maksimizasyon Türünde Ġfade Edilmesi Genel bir DP modelinin amaç fonksiyonu minimizasyon türünde ise, bu fonksiyonun maksimizasyon türünde ifade edilmesi mümkündür. Böylece bir sonraki kesimde ele alacağımız genel simpleks yöntem her türlü DP modeline uygulanabilecektir. ġekil 1.11‟de, bir fonksiyonunun minimum noktasının, bu fonksiyonun ters iĢaretlerinin (x eksinine göre simetriğinin) maksimum noktasının ters iĢaretlerine eĢit olduğu görülmektedir. ġekil 1.11‟den de görülebileceği gibi, minimize edilecek olan bir amaç fonksiyonu (-1) ile çarpılarak maksimizasyon türüne dönüĢtürülebilir. Yeni amaç fonksiyonuna göre çözüm yapıldıktan sonra elde edilen amaç fonksiyonu değeri tekrar (-1) ile çarpılarak baĢlangıçtaki amaç fonksiyonunun minimum değeri bulunmuĢ olur. y = f(x) f fonksiyonu fmin = -(-fmaks) fmin x

O -fmaks

-f fonksiyonu ġekil 1.11: Minimizasyon Türündeki Fonksiyon ile Maksimizasyon Türündeki Fonksiyon Arasındaki ĠliĢki

50 1.4.4.4 Ġki AĢamalı Genel Simpleks Yöntem Genel bir DP modelinde amaç fonksiyonunun maksimizasyon veya minimizasyon türünde olabileceğini biliyoruz. Bir önceki kesimde bu türleri birbirine dönüĢtürmenin mümkün olduğunu gördük. Bundan böyle genel DP modeli için amaç fonksiyonunu maksimizasyon türünde ele alacağız. Minimizasyon durumları için yukarıda bahsedilen dönüĢümden faydalanılacaktır. Genel DP modelinde kısıtlayıcıların bir kısmı “küçük-eĢit”, bir kısmı “eĢit”, bir kısmı da ”büyük-eĢit” Ģeklindedir. Bunu göstermek üzere, Maksimize f = c1x1 + c2x2 + … + cnxn a11x1 + a12x2 +  + a1nxn … ak1x1 + ak2x2 +  + aknxn

 b1  bk

Küçük-eĢitlik Ģeklindeki kısıtlayıcılar (k adet)

ak+1,1x1 + ak+1,2x2 +  + ak+1,nxn = bk+1 … al1x1 + al2x2 +  + alnxn = bl

EĢitlik Ģeklindeki kısıtlayıcılar (l-k adet)

al+1,1x1 + al+1,2x2 +  + al+1,nxn … am1x1 + am2x2 +  + amnxn

Büyük-eĢitlik Ģeklindeki kısıtlayıcılar (m-l adet)

x1, x2,…, xn  0

 bl+1  bm

m>l>k

genel DP modelini ele alalım. Görülüyor ki bu modelde k adet “küçük-eĢitlik”, (1-k) adet “eĢitlik” ve (m-l) adet de “büyük-eĢitlik” vardır. Primal simpleks yöntemde küçük eĢitlikleri eĢitlik haline çevirirken yi boĢ değiĢkenlerinden faydalanmıĢtık. Burada da k adet küçük eĢitlik için aynı yolu izleyeceğiz. Geriye iki tür kısıtlayıcımız kalmaktadır. EĢitlik Ģeklindeki kısıtlayıcıları kanonik forma sokmak üzere zi suni değiĢkenlerini eĢitliğin sol tarafına ekliyoruz. zi suni değiĢkenlerinin boĢ değiĢkenlere benzer bir manası yoktur. Amaç sadece kısıtlayıcıları kanonik forma sokup bir baĢlangıç çözümü elde etmektir. Çözüme baĢlanınca zi değiĢkenleri bir an önce temelden çıkarılmak istenecektir. Bu suni değiĢkenler temelden atılamazsa modelin çözümü yoktur. Üçüncü grup kısıtlayıcılar “büyük-eĢitlik” Ģeklindedir. Bunları eĢitlik haline çevirmek için, eĢitsizliklerin sol tarafından yi boĢ değiĢkenlerini çıkarıyoruz. Üçüncü grup kısıtlayıcılardaki yi değiĢkenlerinin katsayıları –1 olduğu için bu grup henüz kanonik forma sokulamamıĢtır. Kanonik formu elde etmek üzere bu gruba da ayrıca zi suni değiĢkenlerini ekliyoruz. Ġkinci ve üçüncü grup kısıtlayıcılara eklenen zi değiĢkenlerini bir an önce temelden çıkarmak istiyoruz. Eğer suni değiĢkenler temelden çıkarılamazsa modelin çözümü yoktur. Bunu sağlamak üzere zi değiĢkenlerinin toplamını minimize (veya toplamın ters iĢaretlisini maksimize) etmemiz gerekecektir. Amaç fonksiyonumuz

51 maksimizasyon türünde olduğu için, zi‟ler toplamının ters iĢaretlisini aynı amaç fonksiyonuna ekleyerek maksimize edeceğiz. zi suni değiĢkenlerinin temelden bir an önce atılabilmesi için, suni değiĢken katsayılarının, tabii değiĢken katsayılarına göre çok büyük seçilmesi gerekecektir. Suni değiĢken katsayısı olarak M ile gösterilen ve tabii değiĢken katsayılarına göre çok büyük olan bir değer seçiyoruz (konuyla ilgili yayınlardaki “Big M” metodu bu esasa dayanır). Böylece suni değiĢkenlerin bir an önce temelden çıkarılması sağlanmıĢ olacaktır. Böylece modelimizin yeni görünümü aĢağıdaki gibi olacaktır. Maksimize f = c1x1 + c2x2 + … + cnxn - Mzk+1 - … - Mzm (m

a11x1 + a12x2 +  + a1nxn + y1 … ak1x1 + ak2x2 +  + aknxnb + yk

 b1

ak+1,1x1 + ak+1,2x2 +  + ak+1,nxn + zk+1 … al1x1 + al2x2 +  + alnxn + zl

= b-l) k+1x1

 bk

1. grup kst.

2. grup kst.

(1.14)

= bl

al+1,1x1 + al+1,2x2 +  + al+1,nxn - y1+1 + zl+1  bl+1 … am1x1 + am2x2 +  + amnxn - ym + zm  bm

3. grup kst.

x1, x2,…, xn , y1,…, yk zk+1,…, zl , yl+1,…, ym , zl+1,…, zm  0

m>l>k

Yazma kolaylığı elde etmek için yukarıdaki sistemi matris notasyonu ile gösterelim. Bunun için aĢağıdaki matris ve vektörleri tanımlıyoruz.

 x1  x  2 x=      x n  nx1  y1  y  1  2 y =     y k  kx1



c  c1 e 2  1 e  1 3

c2 1 1

 y l 1  y  l 2  3 y =  z2 =       y m  ( m l ) x1

 c n 1xn

 11x(l  k)

 11x(ml)

 z k 1   z k 2  z3 =     z   l  (l  k ) x1

 z l 1  z   l 2        z m  ( m l ) x1

52

 b1  b  2 b1=      bk  kx1

 a11 a 21 A1 =      a k1

 bk 1  b  k 2  b2 =        bl  ( l  k ) x1

a12  a1n  a 22  a 2n      a k2  a kn  kxn

b1  b  2 b3 =      bk  (m l)x1

 a k 1,1 a k 1,2  a k 1,n  a a k  2,2  a k  2,n  k  2,1  A2 =        al2  aln  (l  k ) xn  al1

 al 1,1 al 1,2  al 1,n  a al  2,2  al  2,n  l  2,1  A3 =        a m2  a mn  (m l)xn  a m1 Yukarıdaki tanımlardan sonra (1.14) sistemi aĢağıdaki gibi ifade edilebilir. Maksimize f = cx – M(e2z2 + e3z3) A1x + y1 = b1 A2x + z2 = b2 (1.15) 3 3 A3x - y + z = b3 x, y1, y3, z2, z3  O ġimdi, M katsayılarını tablolarda sürekli olarak tekrarlamamak için Ģöyle bir yola baĢ vuralım. Amaç fonksiyonunu, fc = cx fm = M(e2z2 + e3z3) olmak üzere ikiye bölelim. Bu durumda, f = fc + fm olacaktır. Bundan sonra fc ve fm‟i, maksimize edilecek iki ayrı amaç fonksiyonu olarak düĢüneceğiz. Metodun ilk merhalesinde fm fonksiyonunu amaç olarak ele alıp bütün suni değiĢkenleri (zi değiĢkenlerini) temelden çıkarmaya çalıĢacağız. Bunu baĢarabilirsek yöntemin ikinci aĢamasına geçeceğiz. Ġkinci merhalede amaç fonksiyonumuz fc olacaktır. Mademki önce fm fonksiyonunu optimize edeceğiz, o halde artık M katsayılarını da bir tarafa bırakabiliriz. Çünkü çok büyük M katsayılarını seçmemizin sebebi suni değiĢkenleri bir an önce temelden çıkarmaktı. Önce fm fonksiyonunu optimize etmekle

53 bu amacımızı gerçekleĢtirmiĢ olacağız. O halde pozitiflik Ģartlarını bir tarafa bırakır, yukarıdaki sebeplerden dolayı M katsayılarını terk eder ve daha önce yaptığımız gibi amaç fonksiyonlarını yeniden düzenlersek (1.15) sistemini aĢağıdaki gibi ifade edebiliriz. -cx + fc =0 2 2 3 3 e z +e z + fm =0 A1x + y1 = b1 (1.16) 2 A2x +z =b 3 A3x - y + z 3 = b3 Elde ettiğimiz (1.16) sitemini Tablo 1.4‟ün ilk alt tablosuna yerleĢtirelim. Tablodaki I‟ler gerekli büyüklükteki birim matrisleri, O‟lar da yine gerekli büyüklükteki sıfır matrisleri göstermektedir. Bu alt tabloya “kuruluĢ tablosu” diyeceğiz. KuruluĢ tablosuna bakılacak olursa e2 ve e3 satır vektörlerinden dolayı temel değiĢkenlere ait sütunlar (fc, fm, y1’, z2’, z3’ sütunları) bir birim matris oluĢturmamıĢtır. Yani sistemimiz henüz kanonik formda değildir. Kanonik formu elde edebilmek için e2 ve e3 yerine aynı boyutlardaki sıfır vektörler getirilmelidir. Bunu sağlamak üzere iki Tablo 1.4: Genel Simpleks Yöntemde KuruluĢ ve BaĢlangıç Tabloları Alt Tablo KuruluĢ Tablosu

Ara Tablo

BaĢlangıç Tablosu

Temel Temel DeğiĢkenin x’ DeğiĢken Değeri fc 0 -c fm 0 O y1 b1 A1 z2 b2 A2 3 3 z b A3 fc 0 -c 2 2 fm -e b -e2A2 y1 b1 A1 2 2 z b A2 3 3 z b A3 fc 0 -c 2 2 3 3 2 fm -e b -e b -e A2 -e3A3 1 y b1 A1 z2 b2 A2 3 3 z b A3

y3’ O O O O -I O O O O -I O e3 O O -I

fc 1 0 O O O 1 0 O O O 1 0 O O O

fm 0 1 O O O 0 1 O O O 0 1 O O O

y1’ O O I O O O O I O O O O I O O

z2’ O e2 O I O O O O I O O O O I O

z3’ O e3 O O I O e3 O O I O O O O I

grup iterasyon yapılır. Birinci grup iterasyondan sonra Tablo 1.4‟deki ara tablo elde edilir. Bunun için z2 satırı –e2 ile çarpılıp fm satırına eklenmiĢtir(*). Böylece z2’

(*)

Vektörlerle gösterilen değiĢkenlerin aslında bir grup değiĢkeni ifade ettiğini ve yapılan iĢlemlerin matris iĢlemleri olduğunu unutmayınız.

54 sütunundaki(**) e2 vektörü yerine aynı büyüklükte sıfır vektörü yerleĢtirilmiĢ olmaktadır. Ara tablodaki e3 vektörünün yerine de benzer Ģekilde bir sıfır vektörü yerleĢtirmek için bu defa z3 satırı –e3 ile çarpılıp yine fm satırına eklenir. Böylece “baĢlangıç tablosu” elde edilmiĢ olmaktadır. Tablo 1.4‟den de görülebileceği gibi baĢlangıç tablosu kanonik formdadır. Bu noktadan sonra izlenecek yol, önce fm satırını amaç satırı olarak ele alıp primal simpleks yöntemde anlatılan kurallar çerçevesinde z2 ve z3 değiĢkenlerini temelden çıkarmaktır. Bu sağlandıktan sonra fm satırı ve z2’, z3’ sütunları tablodan çıkarılır. Daha sonra fc satırı amaç olarak kabul edilip optimum çözüm bulununcaya kadar iterasyona devam edilir. Buraya kadar anlattığımız iki aĢamalı genel simpleks yöntemin uygulanmasını maddeler halinde özetleyelim. 1. Amaç fonksiyonu minimizasyon türünde ise (-1) ile çarparak maksimizasyon türüne çeviriniz. 2. Küçük-eĢitlik Ģeklindeki kısıtlayıcılara yi boĢ değiĢkenlerini ekleyerek eĢitlik haline çeviriniz. 3. EĢitlik Ģeklindeki kısıtlayıcılara zi suni değiĢkenlerini ekleyerek kanonik forma sokunuz. 4. Büyük-eĢitlik Ģeklindeki kısıtlayıcılardan, önce yi boĢ değiĢkenlerini çıkararak eĢitlik haline, daha sonra zi suni değiĢkenlerini ekleyiniz. 5. Amaç fonksiyonunu, f = fc + fm Ģeklinde ikiye ayırarak,. -cx + fc = 0 e 2z 2 + e 3z 3 + f m = 0 eĢitliklerini oluĢturunuz. 6. Sistemin katsayılarını “kuruluĢ tablosu”na yerleĢtiriniz. 7. KuruluĢ tablosundaki e2 ve e3 katsayıları yerine sıfır elde edecek Ģekilde gerekli iterasyonları yapınız. Böylece “baĢlangıç tablosu”nu elde etmiĢ olacaksınız. BaĢlangıç tablosu kanonik formdadır. 8. BaĢlangıç tablosundan itibaren, önce fm satırını amaç olarak kabul edip bütün zi suni değiĢkenlerini temelden çıkarmak üzere gerekli iterasyonları yapınız. Ġterasyonlarda, daha önce anlatılan primal simpleks kurallarını kullanınız. Bütün suni değiĢkenler temelden çıkarılamıyorsa DP modelinin çözümü yoktur. Herhangi bir suni değiĢken temelde fakat değeri sıfırsa, tabii bir değiĢkenle yer değiĢtirmesini sağlayacak Ģekilde iterasyon yaparak suni değiĢkeni temelden çıkarıp tabii değiĢkeni temele alınız. Diğer temel değiĢkenlerin değeri değiĢmeyecektir.

(**)

„ iĢareti transpozeyi göstermektedir.

55 9. Bütün suni değiĢkenler temelden çıkarıldıktan sonra fm satırını ve suni değiĢkenlere ait sütunları tablodan çıkarınız. 10. fc satırını amaç satırı olarak ele alıp iterasyonlara devam ediniz. Optimal çözüm bulunduğunda (fc)maks=fmaks olacaktır. 11. BaĢlangıçta amaç fonksiyonu minimizasyon türünde idiyse, bulduğunuz amaç değerini (-1) ile çarparak baĢlangıç amaç fonksiyonunun optimal değerini elde ediniz. Buraya kadar anlatılanları örnekler üzerinde göstermeye çalıĢalım. 1.4.4.4.1 Örnek Problem 1.8 AĢağıda verilen genel DP modelini çözünüz. Minimize f= 2x1 + x2 2x1 + 3x2  6 x1 - x2 = 0 x1 + 4x2  4 x1, x2  0 Önce modelin amaç fonksiyonunu maksimizasyon türüne çevirelim. f* = -f olmak üzere fmin = -f*maks olduğunu biliyoruz. O halde f fonksiyonu (-1) ile çarpılırsa, Maksimize f* = -2x1 – x2 amaç fonksiyonu elde edilir. Kısıtlayıcılara, gerekli boĢ ve suni değiĢkenler eklenip, amaç fonksiyon da, f * = fc + fm fc = -2x1 – x2 fm = -z1 – z2 olmak üzere yeniden düzenlenir ve tüm terimler eĢitliklerin sol tarafına alınırsa, 2x1 + x2 + fc =0 z 1 + z2 + fm =0 2x1 + 3x2 + y1 =6 x1 - x2 + z1 = 0 x1 + 4x2 – y2 + z2 = 4 sistemi elde edilir. Sisteme ait katsayılar ve sağ taraf değerleri Tablo 1.5‟in KuruluĢ alt tablosunu oluĢturmaktadır. KuruluĢ tablosunun fm satırındaki z1 ve z2‟ye ait katsayılar 1 olduğu için(*) sistemimiz kanonik formda değildir. Kanonik formu elde etmek üzere iki iterasyon yapmamız gerekmektedir. Birinci iterasyonda, z1 satırı (-1) ile çarpılıp fm satırına eklenmiĢ, böylece Ara Tablo adındaki alt tablo elde edilmiĢtir. Ara Tablo‟ya uygulanan ikinci iterasyonda ise z2 satırı (-1) ile çarpılıp, yine fm satırına eklenmiĢtir. Böylece kanonik formdaki baĢlangıç alt tablosu elde edilmiĢtir. (*)

Bu örnek için, e2 = [1] e3 = [1] olmuĢ olur.

56 Tablo 1.5: Örnek Problem 1.8‟in Çözümü AT

TD

KuruluĢ (1)

Ara Tablo (2)

BaĢlangıç (3)

(4)

(5)

fc fm y1 z1 z2 fc fm y1 z1 z2 fc fm y1 z1 z2 fc fm y1 z1 x2 fc fm y1 x1 x2

TDD Oran 0 0 6 0 4 0 0 6 0 4 0 -4 6 0 4 -1 -1 3 1 1 -2,4 0 2 0,8 0,8

2 1 2,4 0,8 4

x1 2 0 2 1 1 2 -1 2 1 1 2 -2 2 1 1 1,75 -1,25 1,25 1,25 0,25 0 0 0 1 0

x2 1 0 3 -1 4 1 1 3 -1 4 1 -3 3 -1 4 0 0 0 0 1 0 0 0 0 1

y2 0 0 0 0 -1 0 0 0 0 -1 0 1 0 0 -1 0,25 0,25 0,75 -0,25 -0,25 0,6 0 1 -0,2 -0,2

fc

fm

y1

z1

z2

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0

0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0

0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0

0 1 0 0 1 0 1 0 0 1 0 0 0 0 1

BaĢlangıç alt tablosundan itibaren, önce fm satırı amaç satırı olarak ele alınmıĢ ve simpleks kuralları uygulanmıĢtır. Tablo 1.5‟in baĢlangıç alt tablosundan da görülebileceği gibi, yapılan ilk iterasyonda x2 değiĢkeni temele girmekte, z2 değiĢkeni temeli terk etmektedir. Bu adımda yapılması gereken satır iĢlemleri Ģöyle sıralanabilir. 3.z2 satırı (4)‟e bölünerek 4.x2 satırı elde edilmiĢtir. 4.x2 satırı (-1) ile çarpılıp 3.fc satırına eklenerek 4.fc satırı elde edilmiĢtir. 4.x2 satırı (3) ile çarpılıp 3.fm satırına eklenerek 4.fm satırı elde edilmiĢtir. 4.x2 satırı (-3) ile çarpılıp 3.y1 satırına eklenerek 4.y1 satırı elde edilmiĢtir. 4.x2 satırı (1) ile çarpılıp 3.z1 satırına eklenerek 4.z1 satırı elde edilmiĢtir. Böylece dördüncü alt tablo elde edilmiĢ olmaktadır. z2 değiĢkeninin daha sonra, tekrar temele girmesi söz konusu olmadığı için z2 sütunu hesaplanmamıĢtır. Bu tablodaki fm satırında tek bir negatif katsayı bulunmaktadır. O halde bu katsayının ait

57 olduğu x1 değiĢkeni temele girerken, en küçük oran değerine sahip z1 değiĢkeni temeli terk edecektir. Bu adımda yapılan satır iĢlemleri Ģunlardır. 4.z1 satırı (1,25)„e bölünerek 5.x1 satırı elde edilmiĢtir. 5.x1 satırı ( –1,75) ile çarpılıp 4.fc satırına eklenerek 5.fc satırı elde edilmiĢtir. 5.x1 satırı (1,25) ile çarpılıp 4.fm satırına eklenerek 5.fm satırı elde edilmiĢtir. 5.x1 satırı (-1,25) ile çarpılıp 4.y1 satırına eklenerek 5.y1 satırı elde edilmiĢtir. 5.x1 satırı (-0,25) ile çarpılıp 4.x2 satırına eklenerek 5.x2 satırı elde edilmiĢtir. Böylece bütün suni değiĢkenler temelden çıkarılarak çözümün birinci aĢaması tamamlanmıĢ olmaktadır. Bu noktada fm satırı ile z1 ve z2 sütunları tablodan çıkarılarak, fc satırı amaç olmak üzere çözümün ikinci aĢamasına geçilecektir. Tablo 1.5‟in beĢinci alt tablosundan da görülebileceği gibi fc satırında negatif katsayılı değiĢken bulunmadığı için ikinci aĢamaya geçmeye lüzum kalmamıĢtır. O halde beĢinci alt tablo optimal çözümü vermektedir. Problemin çözümü, f*maks = (fc)maks = -2,4 dolayısıyla, fmin x1 x2

= -f*maks = 0,8 = 0,8

= -(-2,4) = 2,4

olarak bulunmuĢ olmaktadır. 1.4.4.4.2 Örnek Problem 1.2’nin Genel Simpleks Yöntemle Çözümü Örnek Problem 1.2‟de kurduğumuz modeli tekrar ele alalım. Minimize f = 24x1 + 30x2 + 40x3 + 50x4 12x1 + 12x2 + 40x3 + 60x4  20 2x1 + 6x2 + 12x3 + 2x4  5 x1, x2, x3, x4  0 Önce amaç fonksiyonunu maksimizasyon türüne çevirelim. f* = -f olmak üzere, Maksimize f* = -24x1 – 30x2 – 40x3 – 50x4 yazabiliriz. Diğer taraftan, y1, y2 boĢ değiĢkenlerini kısıtlayıcılardan çıkarır, z1, z2 suni değiĢkenlerini kısıtlayıcılara ekler ve amaç fonksiyonunu, f*= fc + fm Ģeklinde ikiye bölerek yeniden düzenlersek, 24x1 + 30x2 + 40x3 + 50x4 + fc z 1 + z2 + f m 12x1 + 12x2 + 40x3 + 60x4 - y1 + z1 2x1 + 6x2 + 12x3 + 2x4 - y2 + z2

=0 =0 = 20 =5

sistemini elde ederiz. Bu sistem, Tablo 1.6‟nın kuruluĢ alt tablosuna yerleĢtirilmiĢtir.

58 KuruluĢ alt tablosu kanonik formda değildir. Gerekli iterasyonlar yapılarak kanonik formdaki baĢlangıç alt tablosu elde edilmiĢtir. Birinci aĢamada fm satırı amaç olarak kabul edilmiĢ ve simpleks kuralları uygulanarak suni değiĢkenler temelden çıkarılmıĢtır. Böylece beĢinci alt tabloya gelinmiĢ olmaktadır. Bu noktada ikinci aĢamaya geçilecek, yani fm satırı ve z1, z2 sütunları tablodan çıkarılıp fc satırı optimize edilecektir. fc satırında negatif katsayı bulunmadığına göre optimum çözüm bulunmuĢ ve ikinci aĢamaya geçmeye gerek kalmamıĢtır. Çözüm değerleri, f*maks = (fc)maks = -19,37 fmin = -fmaks = -(-19,37) = 19,37 x1 = 0 x2 = 0 x3 = 0,41 x4 = 0,06 olarak bulunmuĢ olur. Ġterasyonlardaki satır iĢlemlerinin takibi öğrenciye bırakılmıĢtır. Bu kesimde ele aldığımız örnek, bir tipik minimizasyon modeli idi. Daha sonra inceleyeceğimiz “düal simpleks yöntem” ile bu tür modellerin çok daha kolay çözülebileceğini göreceğiz. Tablo 1.6: Örnek Problem 1.2‟nin Çözümü AT KuruluĢ (1) Ara Tablo (2) BaĢlangıç (3)

(4)

(5)

TD

TDD

fc fm z1 z2 fc fm z1 z2 fc fm z1 z2 fc fm x4 z2 fc fm x4 x3

0 0 20 5 0 -20 20 5 0 -25 20 5 -50/3 -13/3 1/3 13/3 -19,37 0 0,06 0,41

Oran

0,33 2,5 0,5 0,41

x1

x2

24 30 0 0 12 12 2 6 24 30 -12 -12 12 12 2 6 24 30 -14 -18 12 12 2 6 14 20 -1,6 -5,6 0,2 0,2 1,6 5,6 13 16,5 0 0 0,1 -0,15 0,15 0,53

x3 40 0 40 12 40 -40 40 12 40 -52 40 12 20/3 -32/3 2/3 32/3 0 0 0 1

x4 50 0 60 2 50 -60 60 2 50 -62 60 2 0 0 1 0 0 0 1 0

y1

y2 f c f m z 1 z 2

0 0 1 0 0 0 0 1 -1 0 0 0 0 -1 0 0 0 0 1 0 1 0 0 1 -1 0 0 0 0 -1 0 0 0 0 1 0 1 1 0 1 -1 0 0 0 0 -1 0 0 5/6 0 1 0 -1/30 1 0 1 -1/60 0 0 0 1/30 -1 0 0 0,81 0,63 1 0 0 0 0 1 -0,019 -0,06 0 0 0,003 -0,09 0 0

0 1 1 0 0 0 1 0 0 0 1 0

0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1

59 1.4.4.5 Simpleks Çözüm Yönteminde Dejenerasyon Simpleks kuralları uygulanırken ortaya çıkması muhtemel iki istisnai durumu göz önüne alalım. I. Simpleks yöntemin birinci kuralı temele girecek değiĢkeni belirliyordu. Bu kural uygulanırken, amaç satırında, mutlak değeri en büyük negatif elemanların sayısı birden fazla olursa bunlardan herhangi birisi seçilebilir. Böyle bir yaklaĢım herhangi bir dejenerasyona (bozulmaya) neden olmaz. II. Simpleks yöntemin ikinci kuralı temeli terk edecek değiĢkeni, yani anahtar satırı belirliyordu. Bu kural uygulanırken, en küçük oran değeri birden fazla satırda ortayla çıkmıĢsa, bu satırlardan herhangi birinin seçilmesi dejenerasyona sebep olabilir. YanlıĢ satırın seçilmesi kısır bir döngüye yol açıp optimal çözüme ulaĢmayı engelleyebilir. Garantili sonuç vermemekle birlikte, böyle hallerde anahtar satırın seçiminde Ģu yol izlenmesi faydalı olabilir. AĢağıdaki yöntem dejenerasyonun giderilmesinde yeterli olmazsa diğer satır seçilerek iĢlemlere devam edilmelidir. a. EĢit “oran”lı satırdaki her eleman, bulunduğu satırın anahtar sütun üzerindeki elemanına bölünerek bir takım değerler elde edilir. b. Elde edilen değerler, her defasında eĢit oranlı satırların aynı sütundaki elemanlarına ait olmak ve önce birim matristen baĢlamak üzere soldan sağa gidilerek sıra ile mukayese edilir. c. EĢit olmayan iki değere rastlandığında mukayeseye son verilir. d. EĢit olmayan değerlerin hangisi küçükse, bu değere ait satır anahtar satır olarak seçilir. Dejenerasyona örnek olmak üzere Tablo 1.7‟deki örneği ele alalım. Tablo 1.7: Dejenerasyon Örneği AT TD TDD Oran f 0 y1 100 33,3 1 y2 50 10 y3 40 10

x1 -7 5 4 8

x2 -6 -2 0 4

x3 -8 3 5 4

x4 -4 10 -1 3

f 1 0 0 0

y1 0 1 0 0

y2 0 0 1 0

y3 0 0 0 1

Tablo 1.7‟den de görülebileceği gibi, anahtar satırın seçiminde kullanılacak olan oran değerlerinden ikisi eĢit çıkmıĢtır. Bunlar, y2 satırı için, 50 / 5 = 10 y3 satırı için, 40 / 4 = 10 değerleridir. Anahtar satırın seçiminde yukarıda anlatılan yolu izleyelim. y2 ve y3 satırlarının her elemanını, bu satırların anahtar sütun üzerindeki elemanlarına, birim matristen baĢlayarak böleceğiz. Birim matrisin ilk sütunu f olduğuna göre bu sütundan baĢlıyoruz. f sütunu için; y2 satırı: 0 / 5 = 0

60 y3 satırı: 0 / 4 = 0 elde edilmektedir. Ġki değer eĢit olduğu için seçim yapamıyoruz. Devam edelim, y1 sütunu için; y2 satırı: 0 / 5 = 0 y3 satırı: 0 / 4 = 0 EĢitlik devam etmektedir. Bir sonraki sütuna geçelim. y2 sütunu için; y2 satırı: 1 / 5 = 0,2 y3 satırı: 0 / 4 = 0 EĢitlik bozulmuĢtur. Elde edilen değerlerden küçük olanı sıfırdır. O halde y3 satırı anahtar satır olarak seçilecektir. 1.4.4.6 Problemler. I. AĢağıda verilen DP modelini, a. Grafik yöntemle çözünüz. b. Primal simpleks yöntemle çözünüz ve (a) Ģıkkında bulduğunuz çözümle karĢılaĢtırınız. Maksimize f = 8x1 + 5x2 3x1 + 2x2  12 x1 + 2x2  18 9x1 + 3x2  36 x1, x2  0 II. AĢağıda verilen doğrusal denklem sistemlerini sıralı kanonik forma sokunuz. a. x1 – 2x2 + 3x3 + 0,5x4 = -4 2x1 + x2 + 3x4 + x5 = 8 x2 + 2x3 + x4 + 3x5 = 12 b. 0,2x1 + 3x2 + 7x3 + 2x4 = 13 3x1 - 2x2 + 5x3 + x4 = 7 5x1 + x2 - x3 + 6x4 = 18 III. AĢağıdaki DP modelini grafik yoldan çözünüz. (Modeli üç boyutlu grafik olarak ifade ediniz. Uygun çözüm setini bulunuz. Amaç düzlemini kaydırmakta güçlük çekerseniz uygun çözüm setinin köĢe noktalarını amaç fonksiyonunda yerine koyarak optimum çözümü bulmaya çalıĢınız.) Maksimize f = x1 + x2 + 4x3 2x1 + x2 + x3  5 x2  4 x3  3 x1, x2  0 IV. AĢağıda verilen DP modelini, a. Grafik yöntemle çözünüz.

61 b. Genel simpleks yöntemle çözünüz ve (a) Ģıkkında bulduğunuz çözümle karĢılaĢtırınız. Minimize f = 6x1 + 5x2 x1  5 5x1 + 9x2  45 x 1 + x2  6 x1, x2  0 V. AĢağıda verilen DP modelini çözünüz. Maksimize f = 3x1 + x2 + 2x3 + x4 x1 + x2 + x3 + x4  25 x3 + x4  10 x1 + x2  20 3x1 + x2 + 2x3 + x4  40 x1, x2, x3, x4  0 VI. AĢağıda verilen DP modelini çözünüz. Minimize f = 5x1 +3x2 + 2,5x3 + 3,5x4 + 4x5 2x1 + 2x2 + x3 + 3x4 + x5  2 5x1 + 2x3 + x4 + 4x5 = 6 x1 + x2 + 2x3 + x4 + x5  2 x1, x2, x3, x4, x5  0 1.4.5 DP Modelinde Düalite Bir DP modelinin “düal” olarak adlandırılan ikinci bir görünümü vardır. Düalin elde edildiği baĢlangıç modele de “primal” adı verilmektedir. Örnek Problem 1.1‟de kurduğumuz DP modelini tekrar ele alalım. Maksimize f = 5x1 + 7x2 2x1 + 3x2  60 4x1 + 2x2  80 x 2, x 2  0 Bu modelin düali Ģöyle ifade edilebilir. Minimize g = 60w1 + 80w2 2w1 + 4w2  5 3w1 + 2w2  7 w1, w2  0 Ġki modeli mukayese edelim. Primal modeldeki tabii değiĢkenlerin x1, x2 ile gösterilmesine karĢılık düal modeldeki tabii değiĢkenler w1, w2 ile gösterilmiĢtir. Primalde amaç fonksiyonu maksimize edilirken düalde minimize edilmektedir.

62 Primaldeki amaç katsayıları düalin sağ taraf değerleri olmuĢtur. Benzer Ģekilde primalin sağ taraf değerleri düalin amaç katsayıları olmuĢtur. Primalde küçük-eĢit Ģeklindeki eĢitsizlikler, düalde büyük-eĢit Ģekline dönüĢmüĢtür. Primal kısıtlayıcılarındaki satır katsayıları, düal kısıtlayıcılarında sütun katsayıları olmuĢtur. Pozitiflik Ģartı düal değiĢkenleri için de geçerlidir. Görülüyor ki, tipik maksimizasyon türündeki bir modelin düali tipik minimizasyon türünde olmaktadır. Yukarıdaki düal model, yeniden düal alma iĢlemine tabi tutulursa primal model elde edilecektir. O halde tipik minimizasyon türündeki bir modelin düali tipik maksimizasyon türünde olacaktır. Tipik maksimizasyon türündeki bir modelin, matris notasyonuyla, Maksimize f = cx Ax  b x0 Ģeklinde ifade edildiğini biliyoruz. Düal model de matris notasyonuyla, Minimize g = b’w A’w  c’ w0 olarak gösterilebilir. Burada w,

 w1  w  w 2      wm  vektörünü göstermektedir. A’, b’, c’ matris ve vektörleri de A, b, c matris ve vektörlerinin transpozesidir. Görülüyor ki primalde n adet değiĢken varken, düalde m adet, yani primalin kısıtlayıcı sayısı kadar değiĢken vardır. Benzer Ģekilde, primalde m adet kısıtlayıcı varken, düalde n adet kısıtlayıcı vardır. Düaldeki g fonksiyonu, g = g(w1,w2,…, wm) Ģeklindeki bir fonksiyondur. Primal ve düalin optimum çözümlerinin birbirine eĢit olduğu gösterilebilir. (*) Yani, fmaks = gmin dir. Primal ve düal modellere ait çözümler arasındaki münasebeti daha sonra ele alacağız. 1.4.5.1 Düal Modelin Yorumu Yukarıda ele aldığımız, Örnek Problem 1.1‟e ait primal modelin ne anlama (*)

Wagner, s.135.

63 geldiğini biliyoruz. Söz konusu modelde iki ürün iki makine için kâr maksimizasyonu amaçlanmaktaydı. Yani primal model, firmanın en kârlı Ģekilde çalıĢmasını amaçlayan bir üretim ve değer modelidir. Söz konusu modelin düali ne anlama gelmektedir ve nasıl yorumlanmalıdır. Düal modelin yorumu için Ģöyle bir yol izlenebilir. Diyelimki bu firma dıĢarıdan birisi tarafından bir dönem için kiralanmak isteniyor. Kiralamak isteyen kiĢi birinci makinenin birim kapasitesine w1 lira, ikinci makinenin birim kapasitesine de w2 lire teklif ediyor. O halde bu iki makinenin mevcut kapasitelerine ödenmesi gereken toplam bedel, 60w1 + 80w2 olacaktır. Bu değere g diyelim ve g = 60w1 + 80w2 olarak ifade edelim. Firmayı kiralamak isteyen kiĢi bu değeri mümkün mertebe en düĢük seviyede tutmak isteyecek, yani minimize etmeye çalıĢacaktır. Bu durum, Minimize g = 60w1 + 80w2 Ģeklinde ifade edilebilir. Firma sahipleri, sunulan teklifi kabul veya reddetmede serbesttirler. Teklif edilen fiyatlar o seviyede olmalıdır ki, firma sahiplerinin, makineleri üretimde kullanmalarının bir avantajı kalmasın. Yani birim ürün için gerekli kapasiteler, önerilen fiyatlarla değerlendirildiğinde hiçbir ürünü üretmek kârlı olmamalıdır. Mesela, Ürün 1 için kullanılan kapasiteler, teklif edilen fiyatlarla değerlendirildiğinde ortaya çıkacak fırsat maliyeti, 2w1 + 4w2 liradır. Firma sahiplerinin, Ürün 1‟in her birimi için gereken kapasiteleri, üretimde kullanmak yerine kiraya vermeye razı olabilmeleri için bu fırsat maliyetinin en azından Ürün 1‟in birim kârına eĢit olması gerekir. Yani, 2w1 + 4w2  5 olmalıdır. Ürün 2 için de aynı yaklaĢımla hareket edilirse düal modelin ikinci kısıtlayıcısı olan, 3w1 + 2w2  7 elde edilecektir. Diğer taraftan, önerilen fiyatlar negatif olamayacağına göre, w1, w2 > 0 olmalıdır. Böylece düal model tamamlanmıĢ olmaktadır. Primal ve düal modellerin optimal çözümlerinin eĢit olduğunu biliyoruz. (fmaks = gmin). Böylece firmayı kiralamak isteyen kiĢinin ödeyeceği toplam bedel, firmanın elde edebileceği en yüksek kâra eĢit olacaktır. 1.4.5.2 Primal-Düal ĠliĢkileri ġu ana kadar primal ve düal modeller için tipik maksimizasyon ve tipik maksimizasyon durumlarını ele aldık. Genel DP modelleri için ise, primal ve düal

64 modeller arasında Tablo 1.8‟deki iliĢkiler geçerlidir (*). Tablo 1.8‟den de görülebileceği gibi, primalin amaç fonksiyonu katsayıları düalin sağ taraf sabitleri olmakta, primalin sağ taraf sabitleri düalin amaç fonksiyonu katsayıları haline gelmektedir. Primaldeki kısıtlayıcılara ait j‟inci sütün katsayıları düaldeki kısıtlayıcıların j‟inci satır katsayılarını oluĢturmakta, primal kısıtlayıcılarının i‟inci satır katsayıları, düal kısıtlayıcılarının i‟inci sütün katsayılarına dönüĢmektedir. Primalde j‟inci değiĢken pozitiflik Ģartına uyuyorsa düalde j‟inci kısıtlayıcıya ait iliĢki “büyük-eĢitlik”, primalde j‟inci değiĢken iĢaretçe tahditsiz ise düalde j‟inci iliĢki “eĢitlik” Ģeklinde ortaya çıkmaktadır. Nihayet, primalde i‟inci kısıtlayıcıya ait iliĢki “küçük-eĢitlik” Ģeklinde ise düalde i‟inci değiĢken pozitiflik Ģartını sağlamakta; primalde i‟inci kısıtlayıcıya ait iliĢki “eĢitlik” Ģeklinde ise düalde i‟inci değiĢken iĢaretçe tahditsiz olmaktadır. Tablo 1.8: Primal-Düal ĠliĢkileri Primal (Maksimizasyon) Amaç Katsayıları / Amaç Fonksiyonu Katsayıları Sağ Taraf Sabitleri Sağ Taraf Sabitleri j‟inci sütun Kısıtlayıcı Katsayıları Matrisi i‟inci satır j‟inci değiĢken  0 (xj  0 ) DeğiĢken / ĠliĢki j‟inci değiĢken iĢaretçe tahditsiz i‟inci iliĢki “küçük-eĢitlik” () ĠliĢki / DeğiĢken i‟inci iliĢki “eĢitlik” (=)

Düal (Minimizasyon) Sağ Taraf Sabitleri Amaç Fonksiyonu Katsayıları j’inci satır i‟inci sütun j‟inci iliĢki “büyük-eĢitlik” () j‟inci iliĢki “eĢitlik” (=) i‟inci değiĢken  0 (wi  0) i‟inci değiĢken iĢaretçe tahditsiz

Görülüyor ki, primaldeki kısıtlayıcıların “küçük-eĢitlik” ve “eĢitlik”, düaldeki kısıtlayıcıların ise “büyük-eĢitlik” ve “eĢitlik” Ģeklinde olması öngörülmektedir. O halde, mesela primalde “büyük-eĢitlik” Ģeklinde bir kısıtlayıcı varsa ne yapılacaktır. Böyle bir durumda kısıtlayıcının her iki tarafı da (-1) ile çarpılarak iliĢkinin aksi yöne döndürülmesi, yani “büyük-eĢitlik”in “küçük-eĢitlik” durumuna dönüĢtürülmesi gerekir.(*) Tabiatıyla, minimizasyon türündeki bir modelin düali alınırken benzer iĢlem bu defa “küçük-eĢitlik” Ģeklindeki kısıtlayıcılara uygulanacaktır. Konunun daha iyi kavranabilmesi için iki örnek üzerinde duralım. Örnek 1: AĢağıdaki DP modelinin düalini bulalım.

(*) (*)

Wagner, s.137. Hatırlatma: Bir eĢitsizlik (-1) ile çarpılırsa yön değiĢtirir. Örnek: x1 + x2  3  -x1 – x2  -3

65

Maksimize f = 3x1 + 7x2 2x1 + 3x2  5 x1 + 2x2 = 4 3x1 + x2  8 x 1, x 2  0 Önce “büyük-eĢitlik” Ģeklindeki üçüncü kısıtlayıcıyı “küçük-eĢitlik” haline çevirmek üzere iki tarafını (-1) ile çarparak modeli yeniden yazalım. Maksimize f = 3x1 + 7x2 2x1 + 3x2  5 x1 + 2x2 = 4 - 3x1 - x2  - 8 x 1, x 2  0 Elde edilen modelin düali, Minimize g = 5w1 + 4w2 – 8w3 2w1 + w2 – 3w3  3 3w1 + 2w2 – w3  7 w1, w3  0, w2 tahditsiz Ģeklinde ifade edilebilir. Görülüyor ki, primalin ikinci kısıtlayıcısı eĢitlik Ģeklinde olduğu için düalin ikinci değiĢkeni iĢaretçe tahditsiz olmuĢtur. Örnek 2: AĢağıda verilen minimizasyon türündeki modelin düalini bulalım. Minimize f= 2x1 + 3x2 x 1 + x2  4 2x1 + x2  5 x1 + 3x2  6 x1  0, x2 tahditsiz Önce, “küçük-eĢitlik” Ģeklindeki ikinci ve üçüncü kısıtlayıcıları “büyük-eĢitlik” haline çevirmek üzere (-1) ile çarpıp modeli yeniden yazalım. Minimize f = 2x1+3x2 x 1 + x2  4 -2x1 – x2  -5 -x1 – 3x2  -6 x1  0, x2 tahditsiz Elde edilen modelin düali,

66 Maksimize g = 4w1 – 5w2 – 6w3 w1 – 2w2 – w3  2 w1 – w2 – 3w3 =3 w1, w2, w3  0 olarak elde edilmektedir. Görülüyor ki, primalin ikinci değiĢkeni tahditsiz olduğu için düalin ikinci kısıtlayıcısı “eĢitlik” Ģeklinde ortaya çıkmaktadır. 1.4.5.3 Düal Simpleks Çözüm Yöntemi ve Tipik Minimizasyon Modeli Primal ve düal modeller arasındaki iliĢkiler, DP modellerinin çözümünde “düal simpleks yöntem” adı verilen diğer bir çözüm metodunun geliĢtirilmesine imkan vermiĢtir. Primal simpleks yöntem tipik maksimizasyon modellerinde kolaylık sağlarken düal simpleks yöntem tipik minimizasyon modellerinde daha kullanıĢlıdır. Primal simpleks yöntemde, uygun fakat optimal olmayan bir baĢlangıç çözümüyle iterasyonlara baĢlanmasına karĢılık, düal simpleks yöntemde, optimal fakat uygun olmayan bir baĢlangıç çözümüyle iterasyonlara baĢlanır. Düal simpleks yöntemin baĢlangıç çözümünde uygunluk Ģartı aranmadığı için “büyük-eĢit” Ģeklindeki kısıtlayıcıları eĢitlik haline dönüĢtürürken gerekli sayıdaki boĢ değiĢkeni eĢitsizliğin sol tarafından çıkarmak yeterli olmaktadır. Ayrıca suni değiĢken eklemeye gerek kalmadığı için, daha sonra bu suni değiĢkenleri temelden çıkarmak için yapılan iterasyonlara da gerek kalmamaktadır. Tipik minimizasyon modelinin, matris notasyonuyla, Minimize f = cx Axb xO Ģeklinde ifade edildiğini biliyoruz. Bu modelin kısıtlayıcılarının sol tarafından y boĢ değiĢkenlerini çıkarır, amaç fonksiyonunu yeniden düzenler ve pozitiflik Ģartını bir tarafa bırakırsak, -cx + f = 0 Ax – y = b sistemini elde ederiz. Sistemi kanonik forma sokmak için kısıtlayıcılar (-1) ile çarpılırsa, -cx + f = 0 -Ax + y = -b elde edilir. Böylece sistem kanonik forma sokulmuĢ olmakta ve f=0 y = -b Ģeklindeki baĢlangıç çözümü elde edilmektedir. Dikkat edilirse baĢlangıç çözümü uygun olmayan bir çözümdür (y = -b olduğu için). Diğer taraftan f = 0 olduğuna ve

67 amaç fonksiyonu minimize edildiğine göre baĢlangıç çözümü optimaldir denilebilir. Çünkü amaç fonksiyonunun değeri sıfırdan daha küçük olamayacaktır. BaĢlangıç çözümü optimal görünümde fakat “uygun” olmadığı için aranan çözüm değildir. Aranan çözüm hem optimal hem de uygun olmalıdır. ĠĢte düal simpleks metot, bu baĢlangıç çözümden hareketle adım adım, “uygun ve optimal” çözümü bulma yöntemidir. Nihai çözünde hiçbir temel değiĢkenin değeri negatif olmamalıdır. Düal simpleks yöntem iterasyonlarında uygulanacak olan kurallar aĢağıda verilmiĢtir. Kural 1: Temeli terk edecek değiĢkenin seçiminde Ģu yol izlenir. Temel değiĢkenin değeri sütundaki negatif elemanlardan, mutlak değeri en büyük olana ait temel değiĢken, temelden çıkarılmak üzere seçilir. TDD sütunda hiçbir negatif eleman kalmadığında optimal çözüm bulunmuĢ olacaktır. Kural 2: Temele girecek değiĢkenin seçiminde Ģu yol izlenir. Önce f satırındaki katsayılar, temelden çıkarılacak olan değiĢkene ait satırdaki katsayılara bölünerek bir “Oran” satırı elde edilir. Bu yapılırken sıfır ve negatif değerli oranlar bir tarafa bırakılır. Daha sonra, elde edilen oran değerleri içinde en küçük olana karĢılık gelen sütundaki değiĢken, temele sokulmak üzere seçilir. Birinci kural anahtar satırı; ikinci kural anahtar sütunu belirlemektedir. Anahtar satır ile anahtar sütunun kesiĢme noktasında bulunan değer anahtar sayıdır. Ġterasyonlar, primal simpleks yöntemde anlatıldığı gibi, ya satır iĢlemleri Ģeklinde, ya da formül kullanılarak yapılabilir. Konunun açıklık kazanması için aĢağıdaki örneği ele alalım. 1.4.5.3.1 Örnek Problem 1.9 AĢağıdaki tipik minimizasyon modelini düal simpleks yöntemle çözelim. Minimize g = 60w1 + 80w2 2w1 + 4w2  5 3w1 + 2w2  7 w1, w2  0 Dikkat edilecek olursa ele aldığımız model, Örnek Problem 1.1‟in düalidir. Daha sonra primalin çözümüyle kıyaslamalar yapacağımız için burada boĢ değiĢken olarak v1, v2 sembollerini kullanalım. Amaç fonksiyonunu yeniden düzenleyip, v1 ve v2 boĢ değiĢkenlerini kısıtlayıcılardan çıkaralım. -60w1 – 80w2 + g = 0 2w1 + 4w2 – v1 =5 3w1 + 2w2 – v2 =7 Sistemi kanonik forma sokmak için kısıtlayıcıları (-1) ile çarpalım.

68 -60w1 – 80w2 + g =0 -2w1 - 4w2 + v1 = -5 -3w1 - 2w2 + v2 = -7 Elde ettiğimiz baĢlangıç sistemini Tablo 1.9‟un birinci alt tablosuna yerleĢtirelim. Birinci kurala göre, ilk iterasyon için anahtar satırımız 1.v2 satırıdır. Çünkü TDD sütunundaki mutlak değeri en büyük negatif eleman -7‟dir. O halde v2 değiĢkeni temeli terk edecektir. Ġkinci kurala göre 1.g satırı 1.v2 satırına bölünerek bulunan oran değerleri içinde en küçüğü 20 olduğuna göre w1 değiĢkeni temele girecektir. Bunu sağlamak üzere yapılan satır iĢlemleri Ģöyle ifade edilebilir. 1.v2 satırı -3‟e bölünerek 2.w1 satırı elde edilir. 2.w1 satırı 60 ile çarpılıp 1.g satırına eklenerek 2.g satırı elde edilir. 2.w1 satırı 2 ile çarpılıp 1.v1 satırına eklenerek 2.v1 satırı elde edilir. Tablo 1.9: Örnek Problem 1.9‟un Düal Simpleks Yöntemle Çözümü AT 1

2

3

TD

TDD

w1

w2

g

v1

v2

g v1 v2 Oran g v1 w1 Oran g w2 w1

0 -5 -7

-60 -2 -3

-80 -4 -2 40 -40 -8/3 2/3 15

1 0 0 1 0 0 1 0 0

0 1 0 0 1 0 -15 -0,375 0,25

0 0 1 -20 -2/3 -1/3 30 -10 0,25 -0,5

20

140 -1/3 7/3 145 0,125 2,25

0 0 1 0 0 1

0 1 0

ġekil 1.12‟deki KarĢılığı O Noktası

A Noktası

B Noktası

Böylece ikinci alt tablo elde edilmiĢ olmaktadır. TDD sütununda negatif eleman vardır. O halde iterasyona devam edilecektir. Yeni iterasyonda TDD sütunundaki tek negatif eleman olan –1/3‟ün ait olduğu v1 değiĢkeni temeli terk edecektir. “Oran” satırındaki en küçük değer olan 15‟e tekabül eden w2 değiĢkeni temele alınacaktır. Bunu sağlamak üzere yapılan satır iĢlemleri Ģunlardır. 2.v1 satırı, anahtar sayı olan –8/3‟e bölünerek 3.w2 satırı elde edilir. 3.w2 satırı 40 ile çarpılıp 2.g satırına eklenerek 3.g satırı elde edilir. 3.w2 satırı –2/3 ile çarpılıp 2.w1 satırına eklenerek 3.w1 satırı elde edilir. Böylece üçüncü alt tablo elde edilmiĢ olmaktadır. TDD sütununda negatif eleman kalmadığına göre uygun ve optimal çözüm bulunmuĢtur. Çözüm değerleri,

69 gmin = 145 w1 = 2,25 w2 = 0,25

v1 = 0 v2 = 0

olarak elde edilir. Aynı modele ait kısıtlayıcıları ve uygun çözüm alanını ġekil 1.12‟deki grafikle ifade ederek Tablo 1.9 ile karĢılaĢtıralım. w2

3,5 3

2 3w1+2w2=7

Uygun Çözüm Alanı

1,25 1 2w1+4w2=5

O

2.4 O 1

B (2,25; 0,25)

2,5 2 A (2,33; 0)

3

w1

ġekil 1.12: Tablo 1.9‟un Grafik KarĢılığı Görülüyor ki, birinci alt tabloda w1 = 0, w2 = 0‟dır. Bu durum ġekil 1.12‟de O noktasına karĢılık gelmektedir. Ġkinci alt tabloda w1 = 2,33; w2 = 0 olup ġekil 1.12‟deki A noktasına karĢılık gelmektedir. Nihayet üçüncü alt tabloda w1 = 2,25; w2= 0,25‟tir ve B noktasına karĢılık gelmektedir. ġekil 1.12‟den görülebileceği gibi O, A ve B noktalarından sadece B, uygun çözüm alanına aittir. Diğer taraftan, amaç doğrusu belli bir değer için çizilip kaydırılacak olsaydı uygun çözüm alanını B noktasında terk edeceği görülecekti. Daha önce ele aldığımız primal simpleks yöntem, her iterasyonda uygun çözüm setinin bir

70 köĢesinden diğerine giderek optimal çözüme ulaĢırken, düal simpleks yöntem, uygun çözüm alanı dıĢındaki köĢelerden ilerleyerek son adımda uygun ve optimal köĢeye ulaĢmaktadır. Düal simpleks çözüm yöntemine son bir örnek olarak Örnek Problem 1.7‟nin düalini ele alalım. Daha önce 2.4.4.2.2 kesiminde ele aldığımız bu DP modelinin düali Ģöyle ifade edilebilir. Minimize g = 15w1 + 120w2 + 100w3 w1 + 7w2 + 3w3  4 w1 + 5w2 + 5w3  5 w1 + 3w2 + 10w3  9 w1 + 2w2 + 15w3  11 w1, w2, w3  0 Amaç fonksiyonu yeniden düzenlendikten sonra kısıtlayıcıların sol tarafından boĢ değiĢkenler çıkarılıp eĢitlik haline getirilir ve bu eĢitlikler -1 ile çarpılırsa, -15w1 –120w2 – 100w3 + g =0 -w1 –7w2 – 3w3 + v1 = -4 -w1 –5w2 – 5w3 + v2 = -5 -w1 – 3w2 – 10w3 + v3 = -9 -w1 – 2w2 – 15w3 + v4 = -11 Ģekildeki baĢlangıç sistemi elde edilmiĢ olur. Kanonik formdaki baĢlangıç sistemi Tablo 1.10‟un birinci alt tablosuna yerleĢtirilip düal simpleks kurallarına göre iterasyona tabi tutulursa , dördüncü alt tabloda optimal çözüm elde edilmektedir. Optimal çözüm, gmin = 99,29 w1 = 1,86 w3 = 0,71 w2 = 0 olarak elde edilir. Diğer taraftan v2 ve v4 boĢ değiĢkenleri de çözümde sırasıyla, 0,43 ve 1,57 değerleriyle yer almaktadırlar. Tablo 1.10‟daki iterasyonların takibi öğrenciye bırakılmıĢtır.

71

Tablo 1.10: Örnek Problem 1.7‟nin Düaline Ait Çözüm AT

1

2

3

4

TD

TDD

g 0 v1 -4 v2 -5 v3 -9 v4 -11 Oran g 220/3 v1 -1,8 v2 -4/3 v3 -5/3 w3 11/15 Oran g 1105/12 w1 1,8 v2 1/6 v3 -11/12 w3 7/12 Oran g 99,29 w1 1,86 v2 0,43 v4 1,57 w3 0,71

w1

w2

w3

g

v1

v2

v3

v4

-15 -1 -1 -1 -1 15 -25/3 -0,8 -2/3 -1/3 1/15 10,42

-120 -7 -5 -3 -2 60 -320/3 -6,6 -13/3 -5/3 2/15 16,16 -455/12 8,25 7/6 13/12 -5/12 -46,43 8,71 0,86 -1,86 -0,57

-100 -3 -5 -10 -15 6,67

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0 -125/12 -1,25 -5/6 -5/12 1/12 25 -7,14 -1,43 -0,71 0,71 0,14

0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0

0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 -7,86 0,43 -0,29 -1,71 -0,14

0 0 0 0 1 -20/3 -0,2 -1/3 -2/3 -1/15 33,33 -55/12 0,25 -1/6 -7/12 -1/12 7,86

0 1 0 0 0 0 1 0 0 0

0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

0 0 0 1 0

1.4.5.4 Primal ve Düal Çözümler Arasındaki Simetrik ĠliĢki Bir DP modelinin primal ve düaline ait çözümler arasındaki iliĢkiyi göstermek için Örnek Problem 1.1. ve 1.9‟u ele alalım. Örnek Problem 1.1‟in çözümü daha önce Tablo 1.2‟de verilmiĢti. Örnek problem 1.1.‟in düali olan Örnek Problem 1.9‟un çözümünü ise bir önceki kesimde Tablo 1.9‟da elde etmiĢtik. Her iki tablonun üçüncü alt tabloların Tablo 1.11‟de tekrar ele alalım. Kıyaslama kolaylığı sağlaması için, alt tabloları aktarırken değiĢkenleri artan sırada yerleĢtirelim.

72

Tablo 1.11: Primal ve Düal Çözümler Arasındaki Simetrik ĠliĢki Primal: AT TD f 1.2.3 x1 x2 Düal: AT 1.9.3

TD g w1 w2

TDD 145 15 10

TDD 145 2,25 0,125

x1 0 v1 1 0

w1 0 -y1 1 0

x2 0 v2 0 1

w2 0 -y2 0 1

f 1 0 0

y1 2,25 w1 -0,25 0,5

g 1 0 0

y2 0,125 w2 0,375 -0,25

v1 v2 -15 -x1 -10 -x2 0,25 -0,25 -0,375 0,25

fmaks = gmin olduğunu biliyoruz. Bu durum Tablo 1.11‟de görülmektedir. Diğer taraftan düale ait çözüm değerleri primalin f satırındaki y1, y2 katsayıları olarak ortaya çıkmaktadır. Benzer Ģekilde primale ait çözüm değerleri de, ters iĢaretli olarak, düalin g satırındaki v1, v2 katsayılarında ortaya çıkmaktadır. Aynı durum boĢ değiĢkenlerin çözümde aldığı değerler için de geçerlidir. Düale ait çözümdeki v1 = 0, v2 = 0 değerleri primalin f satırındaki x1 ve x2 katsayıları olarak ortaya çıkmıĢtır. Benzer Ģekilde primalin çözümündeki y1 = 0 , y2 = 0 değerleri de iĢaret farkıyla, düalin g satırında w1, w2 katsayıları olarak ortaya çıkmaktadır. Tablo 1.11‟de düalin g satırındaki w1, w2 katsayıları sıfır olduğu için iĢaret farkı bariz olarak görülmemektedir. Bunu daha iyi görebilmek için Ģimdi de her iki modele ait çözümlerin birinci alt tablolarını karĢılaĢtıralım. Tablo 1.12: Primal ve Düale Ait Çözümlerin Birinci Alt Tablolarının KarĢılaĢtırılması AT 1.2.1

AT 1.9.1

TD f y1 y2

TDD 0 60 80

x1 -5 v1 2 4

x2 -7 v2 3 2

f 1 0 0

y1 0 w1 1 0

y2 0 w2 0 1

TD g v1 v2

TDD 0 -5 -7

w1 -60 -y1 -2 -3

w2 -80 -y2 -4 -2

g 1 0 0

v1 0 -x1 1 0

v2 0 -x2 0 1

Birinci alt tablolara ait karĢılaĢtırma Tablo 1.12‟de yapılmıĢtır. Yukarıda bahsettiğimiz iliĢkinin aynen geçerli olduğu görülmektedir. KarĢılıklı alt tablolarda bu

73 münasebet daima geçerlidir. Ġkinci alt tabloların kıyaslanması öğrenciye bırakılmıĢtır (*). Düalin g satırındaki iĢaret farkı, çözümde düal simpleks yöntemin kullanılmasından kaynaklanmaktadır. Düal modelin çözümünde de genel simpleks yöntem kullanılmıĢ olsaydı bu iĢaret farkı olmayacaktı. Ancak bu defa da amaç fonksiyonu minimizasyon türünden maksimizasyon türüne çevrileceği için amaç katsayıları tablolarda negatif olarak görünecekti. Sonuç olarak, bir DP modelinin sadece primalini veya sadece düalini çözerek hem düale, hem de primale ait çözümleri elde etmek mümkün olmaktadır. Bir sonraki kesimde bu iliĢkinin daha ilginç bazı sonuçlarını ele alacağız. 1.4.5.5 Gölge Fiyatlar Örnek Problem 1.1‟i tekrar göz önüne alalım. Hatırlanabileceği gibi, söz konusu problemde iki farklı ürün için iki makine kullanılmaktaydı ve makinelerin kapasiteleri sırasıyla 60 ve 80 birimdi. Diyelim ki bazı Ģartlar sağlandığı takdirde mevcut makine kapasiteleri artırılabiliyor olsun. Makinelerden birinin kapasitesi bir birim artırıldığında, çözüm değerlerine tesiri ne olacaktır. Örnek olarak sadece Makine 1‟in kapasitesini 1 birim artırıp 61 yapalım ve modeli yeniden çözelim. Yeni duruma ait çözüm Tablo 1.13‟de verilmiĢtir. Tablo 1.13: ÖP 1.1‟in Kapasite Artırımından Sonraki Çözümü AT 1

2

3

TD f y1 y2 f x2 y2 f x2 x1

TDD 0 61 80 427/3 61/3 118/3 147,25 10,5 14,75

Oran 20,33 40 30,5 14,75

x1 -5 2 4 -1/3 2/3 8/3 0 0 1

x2 -7 3 2 0 1 0 0 1 0

f 1 0 0 1 0 0 1 0 0

y1 0 1 0 7/3 1/3 -2/3 2,25 0,5 -0,25

y2 0 0 1 0 0 1 0,125 -0,25 0,375

Tablo 1.13‟den de görülebileceği gibi kapasite artırımından sonraki çözüm değerleri, fmaks = 147,25 x1 = 14,75 x2 = 10,5 olarak elde edilmiĢtir. Kapasite artırımından önceki çözümde, fmaks = 145 (*)

Benzer kıyaslamayı Tablo 1.3 ile Tablo 1.10 arasında da yapınız.

74 idi. Görülüyor ki Makine 1‟in kapasitesindeki bir birimlik artıĢ, amaç fonksiyonunun değerinde, 147,25 –145 = 2,25 birimlik artıĢa neden olmuĢtur. Diğer taraftan, problemin düalinin çözümünde, w1 = 2,25 idi ve bu değer primal çözümünün son alt tablosundaki f satırının y1 sütununda yer alıyordu. Değerleri hatırlamak için tablo 1.11‟e tekrar bakınız. Demek oluyor ki, amaç fonksiyonundaki artıĢ, problemin düaline ait çözümdeki, ilgili değiĢkenin değeri kadardır. Benzer Ģekilde, bu defa sadece Makine 2‟nin kapasitesini 1 birim artırarak 81 yapalım. Model yeniden çözülürse (*), fmaks = 145,125 x1= 15,375 x2= 9,75 elde edilecektir. Makine 2‟nin kapasitesindeki bir birimlik artıĢ, amaç fonksiyonunun değerinde, 145,125 – 145 = 0,125 birimlik artıĢa neden olmuĢtur. Örnek problem 1.1‟in düaline ait çözümde, w2 = 0,125 olduğunu biliyoruz. Bu değer aynı zamanda primal çözümünün son alt tablosundaki f satırının y2 sütununda yer alıyordu. O halde, gene amaç fonksiyonundaki artıĢ, problemin düaline ait çözümdeki ilgili değiĢkenin değeri kadar olmuĢtur. Bu değerlere “gölge fiyat” adı verilmektedir. Böylece bir DP modelinde düalin çözüm değerleri, primalin gölge fiyatları, benzer Ģekilde primalin çözüm değerleri de düalin gölge fiyatları olmaktadır. Doğal olarak, düalin çözümünde tabii bir değiĢken temel dıĢında kalmıĢsa, (yani değeri sıfırsa) primaldeki ilgili gölge fiyat sıfır olacaktır. Benzer Ģekilde, primalin çözümünde tabii bir değiĢken temel dıĢında kalmıĢsa, düaldeki ilgili gölge fiyat sıfır olacaktır. Buraya kadar anlattıklarımızı maddeler halinde özetleyelim. 1. Bir DP modelinde kısıtlayıcılardan sadece birisine ait sağ taraf değerini (Örnek Problem 1.1. için, ilgili makine kapasitesini) bir birim artırmak veya azaltmakla amaç fonksiyonunda meydana gelecek artıĢ veya azalıĢa “gölge fiyat” denir. 2. Gölge fiyatlar, çözüm tablosunun amaç satırındaki boĢ değiĢkenlere ait sütunlarda görülebilir. Gölge fiyatlar aynı zamanda söz konusu problemin düaline ait çözüm değerleridir.

(*)

Çözüm öğrenciye bırakılmıĢtır.

75 3. Bir DP modelinin çözümünde primal simpleks veya genel simpleks yöntem kullanılmıĢsa gölge fiyatlar çözüm tablosunun amaç satırından doğrudan doğruya okunabilir. Eğer çözümde düal simpleks yöntem kullanılmıĢsa okunan değerler gölge fiyatların ters iĢaretlisidir. O halde bulanan değerler (-1) ile çarpılarak gölge fiyatlar elde edilmelidir. Tablo 1.11‟da bu durum açıkça görülmektedir. 4. Gölge fiyatı sıfır olan bir kısıtlayıcıya ait sağ taraf değeri bir birim artırılır veya azaltılırsa amaç fonksiyonunun değerinde değiĢme olmayacaktır. 1.4.5.6 Duyarlılık Analizi Bir DP modelinin optimal çözümünün, modele ait parametrelerin hangi sınırları için geçerli olduğunun bilinmesi önem kazanmaktadır. Mesela amaç katsayılarından birisi bir miktar değiĢecek olsa modeli yeniden çözmek mi gerekecektir, yoksa mevcut çözüm tablolarından bir fikir edinmek mümkün müdür? Kurulan modele ait parametreler (amaç katsayıları, sağ taraf değerleri vb.) genelde tahmini değerler olduğu için bu tür analizlerin önemi açıktır. Aynı anda birden fazla parametredeki değiĢimin çözüme etkisi “parametrik programlama” teknikleri ile analiz edilir. Biz burada diğer parametreler sabitken tek bir parametredeki değiĢimin çözüme ne Ģekilde etki ettiğini, diğer bir ifadeyle optimal çözümün, söz konusu parametrenin hangi değer aralığı için geçerli olduğunu incelemeye çalıĢacağız. Tek bir parametredeki değiĢimin çözüme etkisinin araĢtırılması “duyarlılık analizi” olarak adlandırılmaktadır. Duyarlılık analizi genelde, amaç katsayıları, sağ taraf değerleri ve katsayılar matrisi elemanlarındaki değiĢimler yanında, modele yeni bir kısıtlayıcı veya değiĢken eklenmesi gibi durumlar için yapılmaktadır. Biz bu kesimde sadece amaç katsayılarındaki değiĢmelerle sağ taraf değerlerindeki değiĢmeler üzerinde duracağız. Duyarlılık analizlerini, daha önce çözdüğümüz Örnek Problem 1.7‟nin son alt tablosu üzerinde yapacağız. Probleme ait çözümü Tablo 1.3‟te göstermiĢtik. Bu tablonun dördüncü alt tablosunu Tablo 1.14 adıyla aĢağıya alalım. Tablo 1.14: Tablo1.3‟ün Son Alt Tablosu TD f x1 y2 x3

TDD 99,29 7,14 46,43 7,86

x1 0 1 0 0

x2 0,43 0,71 -0,86 0,29

x3 0 0 0 1

x4 1,57 -0,71 1,86 1,71

f 1 0 0 0

y1 1,86 1,43 -8,71 -0,43

y2 0 0 1 0

y3 0,71 -0,14 0,57 0,14

Örnek Problem 1.7‟deki modeli kâr maksimizasyonunu amaçlayan bir üretim problemi olarak ele alalım. Üretimde üç kaynak kullanılmaktadır. Toplam kaynak miktarları sırasıyla 15, 120 ve 100 birim olup modelin sağ taraf değerleridir. Her kaynak için bir kısıtlayıcı vardır. Modele göre, üretilen dört farklı ürün bulunmaktadır. Her ürün için birim baĢına kâr değerleri sırasıyla 4, 5, 9 ve 11 birimdir. Bu değerler

76 amaç fonksiyonu katsayılarını oluĢturmaktadır. 1.4.5.6.1 Sağ Taraf Değerlerindeki DeğiĢmeler Daha önce incelediğimiz gölge fiyatların, sağ taraf değerlerinden sadece birisinin bir birimlik değiĢmesine (artmasına veya azalmasına) karĢılık amaç fonksiyonunda meydana gelen değiĢme olduğunu görmüĢtük. Bu durumda, Örnek Problem 1.7‟nin Tablo 1.14‟deki çözümüne göre, söz konusu problemin kaynaklarına ait gölge fiyatlar sırasıyla 1,86; 0 ve 0,71‟dir. Demek oluyor ki, problemdeki birinci kaynak bir birim artırılsa veya azaltılsa amaç fonksiyonunun değeri 1,86 birim artacak veya azalacaktır. O halde birinci kaynağın artırılması için birim baĢına en fazla 1,86 birimlik ödeme yapılabilir. Benzer Ģekilde, birinci kaynağın bir biriminin üretimde kullanılmasından vazgeçilebilmesi için, bunun karĢılığında en az 1,86 birimlik ödeme teklifine muhatap olunmuĢ olması gerekecektir. Benzer yaklaĢım üçüncü kaynak için de geçerlidir. Ġkinci kaynak için ise durum farklıdır. Ġkinci kaynağa ait gölge fiyatın sıfır olması, bu kaynaktaki değiĢimin amaç fonksiyonuna tesir etmeyeceğini göstermektedir. Zaten çözümdeki y2=46,43 değeri ikinci kaynağın 46,43 birimlik kısmının kullanılmadığını ifade etmektedir. Sağ taraf değerlerindeki değiĢmeler incelenirken, bu değerlere ait gölge fiyatların geçerlilik sınırı belirlenmeye çalıĢılır. Sağ taraf değerleri hangi sınırlar arasında kalırsa gölge fiyatlar değiĢmeyecektir. Yapılan analizlerde sadece incelenen parametrenin değiĢtiği, diğer bütün parametrelerin sabit kaldığı unutulmamalıdır. Daha basit olmasından dolayı, önce ikinci kaynağın gölge fiyatını ele alalım. Bildiğimiz gibi bu gölge fiyat sıfırdır. Ġkinci kaynağımızın toplam miktarı 120 birim olup bunun 46,43 birimlik kısmı kullanılmamaktadır. O halde bu kaynağı ne kadar artırırsak artıralım, üretimde kullanılmayacağı için amaç fonksiyonuna bir tesiri olmayacak ve gölge fiyatı sıfır olarak kalacaktır. Yani ikinci kaynağın miktarı sonsuza çıkarılsa bile gölge fiyatı değiĢmeyecektir. O halde fiyatın geçerli olduğu üst sınır “sonsuz” olmaktadır. Diğer taraftan 120 birimlik kaynağı yavaĢ yavaĢ azalttığımızı düĢünelim. Ġkinci kaynağın 46,43 birimlik kısmı kullanılmadığına göre, 46,43 birime kadar yapılacak azaltmanın gölge fiyatı değiĢtirmeyeceği açıktır. Ancak 46,43 birimden fazla azaltma yapıldığında gölge fiyat değiĢecektir. Çünkü üretimde kullanılan ikinci kaynağın bir kısmı üretimden çekilmiĢ olmaktadır. O halde ikinci kaynağa ait gölge fiyatın sıfır olarak kaldığı alt sınır, 120 – 46,43 = 73,57 olmaktadır. Yani ikinci kaynağın gölge fiyatı, bu kaynağın 73,57 ile sonsuz arasındaki değerleri için geçerli olacaktır. Birinci ve üçüncü kaynağın gölge fiyatları pozitiftir. Bunlarla ilgili analizleri yaparken Tablo 1.14‟deki katsayılardan faydalanacağız. Önce birinci kaynağı ele alalım.

77 Birinci kaynaktan dolayı yazılan kısıtlayıcıyı eĢitlik haline sokarken y1 boĢ değiĢkenini kullanmıĢtık. y1, birinci kaynağın kullanılmayan kısmını ifade ediyordu. O halde y1‟in azalması, birinci kaynağın üretimde kullanılan kısmının artması anlamına gelmektedir. Yani, f satırı hariç tutularak, TDD sütunu y1 sütununa oranlanacak olursa elde edilen değerlerden pozitif olanları y1 değiĢkenindeki artıĢı, dolayısıyla birinci kaynağın üretimde kullanılan kısmındaki azalıĢı; negatif olanları da y1 değiĢkenindeki azalıĢı, dolayısıyla birinci kaynaktaki artıĢı gösterecektir. Tablo 1.14‟ten ilgili sütunları aĢağıya alıp oran değerlerini hesaplayalım. TD x1 y2 x3

TDD 7,14 46,43 7,86

y1 1,43 -8,71 -0,43

TDD/y1 5 -5,3 -18,3

TDD/y1 oranları içinde pozitif olanların sayısı tektir. Birden fazla pozitif oran bulunsaydı bunlar içinde en küçüğü seçilecekti. Böylece y1 değiĢkeninde meydana gelebilecek en büyük artıĢ 5 birim olabilecektir. Demek oluyor ki, ilgili gölge fiyat sabit kalmak üzere, birinci kaynağın üretimde kullanılan miktarı en fazla 5 birim azaltılabilecektir. O halde, gölge fiyatı sabit kalmak üzere birinci kaynağın alt sınırı, 15 – 5 = 10 birim olacaktır. TDD/y1 oranları içinde negatif olanların sayısı birden fazladır. Bu oranlar içinde mutlak değeri en küçük olan değer seçilecektir. O halde y1 değiĢkeninde meydana gelebilecek en büyük azalıĢ 5,3 birim olabilecektir. Yani, ilgili gölge fiyat sabit kalmak üzere, birinci kaynak miktarı en fazla 5,3 birim artırılabilecektir. Bu durumda birinci kaynağın üst sınırı, 15 + 5,3 = 20,3 birim olacaktır. O halde birinci kaynağa ait gölge fiyat, bu kaynağın 10 ile 20,3 birimler arasındaki kullanımı için geçerlidir. Diğer bir ifadeyle, birinci kaynağın 10 ve 20,3 birimlik sınırlar arasındaki her bir birimlik değiĢimi, amaç fonksiyonunda 1,86 birimlik değiĢime yol açacaktır. Benzer Ģekilde üçüncü kaynağı ele alalım. Yine Tablo 1.14‟den ilgili sütunları aĢağıya alıp bu defa TDD/y3 oranını hesaplıyoruz. TD x1 y2 x3

TDD 7,14 46,43 7,86

y3 -0,14 0,57 0,14

TDD/y3 -51 81,5 56

TDD/y3 oranları içinde birden fazla pozitif değer bulunmaktadır. En küçük

78 pozitif değer 56‟dır. Bu durumda y3 değiĢkeninde meydana gelebilecek en büyük artıĢ 56 birim olacaktır. Dolayısıyla üçüncü kaynaktaki en büyük azalıĢ 56 birim olacaktır. O halde üçüncü kaynağın alt sınırı, 100 – 56 = 44 birimdir. TDD/y3 oranları içinde tek bir negatif değer vardır. Birden fazla negatif değer olsaydı mutlak değeri en küçük olan seçilecekti. O halde y3 değiĢkeninde meydana gelebilecek en büyük azalıĢ 51 birimdir. Dolayısıyla üçüncü kaynaktaki en büyük artıĢ 51 birim olacaktır. O halde gölge fiyat sabit kalmak üzere üçüncü kaynağın üst sınırı, 100 + 51 = 151 birimdir. Demek oluyor ki üçüncü kaynağın 44 ile 151 birimler arasındaki kullanımı için gölge fiyatı 0,71 olarak kalacaktır. 1.4.5.6.2 Amaç Fonksiyonu Katsayılarının Geçerlilik Sahası Bu kesimde bir DP modelinin optimal çözümünün, amaç fonksiyonu katsayılarının hangi değerleri için geçerliliğini koruduğunu incelemeye çalıĢacağız. Analizlerimizi yine Örnek Problem 1.7 üzerinde yapacağız. Örnek Problem 1.7‟nin Tablo 1.14‟deki optimal çözümüne göre x2 ve x4 değiĢkenleri temelde yer almamıĢtır. Yani ikinci ve dördüncü ürünler üretilmemektedir (x2 = 0, x4 = 0). Bu ürünlerden elde edilecek kâr, üretim maliyetinin altında olduğu için, üretimi öngörülmemektedir. Örnek Problem 1.7‟nin düalinde ikinci ve dördüncü ürünler için, sırasıyla, w1 + 5w2 + 5w3  5 w1 + 2w2 + 15w3  11 kısıtlayıcılarının mevcut olduğunu biliyoruz. Düalin çözümü, Tablo 1.14‟deki gölge fiyatlardan okunup bu kısıtlayıcılarda yerine konursa, (1,86) + 5(0) + 5(0,71) = 5,41 (1,86) + 2(0) + 15(0,71) = 12,51 elde edilir. Demek oluyor ki, ikinci ürünün amaç katsayısı 5,41‟den küçük olduğu sürece üretilmesi söz konusu değildir. O halde bu amaç katsayısı 5,41‟den daha büyük olduğunda ikinci ürünün üretilmesi kârlı olacak ve mevcut optimal çözüm geçerliliğini kaybedecektir. Mevcut çözümün geçerli kalabilmesi için ikinci ürüne ait amaç katsayısının 5,41‟e eĢit veya daha küçük olması gerekmektedir. Benzer Ģekilde dördüncü ürün için de, yukarıda bulduğumuz değere göre, amaç katsayısı 12.51‟den küçük veya 12.51‟e eĢit olduğu sürece mevcut çözüm geçerli olacaktır. Dördüncü ürünün üretilebilmesi, yani çözüme girebilmesi için, getireceği birim kâr değerinin 12.51‟den daha büyük olması gerekmektedir. Örnek Problem 1.7‟nin optimal çözümünde x1 ve x3 değiĢkenleri temel

79 değiĢkenlerdir. Dolayısıyla birinci ve üçüncü ürünlerin üretilmesi öngörülmektedir. ġimdi, mevcut optimal çözümün geçerliliğini koruyabilmesi için, bu değiĢkenlere ait amaç katsayılarının hangi sınırlar içinde kalması gerektiğini inceleyelim. Temelde bulunan tabii değiĢkenler için amaç fonksiyonunun değiĢimi, düale ait optimal çözüm tablosuyla incelenebilir(*) Primalin optimal çözüm tablosunun, iĢaret ve satır-sütun dönüĢümü farkıyla düalin optimal çözüm tablosuyla aynı olduğunu biliyoruz. O halde benzer iĢlemler primale ait son tablo üzerinde de yapılabilir. Biz burada iĢlemlerin nasıl yapıldığını ve söz konusu amaç katsayısının geçerlilik sınırının nasıl bulunduğunu anlatmakla yetineceğiz. Önce x1 değiĢkenini ele alalım. Tablo 1.14‟den f ve x1 satırındaki temel olmayan değiĢkenlere ait katsayıları aĢağıya alıyoruz. TD f x1 f/x1

x2 0,43 0,71 0.6

x4 1,57 -0,71 -2.2

y1 1,86 1,43 1.3

y3 0,71 -0,143 -5

f/x1 değerleri içindeki negatif oranlar, x1‟in amaç katsayısındaki artıĢları, pozitif oranlar ise düĢüĢleri göstermektedir. Sınırlayıcı rol oynadığı için, pozitif oranlar içinde en küçük olanı, negatif oranlar içinde ise mutlak değerce en küçük olanı seçilecektir. Bu durumda x1 değiĢkeninin amaç katsayısının alt sınır değeri, 4 – 0,6 = 3,4 üst sınır değeri, 4 + 2,2 = 6,2 olacaktır. O halde x1 değiĢkeninin amaç katsayısı 3,4 ile 6,2 değerleri arasında kaldığı sürece (diğer bütün parametreler sabit kalmak Ģartıyla) mevcut optimal çözüm geçerliliğini koruyacaktır. Benzer iĢlemleri x3 değiĢkeni için yapalım. Tablo 1.14‟den f ve x3 satırlarındaki temel olmayan değiĢkenlere ait katsayıları aĢağıya alıp, bu defa f satırını x3 satırına oranlıyoruz. TD f x3 f/x3

x2 0,43 0,28 1.5

x4 1,57 1,71 0.9

y1 1,86 -0,43 -4.3

y3 0,71 0,143 5

f/x3 değerleri içinde en küçük pozitif değer 0,9 olduğuna göre x3 değiĢkeninin amaç katsayısının alt sınırı, mevcut amaç katsayısının 0,9 birim daha küçük bir değer, (*)

GeniĢ bilgi için bakınız. Özgüven, ss.228-230.

80 yani, 9 – 0,9 = 8,1 olacaktır. f/x3 satırında tek negatif değer vardır. O halde amaç katsayısının üst sınırı, 9 + 4,3 = 13,3 birim olacaktır. Demek oluyor ki, x3 değiĢkeninin amaç katsayısı 8,1 ile 13,3 değerleri arasında kaldığı sürece, mevcut optimal çözüm geçerliliğini koruyacaktır. Optimal çözümün geçerliliğini korumasından, temeldeki değiĢkenlerin aynı çözüm değerleriyle temelde kalmasını kast ediyoruz. Amaç fonksiyonunun değeri, amaç katsayısındaki değiĢime bağlı olarak elbette artacak veya azalacaktır. 1.4.5.7 Problemler I. AĢağıda verilen DP modellerinin düalini bulunuz. a) Minimize f = 5x1 + 10x2 + 20x3 9x1 + 5x2 + 5x3  9 5x1 + 7x2 + 10x3  20 5x1 + 10x2 + 2x3  13 x1 , x2 , x3  0 b) Maksimize f = 3x1 + x2 + 3x3 + 2x4 x1 + x2 + 2x3 + x4 = 40 x1 + 2x2 + 3x3 + 2x4 = 30 2x1 + x2 + x3 + x4  20 x1, x2, x3, x4  0 c) Minimize f = 2x1 + 5x2 x1 + 4x2  8 3x2  3 2x1 + x2 = 6 x1 tahditsiz, x2  0 II. AĢağıdaki tipik minimizasyon modellerini düal simpleks yöntemle çözünüz. a) Minimize f = x1 + 3x2 + 2x3 2x1 + x2 + 5x3  7 x1 + 3x3  3 2x2 + x3  2 x1, x2, x3  0 b) Minimize f = 2x1 + 0,1x2 + x3 x 1 + x2 – x 3  5 x1 – 2x2 + 4x3  8 2x1 + x2 + x3  11 x1, x2, x3  0

81 c) a ve b Ģıklarındaki sorular için gölge fiyatları bulunuz. III. Bir firma üç farklı ürün üretmektedir. Üretim adımları dört farklı departmanda gerçekleĢtirilmektedir. Her bir ürün için her bir departmanda harcanan süreler, departmanların toplam çalıĢma süreleri ve birim ürün için elde edilen kâr değerleri aĢağıdaki gibidir.

Departman 1 Departman 2 Departman 3 Departman 4 Birim Ürün BaĢına Kâr (Birim TL)

Birim Ürün BaĢına Gerekli Toplam Süre (Saat) ÇalıĢma Süresi Ürün 1 Ürün 2 Ürün 3 (Saat) 5 3 0 300 2 4 2 350 0 1 5 250 4 2 3 500 90

75

55

a) Kârı maksimize edecek üretim planını belirleyen DP modelini formüle ediniz. b) Kurduğunuz modeli çözünüz. c) Elde ettiğiniz çözümün, amaç fonksiyonu katsayılarının hangi değerleri için geçerliliğini koruduğunu bulunuz. d) Departmanların toplam çalıĢma süreleri artırılmak istenseydi, her departmanın bir saatlik süre artırımı için en fazla ne kadar ödeme yapılması uygun olurdu. e) Her bir departmanın bir birimlik süre artırımının toplam kâra katkısı ne olacaktır. f) e Ģıkkında bulduğunuz değerler departman toplam sürelerinin hangi sınırlar içinde kalması halinde geçerli olacaktır. (Not: c, d, e ve f Ģıklarında, her defasında sadece bir parametrenin değiĢtiği, diğerlerinin sabit kaldığı kabul edilecektir.) 1.4.6 DüzeltilmiĢ (Revised) Simpleks Yöntem DüzeltilmiĢ simpleks yöntem, daha önce primal ve genel simpleks yöntem adlarıyla ele aldığımız metotları esas alan, ancak her iterasyonda bütün alt tablo elemanlarının hesaplanmasına gerek olmayan bir yöntemdir. DüzeltilmiĢ simpleks yöntem, özellikle büyük boyutlu DP modellerinin bilgisayarda çözümünde iĢlem sayısını azaltarak daha kısa sürede çözüme ulaĢma ve hafıza tasarrufu yönünden avantaj sağlar.

82 Daha önce incelediğimiz gibi primal ve genel simpleks yöntemlerde iterasyon kuralları aynıdır. Buna göre herhangi bir iterasyonun yapılabilmesi için bilinmesi gereken elemanlar Ģunlardır. 1. f satırındaki elemanları. 2. Temel değiĢkenin değeri sütunundaki elemanlar. 3. Temele girecek olan değiĢkene ait sütundaki elemanlar. Demek oluyor ki, herhangi bir iterasyon için tablonun diğer elemanlarına ihtiyaç yoktur. Fakat bu elemanlar daha sonraki iterasyonlarda gerekli olabilirler. Her iterasyondan önce yukarıda belirtilmiĢ olan gerekli satır ve sütun elemanlarını doğrudan doğruya hesaplama imkanı veren bir yöntem bulunabilirse tablonun diğer elemanlarının hesaplanmasına lüzum kalmayacaktır. DüzeltilmiĢ simpleks yöntem bize bu imkanı sağlamaktadır. Yöntemi incelerken önce tipik maksimizasyon modelini ele alacağız. Genel DP modeli için de, daha önce yaptığımız gibi kuruluĢ-baĢlangıç dönüĢümü yapıldıktan sonra önce fm satırı optimize edilmek üzere aynı esaslar geçerli olacaktır. Tipik maksimizasyon modelini, matris notasyonuyla, Maksimize f = cx ax  b x0 Ģeklinde ifade etmiĢ ve bunu, -cx + f = 0 Ax +y = b

(x, y  O )

Ģeklinde kanonik forma sokarak bir baĢlangıç çözümü elde etmiĢtik. Kanonik formdaki baĢlangıç çözümünü Tablo 1.16‟nın birinci alt tablosuna yerleĢtirelim. Ancak bu defa tabii değiĢkenleri ve tabii değiĢkenlere ait katsayıları iki gruba ayırıyoruz. Birinci grupta m adet tabii değiĢken ve bunlarla ilgili katsayılar, ikinci grupta da geriye kalan (n-m) adet tabii değiĢken ve bunlarla ilgili katsayılar bulunsun. Bu durumda, ilgili matris ve vektörleri Ģöyle ifade edebiliriz.

x1  x   2  x 



c  c1 c 2



A  A1 A2  Kanonik formdaki baĢlangıç sistemimizi bu vektör ve matrislere göre yeniden yazıp Tablo 1.16‟nın birinci alt tablosuna yerleĢtirelim.

83 -c1x1 – c2 x2 + f = 0 A1x1 + A2x2 + y = b Tablo 1.16: BaĢlangıç Tablosu ve m Adet Ġterasyondan Sonraki Durum AT

TD

1 m+1

f y f x1

TDD 0 b 1 -1 c A1 b A1-1b

x1’

x2’

1

2

-c A1 O I

-c A2 1 -1 c A1 A2 -c2 A1-1A2

f

y'

1 O 1 O

O I 1 -1 c A1 A1-1

m adet iterasyondan sonra y boĢ değiĢkenleri temelden çıkarılmıĢ ve x1 tabii değiĢkenleri temele alınmıĢ olsun. Bunun için x1’ sütunundaki A1 matrisi yerine I birim matrisi, -c1 vektörü yarine aynı boyuttaki O vektörü gelecek Ģekilde iterasyon yapmak gerekecektir. Bunu temin etmek üzere, 1.y satırı soldan A1-1 ile çarpılarak (m+1) numaralı alt tablodaki x1 satırı elde edilir. Elde edilen x1 satırı soldan c1 ile çarpılıp 1.f satırına eklenerek (m+1) numaralı alt tablodaki f satırı bulunur. (m+1) numaralı alt tablodaki temel değiĢkenlerin (f ve x1 değiĢkenlerinin) birinci alt tablodaki katsayılarından oluĢan matrise B diyelim. Bu durumda,

1

 c1   O A1 

B =

olacaktır. Bu matrisin tersi alınacak olursa,

 1 c 1 A11  1  O A1 

B-1 = 

elde edilir. ġimdi Tablo 1.16‟nın birinci alt tablosundaki katsayıları B-1 ile çarpalım.

 1 c 1 A11  0  c 1 A11b  O A 1  b    A 1b   1  1    1 c 1 A11  -c 1 O A 1   A1 1  

1 1 2  c 2   O c A1 A2  c  I  A2  A11 A2  

 1 c 1 A11   1 O   1 c 1 A11   O A 1  O I  O A 1  1 1     Görülüyor ki, elde edilen vektör ve matrisler (m+1) numaralı alt tablonun elemanlarıdır. Birinci alt tabloda f ve y’ sütunları ile ilgili katsayılar bir birim matris

84 teĢkil ederken, (m+1) numaralı alt tabloda, bu birim matrisinin yerine B-1 matrisi gelmiĢtir. Demek oluyor ki, her iterasyonda bütün tablo elemanlarını iĢleme tabi tutmak yerine sadece f ve y’ sütunlarını hesaplamak yeterli olacaktır. f ve y değiĢkenlerine ait katsayılardan oluĢan B-1 matrisi yardımıyla, her adımda, simpleks kurallarının uygulanması için gerekli olan f satırı, temele girecek değiĢken sütunu ve TDD sütunu hesaplanıp iterasyon yapılabilir. Böylece, özellikle büyük boyutlu DP modellerinde iĢlem sayısı azaltılmıĢ olmaktadır. DüzeltilmiĢ simpleks yöntemin uygulanmasına örnek olmak üzere aĢağıdaki DP modelini ele alalım. Maksimize f = 3x1 + x2 + (1/2) x3 + 2x4 + 2x5 4x1 + 3x2 + x3 + 2x4  100 x1 + x4 + 2x5  40 2x1 + 4x2 + x4 + 2x5  60 x1, x2, x3, x4, x5  0 Gerekli düzenlemeleri yapıp, baĢlangıç çözümünü Tablo 1.17.a‟nın birinci alt tablosuna yerleĢtiriyoruz. Temel değiĢkenlere ait sütunları (f, y1, y2, y3 sütunlarını) B-1 matrisi olarak Tablo 1.17.b‟nin birinci alt tablosuna yeniden yazıyoruz. Görüldüğü gibi B-1 matrisi baĢlangıçta bir birim matristir. Ġlk iterasyondaki diğer iĢlemleri maddeler halinde sıralayalım. 1. Alt Tablo 1.17.a.1‟deki f satırından, birinci simpleks kuralına göre temele girecek değiĢken olarak x1 seçilir. x1 değiĢkeni ve buna ait sütun Alt Tablo 1.17.b.1‟de “Yeni Temel DeğiĢken” sütununa yerleĢtirilir. 2. TDD sütunu Alt Tablo 1.17.a.1‟den Alt Tablo 1.17.b.1‟e aynen alınır. 3. (TDD/Yeni Temel DeğiĢken) oranları hesaplanarak temeli terk edecek değiĢken bulunur. Ġlk adım için bu değiĢken y1 olacaktır. 4. y1 değiĢkenini temelden çıkarıp x1 değiĢkenini temele sokmak üzere sadece B1 matrisi üzerinde iterasyon yapılır. x1 temele alınacağına göre, iterasyonun amacı, Yeni Temel DeğiĢken sütunundaki, -3 4 1 2 katsayıları yerine, 0 1 0 0 değerlerini elde etmektir. Bunun için Tablo 1.17.b‟de Ģu satır iĢlemleri sadece B-1 matrisi için uygulanır.

85 a) 1.y1 satırı 4‟e bölünüp 2.x1 satırı elde edilir. b) 2.x1 satırı 3 ile çarpılıp 1.f satırına eklenerek 2.f satırı elde edilir. c) 2.x1 satırı (-1) ile çarpılıp 1.y2 satırına eklenerek 2.y2 satırı elde edilir. d) 2.x1 satırı (-2) ile çarpılıp 1.y3 satırına eklenerek 2.y3 satırı elde edilir. Böylece ikinci alt tablodaki B-1 matrisi elde edilmiĢ olur. Görüldüğü gibi B-1 matrisinin sadece ikinci sütunu değiĢmiĢ olmaktadır. 5. Yeni bir iterasyon yapabilmek için f satırının durumunu bilmemiz gerekmektedir. f satırını elde etmek için B-1 matrisinin birinci satırı ile tabii değiĢkenlere ait katsayıların oluĢturduğu matrisi çarpalım.

 3  1  1/2  2 4 3 1 2 [1 3/4 0 0]  1 0 0 1  4 0 1 2

 2 0  = [0 5/4 1/4 -1/2 -2] 2   2 

Bulunan değerler Tablo 1.17.a.2‟ye yerleĢtirilmiĢtir. Negatif katsayılar içinde mutlak değeri en büyük olan (-2) olduğu için x5 değiĢkeni temele alınmak üzere seçilir. 6. Ġterasyona devam edebilmek için x5 değiĢkenine ait sütuna ve TDD sütununa ihtiyaç vardır. Bu iki sütunu elde etmek üzere baĢlangıç tablosundaki x5 ve TDD sütunlarını sırayla B-1 ile çarpalım.

1 3/4 0 1/4  0  1/4  0  1/2

0 0  -2 -2    0  0 0  0     2 1 0  2      0 1  2  2

1 3/4 0 1/4  0  1/4  0  1/2

0 0  0  0 0  100   1 0   40    0 1  60 

75  25   15    10 

Bulunan değerler Tablo 1.17.b.2‟deki yeni temel değiĢken ve TDD sütunlarına yerleĢtirilmiĢtir. (TDD/Yeni Temel DeğiĢken) oranları içinde en küçük değer 5 olduğu için temeli terk edecek olan değiĢken y3 olacaktır.

86 Tablo 1.17: DüzeltilmiĢ Simpleks Yöntem Uygulaması a) A T

TD

TDD

x1

x2

x3

x4

x5

f

y1

y2

y3

f y1 y2 y3 f f f

0 100 40 60 75 85 90

-3 4 1 2 0 0 0

-1 3 0 4 5/4 15/4 1/2

-1/2 1 0 0 1/4 -1/4 0

-2 2 1 1 -1/2 -1/2 0

-2 0 2 2 -2 0 0

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

1 2 3 4 b) AT

1

2

3

4

B-1

TD f y1 y2 y3 f x1 y2 y3 f y1 y2 x5 f x1 x4 x5

1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0

0 1 0 0 3/4 1/4 -1/4 -1/2 1/4 1/4 1/4 -1/4 1/2 0 1/2 -1/4

0 0 1 0 0 0 1 0 0 0 1 0 1 -1 2 0

0 0 0 1 0 0 0 1 1 0 -1 1/2 0 1 -2 1/ 2

Yeni Temel DeğiĢken x1 -3 4 1 2 x5 -2 0 2 2 x4 -1/2 1/2 1/2 0

TDD Oran 0 100 40 60 75 25 15 10 85 25 5 5 90 20 10 15

25 40 30 7,5 5 50 10 -

7. Dört, beĢ ve altı numaralı adımlar tekrarlanarak optimum çözüm bulununcaya kadar iterasyonlara devam edilir. Örneğimiz için dördüncü alt tabloda çözüme ulaĢılmıĢtır. Çözüm değerleri, fmaks= 90 x1 = 20 x2 = 0 x4 = 10 x3 = 0 x5 = 15 olarak bulunmuĢ olur. DüzeltilmiĢ simpleks yöntemin genel DP modeline uygulanması da esas olarak aynıdır. Farklı olarak, kuruluĢ-baĢlangıç dönüĢümüne benzer bir yaklaĢımla iĢe baĢlanır. Önce fm satırı optimize edilir. fm satırına ait katsayılar hesaplanırken B-1

87 matrisinin ikinci satırından yararlanılır. Bütün suni değiĢkenler temelden çıkarıldıktan sonra B-1 matrisinin fm‟e karĢılık gelen ikinci satırı ve ikinci sütunu atılır. Bundan sonra, fc satırı optimize edilerek sonuca ulaĢılır. Örnek olmak üzere, daha önce genel simpleks yöntemle çözdüğümüz Örnek Problem 1.8‟i bu defa düzeltilmiĢ simpleks yöntemle çözelim. Örnek problem 1.8‟de ele aldığımız model, Minimize f= 2x1 + x2 2x1 +3x2  6 x1 – x 2 = 0 x1 + 4x2  4 x 1, x 2  0 olarak verilmiĢti. Bu modeli maksimizasyon türüne çevirip gerekli düzenlemeleri yaptıktan sonra, 2x1 + x2 + fc = 0 z1 + z 2 + f m = 0 2x1 + 3x2 + y1 = 6 x 1 – x 2 + z1 = 0 x1 + 4x2 – y2 + z2 = 4 sistemini elde etmiĢtik. (Kesim 1.4.4.4.1‟e bakınız.) Elde ettiğimiz sistemi Tablo 1.18.a‟nın birinci alt tablosuna yerleĢtirelim. KuruluĢ tablosuna karĢılık gelen B-1 birim matrisini Tablo 1.18.b‟nin birinci alt tablosuna yazalım. Daha önce genel simpleks yöntemde kuruluĢ alt tablosundan baĢlangıç alt tablosuna geçebilmek için yaptığımız iterasyonu bu defa sadece B-1 matrisi üzerinde yapıyoruz. Bunun için b.1.z1 ve b.1.z2 satırları (-1) ile çarpılıp b.1.fm satırına eklenmiĢtir. Böylece Tablo 1.18.b‟nin ikinci (BaĢlangıç) alt tablosu elde edilmiĢtir. Bundan sonra yapılan iĢlemler tipik maksimizasyon modelinde uyguladığımız iĢlemlerin benzeridir. Farklı olarak, önce fm satırı esas alınmıĢtır. BaĢlangıç tablosuna karĢılık gelen fm satırını bulmak için B-1 matrisinin ikinci satırı ile Alt Tablo 1.18.a.1‟deki x1, x2, y2 değiĢkenlerine ait katsayıların oluĢturduğu matris çarpılırsa,

0 2 1 0 0 0   [0 1 0 -1 -1] 2 3 0  = [-2 -3 1]   1  1 0   1 4  1 elde edilecektir. Bu değerler Alt Tablo 1.18.a.2‟ye yerleĢtirilmiĢtir. Bu durumda temele girecek değiĢken (-3) katsayılı x2 değiĢkeni olmaktadır. Yeni TD ve TDD sütunlarının hesaplanması ve temeli terk edecek değiĢkenin bulunması daha önce ele aldığımız tipik

88 maksimizasyon probleminde olduğu gibidir. Alt Tablo 1.18.b.4‟de bütün suni değiĢkenlerin temelden çıkarıldığı görülmektedir. Bu durumda B-1 matrisinin fm‟e karĢılık gelen ikinci satır ve sütunu atılarak fc esas alınmak üzere iĢlemlere devam edilecektir. fc satırı hesaplandığında (Alt Tablo 1.18.a.4‟teki değerler) negatif eleman bulunmadığı görüldüğünden optimal çözüme ulaĢılmıĢ olmaktadır. Tablo 1.18: Örnek Problem 1.8‟in DüzeltilmiĢ Simpleks Yöntemle Çözümü a) AT

2

TD fc fm y1 z1 z2 fm

TDD 0 0 6 0 4 -4

3

fm

4

fc

1 (KuruluĢ)

x2 1 0 3 -1 4 -3

y2 0 0 0 0 -1 1

-1

x1 2 0 2 1 1 -2 -5/4

0

1/4

-2,4

0

0

3/5

B-1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0

0 0 0 1 0 0 -1 0 1 0 0 -1 0 1 0 -7/5 0 -1 4/5 -1/5

fc 1 0 0 0 0

fm 0 1 0 0 0

y1 0 0 1 0 0

z1 0 1 0 1 0

z2 0 1 0 0 1

b) AT

TD fc fm 1 y1 (KuruluĢ) z1 z2 fc fm 2 y1 (BaĢlangıç) z1 z2 fc fm 3 y1 z1 x2 fc fm 4 y1 x1 x2

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0

Yeni TD 0 0 0 0 1 0 x2 1 -1 -3 0 3 0 -1 1 4 -1/4 x1 7/4 -1/4 -5/4 -3/4 5/4 1/ 4 5/4 1 /4 1/4 -3/5 0 -1 1/5 1/5

TDD Oran

0 -4 6 0 4 -1 -1 3 1 1 -2,4 0 2 0,8 0,8

2 1 12/5 4/5 4

89 Çözüm değerleri, f*min = fc = -2,4 x1 = 0,8

fmaks= -f*min = 2,4 x2 = 0,8

olarak elde edilir. 1.4.7 DP Modellerinin Bilgisayarda Çözümü DP modellerinin gerçek hayattaki uygulamalarında kısıtlayıcı sayısı yüzlerce olabilmektedir. Bir DP modelinin çözüm süresi yaklaĢık olarak, kısıtlayıcı sayısındaki artıĢın kübüyle doğru orantılıdır(*). Yani, kısıtlayıcı sayısı iki kat arttığında hesaplama süresi sekiz kat artmaktadır. Öte yandan m adet kısıtlayıcısı ve n adet karar değiĢkeni bulunan bir DP modelinin çözümünde m ile 3m arasında iterasyon yapmak gerektiği, yapılan binlerce tecrübeden anlaĢılmıĢtır. Ġterasyon sayısı ortalama 2m olarak düĢünülebilir. Demek oluyor ki, büyük boyutlu DP modellerinin elle çözümü yorucu ve uzun zaman alan bir uğraĢı olmaktadır. Üstelik, muhtemel iĢlem hatalarından dolayı, sağlıklı bir çözüm elde etmek de çok güç olabilir. Yüksek hızlı elektronik bilgi iĢlem makinelerindeki geliĢmeler, DP modellerinin çözümünde büyük kolaylıklar sağlamıĢtır. Diğer bir ifadeyle, DP modellerinin geniĢ çapta uygulanabilir hale gelmesi ancak bu sayede gerçekleĢebilmiĢtir. Bilgisayar teknolojisindeki geliĢmelerle, DP modellerinin çözümündeki geliĢmeler büyük bir paralellik gösterir. Bir DP modelinin, bilgisayardaki ilk baĢarılı çözümü Ocak 1952‟de ABD Milli Standart Bürosu‟nca gerçekleĢtirilmiĢtir. Bu tarih ticari bilgisayarların yeni yeni ortaya çıktığı yıllara rastlanmaktadır. Birinci kuĢak olarak adlandırılan ilk bilgisayarlar, günümüz bilgisayarlarına göre çok sınırlı kabiliyette olmasına rağmen 50 kısıtlayıcı ve 100 değiĢkenden oluĢan modelleri çözebiliyordu. 1958-59 yıllarında bilgisayarların yapımında vakum tüplerinin yerine transistorların kullanılmasıyla önemli bir mesafe alındı ve ikinci kuĢak bilgisayarlar ortaya çıktı. Bu makineler, 300-400 kısıtlayıcısı, 2000-3000 değiĢkeni olan DP modellerini çözebilecek kapasitede idi. Elektronik devre elemanlarındaki geliĢmeye paralel olarak 1965‟lerde üçüncü kuĢak bilgisayarlar ortaya çıkmıĢ, o zamana kadar çözülemeyen daha büyük boyutlu DP modelleri de çözülebilir hale gelmiĢtir. DP modellerinin bilgisayar desteği ile çözümünde önceleri klasik simpleks algoritması izlenmiĢtir. Bu yöntemde, simpleks tablodaki her elemanın hafızada tutulması ve her iterasyonda yeniden hesaplanması gerekiyordu. Daha sonra geliĢtirilen düzeltilmiĢ (revised) simpleks yöntem sayesinde tablodaki her elemanın hafızada tutulmasına gerek kalmamıĢ, iĢlem sayısı ve bellek açısından tasarruf sağlanmıĢtır. (*)

Wagner, s.118

90

Ġkinci Bölüm

ULAġTIRMA MODELĠ

2.1 GiriĢ Bazı özel doğrusal programlama modelleri için daha basit çözüm teknikleri geliĢtirilmiĢtir. Bunlar arasında yaygın olarak kullanılanlardan biri “UlaĢtırma Modeli” veya “Transport Modeli” adıyla anılmaktadır. UlaĢtırma Modeli (UM) esas olarak, kaynaklardan hedeflere yapılacak olan taĢıma maliyetleri toplamını minimize etmek ister. Mesela, bir firmaya ait fabrikalarda üretilen mamullerin depolara taĢınmasında fabrikalar kaynak, depolar hedef durumundadır. Depolardan belli pazarların talebinin karĢılanmasında ise depolar kaynak, pazarlar hedef durumunda olacaktır. Genel olarak hedeflerle kaynaklar arasındaki birim taĢıma maliyetleri farklı değerler olabilir. UlaĢtırma modelinin amacı, hedeflerin ihtiyacını karĢılarken mümkün olan en düĢük maliyetli taĢıma planını belirlemektir. Daha önce Örnek Problem 1.6‟da böyle bir ulaĢtırma modelini ele almıĢ ve bununla ilgili DP modelini kurmuĢtuk. Söz konusu problem simpleks yöntemle çözülüp optimal taĢıma planı bulunabilir. Bu bölümde, simpleks yönteme göre daha basit bir takım tekniklerle ulaĢtırma problemlerinin çözümü üzerinde duracağız.

2.2 Genel UlaĢtırma Modeli Genel olarak m adet kaynak, n adet hedeften oluĢan bir ulaĢtırma problemi Tablo 2.1‟de ifade edilmiĢtir. Tablo 2.1: Genel UlaĢtırma Modeli Hedef H1

H2

...

Kaynak Kapasitesi (ai)

Hn

Kaynak

Km Hedef Ġhtiyacı (bj)

...

c22

...

x2n ...

cm2

...

xm1 b1

c2n

x22 ....

x21

cm1

x1n

...

c21

c1n

x12

cmn

xm2 b2

xmn ...

bn

a1 a2 ...

c12 x11

...

K2

c11

...

K1

am

91 Tablo 2.1‟de K1, K2, ..., Km kaynakları, H1, H2, ..., Hn hedefleri, a1, a2, ..., am kaynak kapasitelerini, b1, b2, ..., bn de hedef ihtiyaçlarını göstermektedir. cij değerleri i‟inci kaynaktan j‟inci hedefe yapılan taĢımanın birim maliyetidir. xij değiĢkenleri ise i‟inci kaynaktan j‟inci hedefe yapılacak taĢıma miktarını göstermektedir. Kaynak kapasiteleri toplamının hedef ihtiyaçları toplamına eĢit olduğu durum “dengelenmiĢ ulaĢtırma modeli” olarak adlandırılır. Yani dengelenmiĢ UM için, m

n

 ai 

b

i 1

j 1

j

dir. UlaĢtırma modelinin amacı toplam taĢıma maliyetini minimize etmek olduğuna göre dengelenmiĢ problem, bir DP modeli olarak Ģu Ģekilde ifade edilebilir. Minimize f =

m

n

i 1

j 1

 

cij xij

n



xij = ai

(i = 1, 2, ..., m)

xij = bj

(j = 1, 2, ..., n)

j 1 m

 i 1

xij  0

(i = 1, ..., m; j = 1, ..., n)

Örnek olmak üzere üç kaynak, dört hedefli bir ulaĢtırma modelini ele alalım. Modelin verileri aĢağıdaki gibi olsun. Problemle ilgili DP modelini kuralım.

Hedef H1

H2

H3

H4

ai

Kaynak K1 K2 K3 bj

7

5 x11

4

5 x21

10

3

25

6 x23

7 x32 75

x14

x13

x22 8

x31

12

10 x12

x24 4

x33 40

Amaç: Minimize f = 7x11 + 5x12 + 10x13 + 12x14 + 4x21 + 5x22 + 3x23 + 6x24 + 10x31 + 8x32 + 7x33 + 4x34 Kısıtlayıcılar: x11 + x12 + x13 + x14 = 50 x21 + x22 + x23 +x24 = 75 x31 + x32 + x33 + x34 = 95

x34 80

50 75 95 220

92 x11 + x21 + x31 = 25 x12 + x22 + x32 = 75 x13 + x23 + x33 = 40 x14 + x24 + x34 = 80 x11, ..., x34  0

Pozitiflik:

Kurulan DP modeli Birinci Bölüm‟de ele aldığımız tekniklerle çözülebilir ve toplam taĢıma maliyetini minimize eden xij değerleri bulunabilir. UlaĢtırma modellerinin çözümünde, uygulama kolaylığı sağlayan daha basit teknikler geliĢtirilmiĢtir. Ġzleyen kesimlerde bu yöntemlerden bazılarını inceleyeceğiz. Bundan böyle, aksi belirtilmediği sürece, dengelenmiĢ problemlerle ilgileneceğiz.

2.3 DengelenmiĢ UlaĢtırma Modeli ve Kuzeybatı KöĢeMetodu DengelenmiĢ ulaĢtırma modelinde bir baĢlangıç çözümü belirleyerek iĢe baĢlayacağız. BaĢlangıç çözümü belirlenirken tablonun sol üst köĢesinden baĢlandığı için bu yöntem kuzeybatı köĢe metodu (KBK metodu) adıyla anılmaktadır. Bir önceki kesimde DP modeliyle ifade ettiğimiz ulaĢtırma modelini Tablo 2.2.‟de tekrar ele alıyoruz. Bu tablo üzerinde bir baĢlangıç dağıtımı yapacağız. Bundan böyle tablo elemanlarını “hücre” olarak, herhangi bir hücreye yapılan dağıtımı da “taĢ” olarak adlandıracağız. Hücreleri isimlendirirken, ait olduğu kaynak ve hedef adını kullanacağız. Tablo 2.2: KBK Metodunda BaĢlangıç Tablosu Hedef H1

H2

H3

H4

ai

Kaynak K1 K2 K3 bj

7

5 25

4

10

5

3 50

10

12

8

6

7 75

75

25 4 15

25

50

25

40

80 80

95 220

ġimdi Tablo 2.2‟nin sol üst köĢesinden baĢlamak üzere baĢlangıç dağıtımını yapalım. Önce K1H1 hücresini ele alıyoruz. H1‟in 25 birimlik ihtiyacının tamamı K1 tarafından karĢılanabilmektedir. Dolayısıyla, K1H1 hücresine 25 birimlik bir taĢ yerleĢtiriyoruz. H1‟in tüm ihtiyacı karĢılandığı için bu sütuna baĢka dağıtım yapılmayacaktır. K1H2 hücresine geçiyoruz. Kaynak 1‟de 50-25=25 birimlik mal kalmıĢ durumdadır. Hedef 2‟nin ihtiyacı ise 75 birimdir. O halde bu hücreye en fazla, Kaynak

93 1‟de kalan miktarı yerleĢtirebiliriz. Böylece K1H2 hücresine atanan taĢ 25 birim olacaktır. Hedef 2‟nin henüz karĢılanmamıĢ olan 75-25=50 birimlik ihtiyacı bulunmaktadır. Bunu temin etmek üzere ikinci kaynağa müracaat ediyoruz. Ġkinci kaynağın 75 birimlik kapasitesi vardır ve kalan 50 birimlik Hedef 2 ihtiyacını karĢılayacak durumdadır. O halde K2H2 hücresine 50 birimlik dağıtım yapabiliriz. Böylece Hedef 2‟nin tüm ihtiyacı karĢılanmıĢ olmaktadır ve H2 sütununa baĢka dağıtım yapılmayacaktır. Benzer Ģekilde devam ederek, K2H3 hücresine 25 birimlik, K3H3 hücresine 15 birimlik ve nihayet K3H4 hücresine de 80 birimlik dağıtım yaparak baĢlangıç tablosunu tamamlıyoruz. BaĢlangıç tablosunu için taĢıma maliyeti, TM = 7(25) + 5(25) + 5(50) + 3(25) + 7(15) + 4(80) = 1050 birimdir. Bulduğumuz çözümün optimal olup olmadığını Ģimdilik bilmiyoruz. Tablo 2.2‟nin K1H1, K1H2, K2H1, K2H2 hücrelerini aĢağıya alıp sadece bu dört hücreye ait taĢıma maliyetini hesaplayalım. H1 K1 K2

7

H2 5

25 4

25 5 50

TM = 7(25)+5(25)+5(50) = 550 birim Bu dört hücreye ait dağıtımda Ģöyle bir değiĢiklik yapalım. K1H1 hücresine ait dağıtımı bir birim azaltmaya çalıĢalım. Satır sütun toplamlarının bozulmaması için diğer üç hücrede de birer birimlik değiĢimler olacaktır. Bu değiĢimlerle birlikte söz konusu dört hücreyi yeniden düzenleyip taĢıma maliyetini hesaplayalım. H1 K1 K2

7

H2 5

25 – 1 = 24 4

25 + 1 = 26 5

0+1=1

50 – 1 = 49

TM = 7(24)+5(26)+4(1) + 5(49) = 547 birim Görülüyor ki, bu dört hücre arasında bir birimlik kaydırma, 550-547=3 birimlik taĢıma maliyeti düĢüĢüne neden olmaktadır. Kaydırma iĢlemi ne kadar fazla yapılabilirse o ölçüde taĢıma maliyetinden tasarruf edilecektir. Bu dört hücre için yapılabilecek azami kaydırma ve buna bağlı olarak ortaya çıkan taĢıma maliyeti aĢağıda verilmiĢtir.

94

H1 K1 K2

7

H2 5

25 – 25 = 0 4

25 + 25 = 50 5

0 + 25 = 25

50 – 25 = 25

TM = 5(50) + 4(25) + 5 (25) = 475 birim Demek oluyor ki söz konusu dört hücre için Tablo 2.2‟de yapılan dağıtım yerine yukarıdaki dağıtım yapılsaydı 550-475=75 birimlik taĢıma maliyeti düĢüĢü temin edilecekti. O halde Tablo 2.2‟deki taĢıma planı optimal değildir. Optimal taĢıma planının bulunması bir sonraki kesimde ele alınmıĢtır. 2.3.1 BoĢ Hücre Rotaları ve Optimallik Testi KBK yöntemine göre baĢlangıç dağıtımı yapılan bir ulaĢtırma modelinin optimallik testinde (dağıtımın boĢ hücrelere kaydırılmasının taĢıma maliyetini azaltıp azaltmayacağının belirlenmesinde) Ģu yol izlenir. 1. BoĢ Hücreye Ait Rotanın Belirlenmesi: Her boĢ hücre için “rota” veya “çevrim” adı verilen bir gruplandırma yapılır. Gruplandırma Ģu adımlardan oluĢmaktadır. a) BoĢ hücre seçilerek yalnız yatay ve düĢey yönde hareket edilir. Dağıtım yapılmıĢ bir hücreye (taĢa) rast gelindiğinde doksan derecelik dönüĢ yapılarak ilerlemeye devam edilir. Hareket esnasında amaç, rotanın baĢladığı boĢ hücreye geri dönmesidir. Ġlerleme sırasında baĢka taĢlara rastlanıp doksan derecelik dönüĢler yapılacaktır. Gerekirse bazı taĢlar atlanabilir ve ilerleme yönünü gösteren oklar birbirini kesebilir. Hareketin baĢladığı boĢ hücreye dönüldüğünde rota tamamlanmıĢ olur. b) Seçilen boĢ hücreye (+) iĢareti verilerek rotayı oluĢturan diğer hücrelere sırayla, bir (-), bir (+) iĢareti verilir. Böylece rotadaki bütün taĢlar iĢaretlenir. 2. BoĢ Hücre Göstergesinin Belirlenmesi: Rotayı oluĢturan hücrelerin taĢıma maliyetleri, yukarıda verilen iĢaretler esas alınıp cebirsel olarak toplanır. Sonuç, söz konusu boĢ hücrenin göstergesidir. 3. Bütün boĢ hücrelerin göstergeleri hesaplandıktan sonra, negatif göstergeler arasında, mutlak değeri en büyük olana ait boĢ hücre esas alınmak üzere yeni bir dağıtım yapılır. 4. Yeni dağıtımda Ģu yol izlenir: Seçilen boĢ hücreye ait rotanın negatif iĢaretli köĢeleri arasında en küçük değerli taĢ bulunur. Bu taĢın değeri pozitif

95 hücrelere eklenir, negatif hücrelerden çıkarılır. 5. Negatif gösterge kalmayıncaya kadar yukarıdaki iĢlemler tekrarlanır. ġimdi bir önceki kesimde ele aldığımız dört hücreyi aĢağıya yeniden yazıp, bunlar arasında bulunan boĢ hücrenin (K2H1 hücresinin) rotasını ve göstergesini bulalım. H1 K1 K2

7 25

H2 5

-

4

+

25

5 -

+ BoĢ Hücre K2 H1

50

Gösterge Değeri +4-5+5-7 = -3

Görülüyor ki, daha önce bir birimlik kaydırmayla elde ettiğimiz taĢıma maliyeti düĢüĢü K2H1 hücresinin göstergesinde ters iĢaretli olarak ortaya çıkmaktadır. Yukarıda verilen dördüncü kurala göre bu dört hücre için yapılacak yeni dağıtım, H1 K1 K2

H2

7

5 50

4

5 25

25

Ģeklinde olacaktır. Yeni durumun, bir önceki kesimde azami kaydırmaları yaparak elde ettiğimiz dağıtımla aynı olduğu görülmektedir. Tablo 2.2‟de baĢlangıç dağıtımını yaptığımız ulaĢtırma modelini çözmeye devam edelim. Önce bütün boĢ hücreler için rotaları belirleyip gösterge değerlerini hesaplıyoruz. BoĢ Hücre K1H3 K1H4 K2H1 K2H4 K3H1 K3H2

Gösterge Değeri 10-5+5-3 = 7 12-5+5-3+7-4 = 12 4-5+5-7 = -3 6-3+7-4 = 6 10-7+3-5+5-7= -1 8-7+3-5 = -1

96 Negatif göstergeler içerisinde mutlak değeri en büyük olan –3 olduğuna göre K2H1 boĢ hücresi ve buna ait rotada bulunan taĢlar yeni dağıtım için seçilir. K2H1 hücresine yapılacak her birim dağıtım 3 birimlik tasarruf sağlayacaktır. Rota içindeki negatif iĢaretli taĢlardan en küçüğü 25 birimliktir. Bu taĢın değeri pozitif hücrelere eklenip, negatif hücrelerden çıkarılarak yeni dağıtım elde edilir. Tablonun diğer kısımları değiĢmeyecektir. UlaĢılan durum Tablo 2.3‟de gösterilmiĢtir. Tablo 2.3: Ġkinci Dağıtım Tablosu Hedef H1

H2

H3

H4

ai

Kaynak K1 K2 K3 bj

7

5

10

12

50

50 4

5

25

10

3 25

8

6

75

25

7

4 - 15

+ 25

+

75

40

80 80

95 220

TM = 5(50) + 4(25) + 5(25) + 3(25) + 7(15) + 4(80) = 975 birim ġimdi ikinci dağıtım tablosuna ait optimallik testini yapalım. Bunun için Tablo 2.3‟deki boĢ hücrelerin göstergelerini hesaplıyoruz. Tablodan da görülebileceği gibi K3H1 hücresinin göstergesi hesaplanırken çizilen rotada K2H2 hücresi atlanmıĢtır. Tablonun anlaĢılabilirliğini bozmamak için diğer rotalar çizilmemiĢtir. BoĢ Hücre K1H1 K1H3 K2H4 K1H4 K3H1 K3H2

Gösterge Değeri 7-4+5-5 = 3 10-5+5-3 = 7 12-5+5-3+7-4 = 12 6-3+7-4 = 6 10-7+3-4 = 2 8-7+3-5 = -1

K3H2 hücresinin göstergesi tek negatif göstergedir. Bu hücreye yapılacak birim dağıtım için 1 birim tasarruf sağlanacaktır. K3H2 hücresinin rotasını oluĢturan taĢlar içinde en küçük negatif değerli taĢ 15 birimliktir. Bu değer, rotadaki pozitif hücrelere eklenip, negatif hücrelerden çıkarılırsa üçüncü dağıtım planı elde edilmiĢ olacaktır. Tablonun diğer hücreleri değiĢmeyecektir. Üçüncü dağıtım planı Tablo 2.4‟de gösterilmiĢtir.

97

Tablo 2.4: Üçüncü (Optimal) Dağıtım Tablosu Hedef H1

H2

H3

H4

ai

+

50

Kaynak K1 K2 K3 bj

7

5

10

12

50 4

5 25

10

3 10

8

6

7

4

+ 15 25

75

75

40

40

- 80

95

80

220

TM= 5(50) + 4(25) + 5(10) + 3(40) + 8(15) + 4(80) = 960 birim. Üçüncü dağıtım planının optimal olup olmadığını test edelim. BoĢ Hücre K1H1 K1H3 K1H4 K2H4 K3H1 K3H3

Gösterge Değeri 7-4+5-5 = 3 10-5+5-3 = 7 12-5+8-4 = 11 6-5+8-4 = 5 10-8+5-4 = 3 7-3+5-8 = 1

Negatif göstergeli boĢ hücre bulunmadığına göre üçüncü dağıtım tablosu optimal dağıtım planını vermektedir. Bu durumda Hedef 1‟in tüm ihtiyacı Kaynak 2‟den, Hedef 3‟ün tüm ihtiyacı yine Kaynak 2‟den ve Hedef 4‟ün tüm ihtiyacı da Kaynak 3‟den karĢılanacaktır. Hedef 2‟nin ise 50 birimlik ihtiyacı Kaynak 1‟den, 10 birimlik ihtiyacı Kaynak 2‟den ve 15 birimlik ihtiyacı da Kaynak 3‟den sağlanacaktır. Böylece minimum taĢıma maliyeti 960 birim olmaktadır. Daha önce 2.2. kesiminde aynı problemi bir DP modeli olarak ifade etmiĢtik. Söz konusu DP modelinin çözümü de Ģu Ģekilde elde edilmiĢ olmaktadır. fmin = 960 x12 = 50 x23 = 40 x11 = 0 x24 = 0 x21 = 25 x32 = 15 x13 = 0 x31 = 0 x22 = 10 x34 = 80 x14 = 0 x33 = 0

98 2.3.2 Rota Örnekleri BoĢ hücrelere ait rotalar belirlenirken gerekirse bazı taĢların atlanabileceğini ve okların birbirini kesebileceğini belirtmiĢtik. AĢağıda rotaların çizimine ait örnekler verilmiĢtir. Örneklerdeki daireler taĢları göstermektedir. 1) -

+ -

+ +

2) -

+ +

-

-

+

3) +

-

+

+

-

2.3.3 EĢ Maliyetli Alternatif Çözümler Optimallik testi yapılırken hesaplanan gösterge değerlerinden negatif olanların, ilgili boĢ hücreye bir birimlik dağıtım yapıldığında sağlanacak tasarrufu gösterdiğini biliyoruz. Benzer Ģekilde, pozitif göstergeler de, ilgili hücreye yapılacak bir birim dağıtım karĢılığında taĢıma maliyetinde meydana gelecek artıĢı göstermektedir. O halde gösterge değeri sıfır olan bir boĢ hücreye dağıtım yapılması durumunda taĢıma maliyetinde bir değiĢiklik olmayacaktır. Böyle durumlarda eĢ taĢıma maliyetli alternatif çözümler ortaya çıkmaktadır. Örnek olarak Tablo 2.5‟de baĢlangıç dağıtımı yapılan ulaĢtırma modelini ele alalım.

99 Tablo 2.5: EĢ Maliyetli Alternatif Çözüm Örneği Hedef H1

H2

H3

ai

Kaynak K1 K2 K3

20

35

25

50

50 30

40

35

15 20

70

55 30

20 35

bj

65

45

90

45

80 200

TM = 20(50) + 30(15) + 40(55) + 30(35) + 20(45) = 5600 birim Optimallik Testi: BoĢ Hücre K1H2 K1H3 K2H3 K3H1

Gösterge Değeri 35-20+30-40 = 5 25-20+30-40+30-20 = 5 35-40+30-20 = 5 20-30+40-30 = 0

Görülüyor ki, K3H1 hücresinin göstergesi sıfırdır. O halde bu hücreye yapılacak dağıtım çözüm değerini değiĢtirmeyecek ve eĢ maliyetli alternatif dağıtım planını verecektir. Bu durum Tablo 2.6‟de gösterilmiĢtir. Tablo 2.6: EĢ Maliyetli Alternatif Tablo Hedef H1

H2

H3

ai

Kaynak K1 K2 K3 bj

20

35

25

40

35

50

50 30

70

70 20

30 15 65

20 20 90

45 45

80 200

TM = 20(50) + 40(70) + 20(15) + 30(20) + 20(45) = 5600 birim

100

2.4 BaĢlangıç Dağıtımında YaklaĢım Yöntemleri Daha önce KBK metodunu incelerken baĢlangıç dağıtımını tablonun sol üst köĢesinden itibaren yapmıĢtık. Bu yaklaĢımda baĢlangıç tablosu, taĢıma maliyetleri ile ilgili herhangi bir kıstasa dayanmadığı için rastgele seçilmiĢ olmakta, dolayısıyla optimal çözüme ulaĢmak için fazla sayıda iterasyon gerekmektedir. BaĢlangıç çözümünü mümkün mertebe optimal çözüme yakın bir noktada belirleyebilmek için çeĢitli yaklaĢım yöntemleri geliĢtirilmiĢtir. Bu yöntemler sayesinde daha kısa zamanda optimal çözüme ulaĢmak mümkün olmaktadır. Söz konusu yaklaĢım yöntemlerinden iki tanesini inceleyeceğiz. Bunlar, Kestirme YaklaĢım Metodu (KYM) ve Vogel YaklaĢım Metodu (VAM)(*)‟dur. Her iki yöntemde de amaç, optimal çözüme yakın bir baĢlangıç tablosu oluĢturmaktadır. Optimallik testi daha önce anlatılan KBK metodunda olduğu gibidir. 2.4.1 Kestirme YaklaĢım Metodu Bu yönteme göre, baĢlangıç tablosunun oluĢturulmasında, birim taĢıma maliyetleri esas alınır. En küçük taĢıma maliyetli hücreye, ihtiyaç ve kapasite imkanları çerçevesinde, mümkün olan en büyük dağıtım yapılır. Benzer Ģekilde, diğer hücreler için de küçük birim maliyetten büyük birim maliyete doğru sırayla en büyük dağıtımlar yapılarak baĢlangıç tablosu tamamlanır. Örnek olmak üzere, daha önce KBK metodunu incelerken ele aldığımız ulaĢtırma problemini yeniden çözelim. Tablo 2.7: Kestirme YaklaĢım Metoduyla BaĢlangıç Tablosunun Belirlenmesi Hedef H1

H2

H3

H4

ai

Kaynak K1 K2 K3 bj

7

5

10

12

50

IV 50 4

5

II 25 10

3 V 10

8

6

7

4

VI 15 25

75

75

I 40

40

III 80

95

80

220

En küçük taĢıma maliyetinden baĢlayarak mümkün olan en yüksek dağıtımları sıralayıp, bulduğumuz değerleri Tablo 2.7‟ye yerleĢtiriyoruz.

(*)

Vogel‟s Approximation Method.

101 Hücre K2H3 K2H1 K3H4 K1H2 K2H2 K2H4 K1H1 K3H3 K3H2

TaĢıma Maliyeti 3 4 4 5 5 6 7 7 8

Azami Dağıtım

Dağıtım No

40 25 80 50 10 Yapılamaz Yapılamaz Yapılamaz 15

I II III IV V VI

Görülüyor ki Tablo 2.7, daha önce elde ettiğimiz optimal çözümü gösteren Tablo 2.4 ile aynı dağıtımı ifade etmektedir. O halde baĢlangıç dağıtım planı ayni zamanda optimal çözümü vermektedir. 2.4.2 Vogel YaklaĢım Metodu BaĢlangıç dağıtım planının belirlenmesinde kullanılan en yaygın yöntemlerden birisi Vogel YaklaĢım Metodudur. Bu yöntemin uygulanmasında Ģu esaslar çerçevesinde hareket edilir. 1. Her satır ve sütun için, en düĢük iki taĢıma maliyeti seçilerek aralarındaki fark belirlenir. 2. Belirlenen fark değerleri içinde en büyük olan seçilir. Seçilen değerin ait olduğu satır veya sütundaki en küçük taĢıma maliyetli hücreden baĢlanarak, o satır veya sütundaki bütün ihtiyaç karĢılanacak veya bütün kapasite kullanılacak Ģekilde dağıtım yapılır. 3. Fark değerleri, küçülen sırada ele alınarak diğer hücreler için de benzer iĢlemler tekrarlanır. Bütün kaynak kapasiteleri kullanılıp, hedef ihtiyaçları karĢılandığında baĢlangıç tablosu tamamlanmıĢ olur. Vogel yaklaĢım metodunun uygulanmasına örnek olmak üzere, daha önce 2.3 kesiminde ele aldığımız ulaĢtırma probleminin baĢlangıç tablosunu yeniden oluĢturalım. Söz konusu probleme ait verileri Tablo 2.8‟e yazıp, ilave olarak, her satır ve sütun için yöntemin öngördüğü fark değerlerini yazmak üzere fark satırı ve sütununu ekliyoruz.

102

Tablo 2.8: Vogel YaklaĢım Metoduyla BaĢlangıç Tablosunun Belirlenmesi Hedef H1

H2

H3

H4

ai

Fark

50

2

75

1

III 80

95

3

220

Kaynak 7

K1

5

10

12

IV 50 4

K2

5

II 25 10

K3

3 V 10

8

6 I 40

7

4

VI 15

bj

25

75

40

80

Fark

3

0

4

2

Her satır ve sütundaki en düĢük birim maliyetler arasındaki farkları bulup, fark satır veya sütununa yazıyoruz. Birinci satır için en düĢük birim maliyetler 5 ve 7 olduğu için bunlar arasındaki 7-5=2 birimlik fark değeri, fark sütununun birinci satırına yazılmıĢtır. Fark satır ve sütununun diğer elemanları da benzer Ģekilde bulunmuĢtur. Elde edilen fark değerleri içinde en büyükten baĢlamak üzere, ilgili satır ve sütuna azami dağıtım yapılacaktır. Dağıtımda, söz konusu satır veya sütunun en düĢük taĢıma maliyetli hücresinden baĢlanacaktır. Fark değerleri içinde en büyük değer birden fazla ise herhangi birisinden baĢlanabilir. Bulduğumuz fark değerlerini büyükten küçüğe sıralayarak gerekli dağıtımları yapalım. Fark 4 3 3 2 2 1 0

Ġlgili Satır veya Sütun H3 H1 K3 K1 H4 K2 H2

Yapılan Dağıtım Hücre TaĢ K2H3 40 K2H1 25 K3H4 80 K1H2 50 Yapılamaz K2H2 10 K3H2 15

Dağıtım No I II III IV V VI

En büyük fark değeri 4 olduğu için ilk dağıtımda H3 sütunundaki tüm ihtiyaç karĢılanacaktır. H3 sütununun en küçük taĢıma maliyetli hücresi K2H3 olduğu için, bu hücreye azami dağıtım yapılarak 40 birimlik bir taĢ yerleĢtirilmiĢtir. Dağıtım değeri ve dağıtım numarası Tablo 2.8‟deki ilgili hücreye yazılmıĢtır. Diğer dağıtımlar da benzer Ģekilde yapılmıĢtır. Fark değeri 2 olan H4 sütununa dağıtım yapılmamasının sebebi, bu

103 sütuna ait ihtiyacın tamamının daha önceki dağıtımlarda karĢılanmıĢ olmasıdır. Görülüyor ki, Tablo 2.8‟in son durumu, daha önce bulduğumuz optimal çözümü gösteren Tablo 2.4 ile aynıdır. O halde baĢlangıç çözümü aynı zamanda optimal çözümdür. ġurası unutulmamalıdır ki, yaklaĢım yöntemleri ile elde edilen baĢlangıç dağıtım planlarının optimalliği hiçbir zaman garanti edilemez. Bulunan baĢlangıç tablolarının optimallik testi yapılmalı; optimal değilse, KBK metodunda anlatılan adımlarla optimal çözüme ulaĢılmalıdır.

2.5 DengelenmemiĢ UlaĢtırma Modeli ġimdiye kadar sadece dengelenmiĢ ulaĢtırma modelleri üzerinde durduk. Gerçek hayattaki problemlerde toplam kaynak kapasitesi, toplam hedef ihtiyacına eĢit olmayabilir. Kaynak kapasiteleri toplamının, hedef ihtiyaçları toplamına eĢit olmadığı durumlara dengelenmemiĢ modeller diyeceğiz. DengelenmemiĢ ulaĢtırma modellerinde iki durum söz konusudur. Birinci durumda, kapasiteler toplamı ihtiyaçlar toplamından büyüktür. Böyle durumlarda kaynak kapasitelerinin bir kısmı dağıtılamayacak demektir. Ġkinci durumda ise ihtiyaçlar toplamı kapasiteler toplamından büyüktür. Bu durumda ise hedef ihtiyaçlarının bir kısmı karĢılanamayacak demektir. Her iki durumda da benzer yaklaĢımla hareket edilir. Modele bazı eklemeler yapılarak probleme çözüm getirilir. 2.5.1 Kapasite Fazlalığı ve Suni Hedef Eklenmesi DengelenmemiĢ bir problemde, kapasite toplamı daha büyükse, modele, birim taĢıma maliyetleri sıfır olan suni bir hedef ilave edilir. Suni hedefin ihtiyacı, toplam kapasitedeki fazlalık kadardır. Böylece model dengeli hale sokulmuĢ olmaktadır. BaĢlangıç dağıtımı KBK Metodu ile yapılacaksa, suni hedefin en sona kalması için, tablonun sağına yerleĢtirilmesi gerekir. Ġlk dağıtım, yaklaĢım yöntemleriyle belirlenecekse, suni hedefe ait sütunla ilgili dağıtımların yine en sona bırakılması gerekecektir. Örnek olmak üzere Tablo 2.9‟da verilen ulaĢtırma modelini ele alalım.

104

Tablo 2.9: Kapasite Fazlalığı Örnek Problemi Hedef H1

H2

H3

H4

ai

Kaynak K1 K2 K3

7

11

5

13

9

8

11

10

10

6

10

12

bj

25

40

30

60 40 50 150

35

130

Görülüyor ki, hedef ihtiyaçları toplamı 130 birim iken kaynak kapasiteleri toplamı 150 birimdir. Böylece, 150-130=20 birimlik kapasite fazlası söz konusudur. Modele H0 suni hedefini ekleyelim. Suni hedefin birim taĢıma maliyetleri sıfır ve ihtiyacı da 20 birim olsun. Elde ettiğimiz modeli Tablo 2.10‟a yerleĢtirip, kestirme yaklaĢım metodu ile baĢlangıç dağıtımını yapalım. BaĢlangıç dağıtımını yaparken suni hedefe ait hücreleri en sona bırakıyoruz. Tablo 2.10: Suni Hedef Eklenmesi ve BaĢlangıç Dağıtımı Hedef H1 Kaynak K1

7

H2 11

H3 13

5

III 25 9

8

K3

10

6

11 10 40

ai

V 5

60

10 0 35 VI 5 IV 12 0 VII 10

II 40 25

H0 0

I 30

K2

bj

H4

30

35

20

40 50 150

Tablo 2.10‟daki I, II, III ve IV numaralı dağıtımlar en küçük maliyetli hücre sırasına göre yapılmıĢtır. V, VI ve VII numaralı dağıtımlar ise, sona bırakılmıĢ olan suni hedefe ait hücrelerde yapılması gereken dağıtımlardır. BaĢlangıç tablosunun optimallik testini yapalım.

105 BoĢ Hücre K1H2 K1H4 K2H1 K2H2 K2H3 K3H1 K3H3 K3H4

Gösterge 5 3 2 2 6 3 5 2

Hesaplanan göstergeler içerisinde negatif değer bulunmadığına göre baĢlangıç dağıtım planı optimal çözümü vermektedir. H0 sütunundaki dağıtımlar kaynak kapasitelerinin dağıtılmayan kısmını göstermektedir. Bu durumda Kaynak 1‟in 5 birimlik, Kaynak 2‟nin 5 birimlik ve Kaynak 3‟ün 10 birimlik kapasitesi kullanılmayacaktır. Optimal taĢıma maliyeti, TM = 7(25) + 5(30) + 10(35) + 6(40) = 915 birimdir. 2.5.2 Ġhtiyaç Fazlalığı ve Suni Kaynak Eklenmesi DengelenmemiĢ ulaĢtırma probleminde, toplam hedef ihtiyacı toplam kaynak kapasitesinden daha büyükse, modele, birim taĢıma maliyetleri sıfır olan suni bir kaynak eklenir. Suni kaynağın kapasitesi, toplam ihtiyaçtaki fazlalık kadardır. Suni kaynağın eklenmesiyle, model dengeli hale getirilmiĢ olmaktadır. BaĢlangıç dağıtımı KBK Metodu ile yapılacaksa, suni kaynağın en sona kalması için, diğer kaynakların altına yerleĢtirilmesi gerekir. YaklaĢım yöntemleri kullanılıyorsa, suni kaynağa ait dağıtımların yine en sona bırakılması gerekir. Konuyu açıklığa kavuĢturmak için Tablo 2.11‟deki örneği göz önüne alalım. Tablo 2.11: Ġhtiyaç Fazlalığı Örnek Problemi Hedef H1

Kaynak K1 K2 K3 bj

H2

H3

H4

8

3

8

4

6

9

7

5

9

8

4

7

35

50

40

ai 60 55 35

45

150 170

106 Ele aldığımız örnekte hedef ihtiyaçları toplamı 170 birim iken, kaynak kapasiteleri toplamı 150 birimdir. Bu durumda 170-150=20 birimlik kapasite noksanlığı söz konusudur. Böylece, bazı hedeflerin ihtiyacının bir kısmı karĢılanamayacaktır. Modele, birim taĢıma maliyetleri sıfır ve kapasitesi 20 birim olan K0 suni kaynağını ekleyelim. Yeni durumu Tablo 2.11‟e yerleĢtirip, suni kaynağa ait hücreleri en sona bırakarak, kestirme yaklaĢım yöntemiyle baĢlangıç dağıtım planını belirleyelim. Tablo 2.12: Suni Kaynak Eklenmesi ve BaĢlangıç Dağıtımı Hedef

H1 H2

H3

H4

ai

II 10

60

IV 35

55

Kaynak K1 K2 K3 K0 bj

8

3

4

8 I 50

6

9

7

5

V 20 9

8

4

7

35

III 35 0

0

0

VI 15 35

0

20

VII 5 50

40

45

170

Tablo 2.12‟deki I, II, III, IV ve V numaralı dağıtımlar, mümkün olan en küçük maliyetli hücreler esas alınarak yapılmıĢtır. VI ve VII numaralı dağıtımlar ise sona bırakılan suni kaynağa ait hücrelerde yapılması gereken dağıtımlardır. BaĢlangıç tablosunun optimal olup olmadığını test edelim. BoĢ Hücre K1H1 K1H3 K2H2 K2H3 K3H1 K3H2 K3H4 K0H2 K0H4

Gösterge 3 3 5 1 5 6 4 2 1

Göstergeler içerisinde negatif değer bulunmadığına göre baĢlangıç dağıtım planı aynı zamanda optimal çözümdür. K0 satırındaki dağıtımlar, hedeflerin karĢılanamayan ihtiyaçlarını göstermektedir. Bu durumda Hedef 1‟in 15 birimlik, Hedef 3‟ün 5 birimlik ihtiyacı karĢılanamayacaktır. Optimal taĢıma maliyeti, TM = 3(50) + 4(10) + 6(20) + 5(25) + 4(35) = 625

107 birimdir.

2.6 UlaĢtırma Modelinde Bozulma UlaĢtırma modelinin herhangi bir dağıtım planındaki boĢ hücrelere ait rotaların çizilebilmesi için, dağıtımda (m+n-1) adet taĢın bulunması gerekmektedir. Burada m, kaynak sayısını, n ise hedef sayısını göstermektedir. BaĢlangıç tablosunda veya çözümün herhangi bir kademesinde taĢ sayısı (m+n-1)‟den küçük olursa bozulma durumu söz konusudur. Bozulmayı gidermek için, tabloya gerekli sayıda sıfır değerli taĢ ilave edilir. Sıfır değerli taĢlar dağıtım açısından bir anlam taĢımaz. Sadece, bozulmayı gidermek ve rotaların çizilebilmesini sağlamak için baĢ vurulan bir yöntemdir. Bozulma, KBK metoduyla düzenlenen baĢlangıç tablosunda ortaya çıkarsa sıfır değerli taĢlar merdiven Ģeklindeki ilk dağıtımı tamamlayacak Ģekilde yerleĢtirilir. YaklaĢım yöntemlerinde veya ara kademelerde ise bu taĢlar, en düĢük taĢıma maliyetli boĢ hücrelere yerleĢtirilir. Böylece diğer boĢ hücre rotaları çizilebilir duruma gelmiĢ olmaktadır. Tablo 2.13‟deki örnekte KBK yöntemine göre yapılan baĢlangıç dağıtımında ortaya çıkan bozulma ve sıfır değerli taĢ eklenmesiyle bozulmanın giderilmesi görülmektedir. Bu örnekte, m+n-1=3+4-1=6 dır. Normal olarak yerleĢtirilebilen taĢ sayısı ise beĢtir. Eksik kalan bir taĢı karĢılamak üzere sıfır değerli taĢ kullanılacaktır. Sıfır değerli taĢ, basamak Ģeklindeki dağıtımı elde etmek üzere K2H3 hücresine yerleĢtirilmiĢtir. Tablo 2.13: KBK Metoduna Göre BaĢlangıç Tablosundaki Bozulma ve Giderilmesi Hedef H1 H2 H3 H4 ai Kaynak 1 3 2 3 K1 75 45 30 4 4 2 3 K2 30 30 0 5 1 5 2 K3 45 25 20 bj

45

60

25

20

150

Tablo 2.14‟deki örnekte ise, yaklaĢım yöntemleriyle baĢlangıç dağıtımında veya ara tabloda ortaya çıkan bozulma söz konusudur. Bozulmayı gidermek üzere, sıfır değerli taĢ, taĢıma maliyeti en düĢük boĢ hücreye yerleĢtirilmiĢtir. Tablodaki dağıtım

108 kestirme yaklaĢım metoduyla yapılan baĢlangıç dağıtımıdır. Tablo 2.14: YaklaĢım Yöntemleri veya Ara Kademelerdeki Bozulma ve Giderilmesi Hedef H1 H2 H3 H4 ai Kaynak 3 3 4 9 K1 25 20 0 II 5 I VI 5 7 5 6 K2 40 20 V 20 IV 6 4 8 7 K3 25 III 25 bj

20

25

20

25

90

2.7 Problemler I. AĢağıdaki ulaĢtırma modelini KBK yöntemi ile çözünüz. Hedef Kaynak K1 K2 K3 K4 bj

H1

H2

H3

H4

H5

ai

11 14 10 15 30

8 9 13 10 25

13 10 11 9 35

8 16 12 14 40

14 11 8 12 30

35 30 40 55 160

II. Birinci problemde verilen ulaĢtırma modelini, a) Kestirme yaklaĢım metoduyla çözünüz. b) Vogel yaklaĢım metoduyla çözünüz. III. AĢağıdaki dengelenmemiĢ ulaĢtırma modelini çözünüz.

109

Hedef Kaynak K1 K2 K3 K4 bj

H1

H2

H3

H4

ai

2 3 1 4

1 2 2 3

4 1 2 3

3 1 4 3

95

70

85

100

60 80 70 90 300 350

IV. ġehir içi ulaĢım hizmeti veren bir otobüs iĢletmesinin elinde 40 adet servis aracı bulunmaktadır. Firmanın, Ģehrin çeĢitli bölgelerinde üç adet garajı vardır. Otobüsler sabahleyin servise dört farklı semtten çıkacaktır. Garajlarla semtler arasındaki mesafeler, garaj kapasiteleri ve her semtin otobüs ihtiyacı aĢağıdaki tablolarda verilmiĢtir. ġehir içindeki ulaĢım hızı sabit kabul edilmektedir. Bu durumda, otobüslerin bir an önce sefere baĢlayabilmesi için hangi garajlardaki otobüsler hangi semtlere gönderilmelidir. Fazla otobüsler hangi garajlarda bekletilmelidir. Garaj

Otobüs Kapasitesi

Semt

A B C

15 Adet 15 Adet 10 Adet

I II III IV

Gerekli Otobüs 8 Adet 11 Adet 7 Adet 9 Adet

Mesafeler (Km) Semt Garaj A B C

I

II

III

IV

5 7 4

6 3 5

4 8 5

7 9 6

V. Bir petrol Ģirketi beĢ üretim sahasından ham petrol elde etmektedir. ġirket, elde ettiği ham petrolü dört farklı bölgedeki rafinerilerinde iĢleyecektir. Belli bir periyot içinde, üretim sahalarından elde edilen ham petrol miktarları, rafineri kapasiteleri ve rafinerilerle sahalar arasındaki mesafeler aĢağıda verilmiĢtir. TaĢıma iĢleminde kara tankerleri kullanılmaktadır ve bir ton petrolün bir kilometre taĢınması için 100 km‟den kısa mesafelerde 20 TL, 100 km ve daha uzun mesafelerde 17 TL ödenmektedir. Bu veriler çerçevesinde,

110 Ģirket hangi sahalarda ürettiği petrolü hangi rafinerilerde iĢlemelidir. Toplam rafineri kapasitesindeki fazlalıklardan dolayı hangi rafineriler düĢük kapasite ile çalıĢtırılmalıdır. Saha I II III IV V

Üretim (Ton) 50000 75000 90000 80000 60000

Saha

Rafineri A B C D

90000 120000 100000 140000

Mesafeler (Km) Rafineri I II III

IV

I II III IV V

145 120 105 90 115

80 200 120 160 95

150 190 75 110 130

95 130 160 170 145

Kapasite (Ton)

111

KAYNAKLAR Ackoff, R.L. ve Sasieni, M.W. Fundementals of Operations Research, John Wiley and Sons, 1968. Akalın, Sedat. Yöneylem AraĢtırması, Ġzmir, Ege Ü. ĠĢletme Fakültesi Yayın No:5, 1979. Alwan, A.J. ve Parisi, D.G. Quantitative Methods for Decision Making, New Jersey, General Learning Press, 1974. Aslan, Demir. Mühendistler ve ĠĢletmeciler için Üretim Planlama, Ġzmir, 1985. Bierman, H., Bonini, C.P. ve Hausman, W.H. Quantitative Analysis for Business Decision, Ricard D. Irwin Ġnc., 1973. Eiselt, H.A ve Frajer, H. Operations Research Handbook, Walter de Gruyter, 1977. Esin, Alptekin. Yöneylem AraĢtırmasında Yararlanılan Karar Yöntemleri, Ankara, AĠTĠT Yayın No: 157, 1981. Gass, S.I. Linear Programming: Methods and Applications, McGraw-Hill, 1975. Graver, D.P. ve Thompson, G.L. Programing and Probabilitiy Models in Operations Research, Wadsworth Publishing Co., 1973. Gottfried, B.S. ve Weisman, J. Introduction to Optimization Theory, PrenticeHall, 1973. Gupta, S.K. ve Cozzolino, J.M. Fundementals of Operations Resarch for Management, Holden-Day, 1974. Halaç, Osman. Kantitatif Karar Verme Teknikleri, Ġstanbul, ĠÜ ĠĢletme Fakültesi Yayın No:86, 1978. Hillier, F.S. ve Lieberman, G.J. Operations Research, Holden-Day, 1974. Mital, K.V. Optimizations Methods in Operations Research and Systems Analysis, Wiley Eastern Limited, 1976. Özgüven, Cemal. Doğrusal Programlama, Kayseri, Erciyes Ü. ĠĠBF. Yayın No.1, 1985. Richmond, S.B. Operations Research for Management Decisions, The Ronald Press Comp., 1968. Taha, H.A. Operations Research: an Intraduction, Macmillan, 1982. Tulunay, Yılmaz. Matematik Programlama ve ĠĢletme Uygulamaları, Ġstanbul, Ġ.Ü. ĠĢletme Fak. Yayın No.108, 1980. Wagner, H.M. Principles of Operations ;Research, Printice-Hall of India Private Limited, 1974.

112 H

DĠZĠN

hedef, 92 hücre, 93 K

A alternatif çözümler, 100 amaç fonksiyonu, 5 araç akıĢı problemi, 14 B basit kâr maksimizasyonu problemi, 6 basit maliyet minimizasyonu problemi, 11 belirlilik, 10 big M, 52 bozulma, 109 bölünebilirlik, 9 C cebirsel çözüm, 35 Ç

kanonik form, 37 kaynak, 92 KBK, 93 kestirme yaklaĢım, 102 kısıtlayıcı Ģartlar, 5 konveks set, 21 kuzeybatı köĢe metodu, 93 KYM, 102 M matris notasyonu, 8 model kurma, 10 O OÇ, 22 optimal çözüm, 22 optimallik testi, 95

çözüm süresi, 90

Ö D

dejenerasyon, 60, 109 dengelenmemiĢ model, 105 dengelenmiĢ ulaĢtırma modeli, 93 doğrusallık, 9 duyarlılık analizi, 76 düal simpleks yöntem, 67 düalite, 62 düzeltilmiĢ simpleks yöntem, 82

Örnek Problem 1.1, 6 Örnek Problem 1.2, 11 Örnek Problem 1.3, 12 Örnek Problem 1.4, 14 Örnek Problem 1.5, 16 Örnek Problem 1.6, 18 Örnek Problem 1.7, 49 Örnek Problem 1.8, 56 Örnek Problem 1.9, 68 P

F fire minimizasyonu problemi, 16

pozitiflik Ģartı, 6 primal simpleks, 41

G genel simpleks yöntem, 51 gölge fiyatlar, 74 grafik çözüm, 23

R rota, 95 S sağ taraf değiĢimleri, 77

113 simpleks, 37 suni hedef, 105 suni kaynak, 107

U

ġ Ģartlı üretim problemi, 12

UÇ, 22 ulaĢtırma modeli, 91 ulaĢtırma problemi, 18 UM, 91 uygun çözüm, 22

T temel uygun çözüm, 22 tipik maksimizasyon modeli, 23 tipik minimizasyon modeli, 23 TOD, 22 toplanabilirlik, 9 transport modeli, 91 TUÇ, 22

V VAM, 102 varsayımlar, 9 Vogel, 103 Y yaklaĢım yöntemleri, 102

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF