AÖF Kitapları Öğrenci Kullanım Kılavuzu
Öğrenme çıktıları
Bölüm içinde hangi bilgi, beceri ve yeterlikleri
kazanacağınızı ifade eder.
Bölüm Özeti
Bölümün kısa özetini gösterir.
Sözlük
Bölüm içinde geçen önemli
kavramlardan oluşan sözlük
ünite sonunda paylaşılır.
Karekod
Bölüm içinde verilen
karekodlar, mobil
cihazlarınız aracılığıyla
sizi ek kaynaklara,
videolara veya web
adreslerine ulaştırır.
Tanım
Bölüm içinde geçen
önemli kavramların
tanımları verilir.
Dikkat
Konuya ilişkin önemli
uyarıları gösterir.
Neler Öğrendik ve Yanıt Anahtarı
Bölüm içeriğine ilişkin 10 adet
çoktan seçmeli soru ve cevapları
paylaşılır.
Öğrenme Çıktısı Tablosu
Araştır/İlişkilendir/Anlat-Paylaş
İlgili konuların altında cevaplayacağınız soruları, okuyabileceğiniz
ek kaynakları ve konuyla ilgili yapabileceğiniz ekstra etkinlikleri gösterir.
Yaşamla İlişkilendir
Bölümün içeriğine uygun paylaşılan yaşama dair gerçek kesitler
veya örnekleri gösterir.
Araştırmalarla İlişkilendir
Bölüm içeriği ile ilişkili araştırmaların ve bilimsel çalışmaları gösterir.
Yöneylem
Araştırması
Editör
Doç.Dr. Murat AKYILDIZ
Yazarlar
Prof.Dr. Refail KASIMBEYLİ
1, 2, 3, 8
Doç.Dr. Zehra KAMIŞLI ÖZTÜRK
BÖLÜM 4, 7
Dr.Öğr.Üyesi Nergiz KASIMBEYLİ
BÖLÜM 5, 6
BÖLÜM
T.C. ANADOLU ÜNİVERSİTESİ YAYINI NO: 4100
AÇIKÖĞRETİM FAKÜLTESİ YAYINI NO: 2882
Bu kitabın basım, yayım ve satış hakları Anadolu Üniversitesine aittir.
“Uzaktan Öğretim” tekniğine uygun olarak hazırlanan bu kitabın bütün hakları saklıdır.
İlgili kuruluştan izin almadan kitabın tümü ya da bölümleri mekanik, elektronik, fotokopi, manyetik kayıt
veya başka şekillerde çoğaltılamaz, basılamaz ve dağıtılamaz.
Copyright © 2020 by Anadolu University
All rights reserved
No part of this book may be reproduced or stored in a retrieval system, or transmitted
in any form or by any means mechanical, electronic, photocopy, magnetic tape or otherwise, without
permission in writing from the University.
Öğretim Tasarımcısı
Arş.Gör. Bilal Saraç
Grafik Tasarım ve Kapak Düzeni
Prof.Dr. Halit Turgay Ünalan
Dil ve Yazım Danışmanı
Emine Koyuncu
Ölçme Değerlendirme Sorumlusu
Betül Hacıköylü
Grafikerler
Ayşegül Dibek
Gülşah Karabulut
Dizgi ve Yayıma Hazırlama
Dilek Özbek
Halil Kaya
Zülfiye Çevir
Gül Kaya
Gülşah Sokum
Arzu Ercanlar
Nihal Sürücü
Gözde Soysever
YÖNEYLEM ARAŞTIRMASI
E-ISBN
978-975-06-3962-3
Bu kitabın tüm hakları Anadolu Üniversitesi’ne aittir.
ESKİŞEHİR, Ekim 2020
3493-0-0-0-2209-V01
İçindekiler
Doğrusal
Programlama
BÖLÜM 2
Modelleri: Grafik
Çözüm
Yöneylem
BÖLÜM 1
Araştırmasına Giriş
Giriş . ...............................................................
3
Yöneylem Araştırmasının Kısa Tarihçesi .....
3
Yöneylem Araştırması, Matematiksel
Programlama ve Doğrusal Programlama
Problemleri . ...................................................
5
Doğrusal Programlama Problemleri İçin
Matematiksel Model ve Çözüm Kavramları ... 7
Ulaştırma, Atama, En Kısa Yol, En Küçük
Kapsayan Ağaç, Tam Sayılı Programlama, Çok
Amaçlı En İyileme Problemleri ve Hedef
Programlama Problemleri . ........................... 9
BÖLÜM 3
Doğrusal
Programlama (DP)
Problemleri İçin
Çözüm Yöntemi
Simpleks Yöntem
Giriş . ...............................................................
Simpleks Yöntemin Cebirsel Yorumu . .........
Doğrusal Programlama Probleminin
Kanonik Şekli ve Cebirsel Eniyilik
Kriteri .....................................................
Sınırsız Amaç Fonksiyonu ....................
En İyi Olmayan Uygun Çözümün
İyileştirilmesi .........................................
Simpleks Yöntemin Geometrik Yorumu ......
Simpleks Yöntemin Cebirsel ve Geometrik
Yorumlarının İlişkilendirilmesi ve Simpleks
Algoritma .......................................................
Simpleks Yöntemin Tablo Şekli ....................
Giriş . ............................................................... 21
En İyileme Problemleri İçin Çözüm, Uygun
Çözüm, En İyi Çözüm Kavramları ................ 21
Doğrusal Programlama Problemlerinin
Varsayımları .................................................. 23
Matematiksel Model ..................................... 25
Grafik Çözüm Yöntemi . ................................ 34
BÖLÜM 4
55
55
55
57
Ulaştırma
Problemleri
Giriş . ............................................................... 95
Ulaştırma Problemleri ................................... 96
Bir Başlangıç Temel Uygun Çözüm Bulma
Yöntemleri ..................................................... 102
Kuzeybatı Köşe Yöntemi ...................... 105
En Küçük Maliyet Yöntemi .................. 110
Ulaştırma Problemlerinde Özel Durumlar .... 116
58
64
67
70
iii
BÖLÜM 5 Atama Problemleri
Giriş . ............................................................... 129
Atama Probleminin Tanımı ve Uygun
Çözümleri ....................................................... 129
Atama Probleminin Matematiksel
Modeli ............................................................ 133
Atama Probleminin Çözümü İçin Macar
Algoritması . ................................................... 137
Macar Algoritması ................................ 137
Tamsayılı
BÖLÜM 7 Programlama
Modelleri
Giriş . ............................................................... 185
Tamsayılı Programlama Türleri . .................. 185
Saf Tamsayılı Programlama
Problemleri ............................................ 186
0-1 Tamsayılı Programlama
Problemleri ............................................ 186
Karma Tamsayılı Programlama
Problemleri ............................................ 188
Temel Tamsayılı Programlama Problemleri ... 189
Ürün Karması Belirleme Problemi ....... 189
Sermaye Bütçeleme Problemi . ............ 190
Tesis Yeri Seçimi Problemi . ................. 191
Sırt Çantası Problemi ............................ 194
Küme Kapsama Problemi ..................... 195
Çizelgeleme Problemleri . .................... 197
Tamsayılı Programlama Problemlerinde
Özel Kısıtlar . .................................................. 199
Ya-Ya da Kısıtları ................................... 199
Farklı Değerler Alabilen Fonksiyonlar. 200
Karar Probleminde Koşullar ................. 201
Tamsayılı Programlama Problemleri
Çözüm Yaklaşımları ....................................... 202
iv
Ağ Problemleri: En
Kısa Yol Problemi ve
BÖLÜM 6 En Küçük Kapsayan
Ağaç Problemi
Giriş . ............................................................... 157
Ağ Problemlerinde Kullanılan Terminoloji..... 157
En Kısa Yol Problemi: Dijkstra Algoritması.... 160
Dijkstra Algoritması . ............................ 161
En Küçük Kapsayan Ağaç Problemi ............. 165
En Küçük Kapsayan Ağaç Algoritması..... 166
Çok Amaçlı En
İyileme Problemleri
BÖLÜM 8
ve Hedef
Programlama
Giriş . ............................................................... 213
Çok Amaçlı Karar Verme Problemleri .......... 214
Çok Amaçlı En İyileme
Problemlerinin Tek Amaçlı
Problemlere İndirgenmesi .................... 216
Hedef Programlama Problemleri ................. 223
Önsöz
Yöneylem araştırması basitten karmaşığa hemen tüm problemlerin optimum çözümünü
sunmaya çalışan bir alanın genel adıdır. Lojistik sektöründe dağıtımın en uygun (optimum)
rotasının çizilmesi, üretimde hangi üründen
hangi gün ne kadar üretileceği, bilişimde hangi servisin ne zaman devreye alınacağı gibi
günlük hayatın verimini arttırmaya dönük
sorunlara çözüm bulmaya çalışır yöneylem
araştırması. Problemlerin doğası çok faktörlü
olduğundan yöneylem araştırması da çok faktörlü bir yapılanma gösterir. Her bir problemin
doğası farklı olmakla birlikte yöneylem araş-
tırması bize problemleri modellerle anlama ve
modellerle çözüm bulma imkanı tanır. Bu kitapta ülkemizde bulunan Türkçe literatüre ek
olarak yeni bir tarz denenmiştir. Bu yeni tarz,
problemleri derinlemesine anlamaya imkan
tanımaya yardımcı olacaktır. Kitaptan yararlanacak olanlara yardımcı olacağını umuyoruz.
Kitabın genel olarak kullanan herkese yararlı
olmasını umuyoruz.
Editör
Doç.Dr. Murat AKYILDIZ
v
Bölüm 1
öğrenme çıktıları
Yöneylem Araştırmasına Giriş
1
3
2
Yöneylem Araştırmasının Kısa Tarihçesi
1 Yöneylem araştırmasının kısa tarihçesini
açıklayabilme
Doğrusal Programlama Problemleri
İçin Matematiksel Model ve Çözüm
Kavramları
3 Doğrusal programlama problemleri için
matematiksel model ve çözüm kavramlarını
açıklayabilme
2
4
Yöneylem Araştırması, Matematiksel
Programlama ve Doğrusal Programlama
Problemleri
2 Yöneylem araştırması, matematiksel
programlama ve doğrusal programlama
problemlerini tanımlayabilme
Ulaştırma, Atama Problemleri, En
Kısa Yol, En Küçük Kapsayan Ağaç,
Tam Sayılı Programlama, Çok Amaçlı
En İyileme Problemleri ve Hedef
Programlama
4 Ulaştırma, atama problemleri, en kısa
yol, en küçük kapsayan ağaç, tam sayılı
programlama, çok amaçlı en iyileme
problemleri ve hedef programlama
yaklaşımını açıklayabilme
Anahtar Sözcükler: • Yöneylem Araştırması • Matematiksel Programlama • Doğrusal Programlama
• Matematiksel Model • Ulaştırma Problemi • Atama Problemi • En Kısa Yol Problemi
• En Küçük Kapsayan Ağaç Problemi • Tamsayılı Programlama Problemi • Çok Amaçlı Eniyileme
• Hedef Programlama
1
Yöneylem Araştırması
GİRİŞ
Kitabımıza, günümüz optimizasyon veya en
iyileme bilimi içinde büyük bir öneme sahip, ister
mühendislik isterse de ekonomi, işletme, finans,
tıp ve sosyal bilimlerde karşılaşılan birçok problemin çözümü için önemli teorik ve uygulamalı yöntemleri içeren Yöneylem Araştırması bilim dalı ile
ilgili kısa tarihçe ile başlıyoruz.
YÖNEYLEM ARAŞTIRMASININ
KISA TARİHÇESİ
Yöneylem Araştırmasının (YA), bir bilim dalı
olarak ilk defa İkinci Dünya Savaşı yıllarında sistemli bir şekilde uygulandığı fikri kesinlik kazanmıştır. Savaş esnasında, sınırlı kaynakların çeşitli
askerî operasyonlarda etkin bir şekilde kullanılması probleminin çözülmesi için önce İngiliz, daha
sonra ABD yönetimi tarafından çok sayıda bilim
insanı bir araya getirilmiştir. Bu bilim insanlarının oluşturduğu ekip tarafından, üzerinde çalışılan
askerî operasyonlar için matematiksel modeller geliştirilerek en iyi çözümlerin hesaplanması için bilimsel yöntemler uygulanmıştır.
Bir araya getirilen bilim insanları tarafından radar ekipmanlarının etkin şekilde kullanılması için
geliştirilen yöntem, İngiltere’nin Hava Savaşını kazanmasına zemin oluşturdu.
Savaş yıllarında, bilim insanları tarafından geliştirilen matematiksel modellerin, savaştan sonraki
yıllarda sanayide ortaya çıkan çeşitli problemlerin
etkin bir şekilde çözümlenmesinde de büyük katkıları olmuştur.
YA, bir bilim dalı olarak sistemli bir şekilde
İkinci Dünya Savaşı’ndan sonra gelişmeye başlasa
da daha önce de bazı problemlerin çözümlenmesi
için sade sayılabilecek matematiksel modeller önerilmişti. 1937 yılında Von Neyman, 1939 yılında
ise Kantoroviç tarafından, ekonomi problemlerinin çözümlenmesi için doğrusal matematiksel modeller önerilmiştir.
Sovyet bilim insanı L.V. Kantoroviç, 1939 yılında yayımlanan “Üretimin planlanması ve organizasyonu için matematiksel yöntemler” kitabında
ülke çapında sanayide planlamanın optimize edilmesi problemlerini incelemiştir ve bu problemler
için doğrusal programlama modeli geliştirerek çözüm yöntemi önermiştir.
Doğrusal Programlamanın (DP) matematiksel
temellerinin, 1873 yılında Jordan, 1896 yılında
Minkovski, 1903 yılında ise Farkaş tarafından yapılan çeşitli çalışmalarda atıldığı düşünülmektedir. YA alanında yapılan bu çalışmalara, Markov
(1856-1922) tarafından dinamik programlama
alanında, Erlang (1878-1929) tarafından Toplu
Hizmet Teorisi alanında yapılan önemli çalışmaların da eklenmesi gerekiyor.
1947 yılında George Dantzig, YA dalında çok
önemli bulgu olan, doğrusal programlama problemlerinin çözümü için “simpleks yöntemi” geliştirdi. Bütün dünyada çok önemli gelişmelere yol
açan bu olayın tarihçesine göz atalım.
SCOOP (Scientific Computation of Optimal
Programs – Optimal Programların Bilimsel Yöntemlerle Hesaplanması) Projesi, bir Pentagon-temelli (Amerika Birleşik Devletleri) projedir. Hava
Kuvvetleri Araştırma Grubu, 1947 yılı Haziran
ayında oluşturuldu, Ekim 1948 tarihinde SCOOP
olarak adlandırıldı ve 1955 yılında feshedildi. Bu
projenin başkanları ekonomist Marshall K. Wood
ve matematikçi George B. Dantzig idi. SCOOP
Projesinin asıl amacı Hava Kuvvetlerinin taleplerinin programlanması problemine makul çözümler
geliştirmek, örneğin bir savaş planını desteklemek
için zaman aşamalı malzeme taleplerini belirlemek
idi. Dantzig, Wood ile birlikte program planlamasının matematiksel ekonomi teorisini oluşturdu.
Bu program planlaması, aslında kaynak kısıtlamalarını aşmadan amaçları en iyi şekilde karşılayan bir
programın belirlenmesi için bir biri ile rekabet eden
ve bir biri ile bağlantılı aktivitelerin seçilmesi problemi idi. SCOOP Projesi kapsamında Dantzig, bu
tip problemleri çözmek için Simpleks Yöntemi geliştirdi ve hem doğrusal programlama modeli hem
de Simpleks Yöntem, her ikisi test edilerek kanıtlandı. Dantzig’in simpleks algoritması, ulaştırma
problemleri için simpleks algoritması ve doğrusal
programlama ile sıfır toplamlı iki kişilik oyunlar
arasındaki ilişkiler hakkındaki çığır açan çalışmalar
Türkiye’de ilk kez Koopmans’ın editörlüğünü yaptığı ve 1951 yılında John Wiley & Sons tarafından
New York’ta basılan “Activity Analysis of Production and Allocation” kitabında yayımlandı.
Programlama problemleri, hedeflenen amaçların karşılanabilmesi için sınırlı kaynakların etkin
bir şekilde kullanımı ile alakalıdır. Bu tip problem-
3
1
Yöneylem Araştırmasına Giriş
lerin tipik örnekleri olarak ham petrolden çeşitli
yakıt türlerinin elde edilmesi için yapılması gereken rafineri işlemlerini, tedarikçilerden fabrikalara malzeme sevkiyatı problemini, taleplerin karşılanacağı şekilde bir üretim planlama problemini
gösterebiliriz. Bir doğrusal programlama problemi
matematiksel olarak aşağıdaki şekilde gösterilebilir:
Ax ≤ b,
x≥0
kısıtları altında
Enbüyükle (veya Enküçükle) cx.
Burada A, m×n boyutlu matris, b, m×1 boyutlu
sütun vektör, c ise 1×n boyutlu satır vektör olup
problemin parametrelerini, yani problemin verilerini, x ise n×1 boyutlu sütun vektör olup problemin karar değişkenlerini, yani bulunması gerekenleri göstermektedir. Ekonomiden askeriyeye, devlet
yönetiminden sanayiye binlerce çeşit karar probleminin doğrusal matematiksel modeli için kullanılabilecek yukarıdaki ifade şekli ilk kez 1947 yılında
George B. Dantzig tarafından sunulmuştur. Her
ne kadar benzer problemlerin matematiksel ifadesi daha önce 1939 yılında Sovyet Matematikçisi
Leonid V. Kantorovich tarafından verilmiş olsa da
doğrusal programlama problemi için Dantzig tarafından sunulan genel formülasyon, bu problemler
için geliştirdiği ve simpleks yöntem adlandırılan
yöntemle birleştirilince, 20. yüzyılın ikinci yarısında, karar problemleri için bir devrim niteliği taşımıştır. “Doğrusal Programlama” terimi Dantzig’e,
ekonomist Tjalling C. Koopmans tarafından teklif
edilmiştir.
Kaynakların optimal atanması teorisine katkılarından dolayı Kantorovich ve Koopmans 1975 yılında Nobel Ekonomi Ödülüne layık görülmüşler.
Doğrusal programlamanın ortaya çıkış tarihini
iyi bilen birçok insan, Dantzig’in Koopmans ve
Kantorovich ile birlikte Nobel Ekonomi Ödülüne
layık gösterilmemesine hem hayret etmiş hem de
hayal kırıklığına uğramıştır. Michel L. Balinski’nin
(1991) yazdığına göre Koopmans, bu ödülün
Dantzig ile paylaşılmaması (ödül en fazla üç kişiyle
paylaşılabiliyordu) olayına son derece üzülmüş ve
Laxenburg, Avusturya’daki International Institute
for Applied Systems Analysis (IIASA) Enstitüsüne
40,000 Amerikan doları bağışlamıştır. Bu rakam
4
tam olarak, ödül Dantzig ile paylaşılmış olsa idi,
onun alacağı miktara eşit bir rakam idi. Bu kişilerin üçü de farklı zamanlarda IIASA enstitüsünde çalışmış ve orada görüşmüşlerdi. Saul Gass’in
yazdığına göre (2005), Koopmans onunla görüşmesinde (ödülü aldıktan sonra), ödülü almaktan
duyduğu memnuniyetsizliği dile getirmiş ve ödülü
almadan önce Kantorovich’e mektup yazarak ödülü reddetmelerini teklif ettiğini ve aslında bu kararın onların ikisi için de özellikle Kantorovich için
çok zor bir karar olduğunu anlatmıştır. Meğerse
Kantorovich’in ilgili çalışması Sovyetler Birliği’nde
ilk yayımlandığı zaman çok az kabul görmüştür.
Kantorovich ölümünden sonra basılmış bir eserinde (1987) yazıyordu: “1939 yılının ilkbaharında
ben Politeknik Enstitüsüne ve Âlimler Evine verdiğim raporlara, bu çalışmalar matematiksel yöntemler kullandığından dolayı ve Batı’da matematiksel
ekonomi okullarının anti Marksist olduğu ve ekonomideki matematik modellerinin aslında kapitalizmi savunduğu iddiası ile itiraz edildi”. Dantzig
1963 yılında yazıyordu: “Kantorovich’in, belirli sınıf önemli üretim problemlerinin iyi tanımlanmış
matematiksel modellere sahip olduğunu ve nümerik çözüme yatkın olduklarını ve nümerik olarak
çözülebileceğini ilk kez ifade eden kişi olduğu kabul edilmelidir”.
Resim 1.1 Yöneylem Araştırmasının Önemli İsimleri
(Soldan sağa Koopmans, Dantzig ve Kantorovich,
International Institute for Applied Systems Analysis
(IIASA), Laxenburg, Avusturya)
1
Yöneylem Araştırması
1950’li yıllardan itibaren teorik ve uygulamalı
matematiksel programlama bilim dalında sağlanan
önemli gelişmeler, sanayide ve ekonomide karşılaşılan büyük boyutlu problemlerin matematiksel modellerinin geliştirilmeye başlanması, bu problemlerin en iyi çözümlerinin karakterizasyonu alanında
elde edilen önemli teorik bulgular ve çözümlerin
hesaplanması için geliştirilen yöntemler, yöneylem
araştırmasının önemini ve rolünü daha da artırdı.
Daha sonraki yıllarda, bilgisayarların hayatımıza girmesi ile yöneylem araştırmasında bir devrim
yaşandığını söyleyebiliriz. Öyle ki, elle çözülmesi
mümkün olmayan ve büyük boyutlu hesaplamaların talep edildiği karmaşık problemler için, bilgisayarların gelişmesi ile daha kolay ve kısa zamanda
çözümlenebilme olanağı sağlandı.
1980’li yıllarda kişisel bilgisayarların ve yöneylem araştırması yazılım paketlerinin geliştirilmesi
ile YA bilim dalı daha ileri seviyelere ulaşmıştır.
Günümüzde var olan birçok bilgisayar yazılım
paketlerinde, çeşitli yöneylem araştırması problem
türleri için çözücüler mevcuttur (ASPE, LİNDO,
LİNGO, CPLEX, GAMS,…) ve bu da büyük bo-
yuttaki bazı problem türlerinin çözümlerinin bulunmasına olanak sağlamaktadır.
YA yöntemlerinin uygulanması, birçok ülkenin
ekonomisinde verimlilik artışına önemli katkılar
sağlamıştır.
Çok sayıda ülkenin katılımı ile oluşturulmuş
Uluslararası Yöneylem Araştırması Toplulukları
Federasyonu (IFORS), dünyanın çeşitli yerlerinde konferanslar düzenliyor ve uluslararası düzeyde
dergiler yayımlanmasını koordine ediyor. Bunun
dışında Yöneylem Araştırması ve Yönetim Bilimleri
Enstitüsü (INFORMS) de uluslararası YA topluluğu olarak faaliyet göstermektedir.
Peki, ister doğrusal olsun isterse de doğrusal
olmayan, programlama derken insanlar neyi kastediyor, biraz bunu irdelemeye çalışalım. Aslında dönüp bu bilim dalının tarihine bir göz attığımızda,
kısıtlı kaynakların bu veya diğer amaçla daha etkin,
daha verimli kullanılmasının yöntembilimini (metodolojisini) gördüğümüzü söyleyebiliriz. Aslında
bu tür problemlerle sadece üretimde, lojistikte,
endüstride, ekonomide değil, günlük hayatımızın
belki her anında karşılaşmaktayız.
Öğrenme Çıktısı
1 Yöneylem araştırmasının kısa tarihçesini açıklayabilme
Araştır 1
İlişkilendir
Anlat/Paylaş
Yöneylem araştırmasının
tarihçesine göz atarak bu
bilim dalının neden günümüzde en çok önemsenen
bilim dallarından biri olduğunu açıklayın.
Yöneylem araştırmasının
tarihçesine bakarak, onu
günümüz mühendislik ve
ekonomi alanlarıyla ilişkilendirin.
Yöneylem araştırması geçmişine bakarak, günlük
hayatımızda ve çevremizde
gördüğümüz ilgili uygulamaları yorumlayın.
YÖNEYLEM ARAŞTIRMASI, MATEMATİKSEL PROGRAMLAMA VE
DOĞRUSAL PROGRAMLAMA PROBLEMLERİ
Bu bölümde, günümüzde çok kullanılan ve bu kitabın da ana konusu olan yöneylem araştırması, matematiksel programlama ve doğrusal programlama problemleri terimlerini açıklamaya çalışacağız. Açıklamalarımıza sade bir örnekle başlayacağız.
Okula Nasıl Gitmeliyim: Her sabah evden çıkarken “okula gitmek için hangi yolu seçmeliyim” sorusunu yanıtlamak zorunda kalıyorum. Otobüs mü, metro mu, metrobüs mü, dolmuş mu ve hangisi hangi
sırada tercih edilmeli? Otobüsü seçersem aslında yolculuk daha ucuz olabilir, ama trafiğe takılma olasılığı
çok yüksek, derse geç kalabilirim. Dolmuşla da aynı problem yaşanabilir. Metro veya metrobüsü tercih
edersem, en yakın istasyona ulaşmak için önce bisiklet veya başka bir vasıta kullanmam gerekecek. Bir de
5
1
Yöneylem Araştırmasına Giriş
sabah saatlerindeki yoğunluğu göz önünde bulundurmam gerekiyor. Ayrıca seçmiş olacağım vasıta direk
okula götürmüyor, indikten sonra başka bir vasıta kullanmam ve aktarma yapmam gerektiğini de düşünmem lazım. Bunları düşününce en iyi seçeneği nasıl bulabilirim sorusunu yanıtlamak çok da kolay olmuyor, olası seçeneklerin sayısı çığ gibi artıyor. Aslında bu seçenekler, birer uygun çözümler gibi duruyor.
En iyilemem gereken amaç, en önemli kaynak olan ulaşım için kullanacağım zamanın en küçüklenmesi.
Demek ki, bu programlama probleminin amacı, ortaya çıkan kısıtları (örneğin, metrodan önce bisiklete
binmeliyim veya en fazla üç aktarma yapabilirim) gözeterek olası bütün uygun seçenekler içerisinden,
zamanı en küçükleyecek olanın seçilmesidir. Bu seçeneğe en iyi çözüm veya optimal çözüm denir. Farklı
programları zaman ölçütüne göre kıyaslayabilsem, aslında herhangi iki (uygun) seçenekten daha kötü olanı
eleyebilirim. Eğer bütün seçenekleri tam olarak zaman açısından değerlendirebilsem, en iyisini de seçebilirim demektir. Aslında bu problem üzerinde en iyi çözüm hangisi diye düşündüğüm zaman bir problemin
daha ortaya çıktığını fark ettim: en ucuz ulaşım seçeneği hangisi? Hatta bir tane daha aklıma geldi: en kısa
yoldan okula nasıl ulaşabilirim. Maalesef bu problemler birbirine eş değer olmayabilir. Örneğin en kısa
yoldan ulaşımı sağlayan seçenek, en kısa zamanda ulaşmamı sağlamayabilir, sebep: örneğin, en kısa yolda
olası trafik sıkışıklığı ve/veya trafik ışıklarının fazlalığı.
Her ne kadar bu problemlerin doğrusal denklemlerle ifade edilip edilemeyeceği belli olmasa da bir sürü
olası uygun çözüm seçenekleri içerisinden en iyisinin nasıl seçileceği problemi olarak tipik bir matematiksel programlama problemi olduğu kesindir.
dikkat
Matematiksel Programlama teriminde yer alan “programlama” kelimesi, Bilgisayar Programlamada kullanılan
“bilgisayar programı” veya “bilgisayar kodu” kelimesi ile karıştırılmamalıdır. Her ne kadar anlam itibarıyla bu
terimler birbirine yakın olsalar da Matematiksel Programlamada kullanılan “programlama” kelimesi, belli bir
hedefe ulaşmak veya belli bir amacı veya amaçları en iyilemek için, genellikle bizim kontrolümüz altında olmayan
kısıtları da gözeterek gerekli adımların veya eylemlerin belirlenmesi, bir başka deyimle programlanması anlamında
kullanılmaktadır. Bu adımlar programlanırken, elimizdeki mevcut uygun çözümden daha iyi bir çözüm ele etmek
için, hangi yönde hangi eylemin gerçekleştirileceğine karar verilmesinin araştırılması da bir bilim dalı olarak uygulamalı matematiksel programlamanın veya yöneylem araştırmasının temel prensibini oluşturmaktadır. Dolayısıyla
Yöneylem Araştırması, elimizdeki kısıtlı kaynakların, var olan kıstaslar gözetilerek belirlenen amaçlara ulaşılması
ve/veya verimliliğin olabildiğince artırılması için gerekli bilimsel eylemlerin araştırılması ve uygulanması bilimidir.
Öğrenme Çıktısı
2 Yöneylem araştırması, matematiksel programlama ve doğrusal programlama
problemlerini tanımlayabilme
Araştır 2
İlişkilendir
Anlat/Paylaş
Yöneylem araştırması, matematiksel
programlama
ve doğrusal programlama
problemlerinin tanımlarını
araştırın.
Yöneylem araştırması, matematiksel
programlama
ve doğrusal programlama
problemlerini günlük hayatınızda karşılaştığınız problem örnekleri ile karşılaştırarak ilişkilendirin.
Yöneylem araştırması, matematiksel programlama
ve doğrusal programlama
problemlerinin farklılıklarını ve benzerliklerini yorumlayın.
6
1
Yöneylem Araştırması
DOĞRUSAL PROGRAMLAMA
PROBLEMLERİ İÇİN
MATEMATİKSEL MODEL VE
ÇÖZÜM KAVRAMLARI
Yöneylem Araştırmasının bir bilim dalı olarak
hayatımıza girdiği ve sistemli bir şekilde geliştirilmeye başlandığı 20. yüzyılın ortalarından itibaren,
bütün dünyada yaygın olarak kullanılan bir fikir,
hiçbir hipotezin, matematiksel modeli oluşturularak çözümü bulunmadan, inandırıcı ve ikna edici
olamayacağı fikridir. Yöneylem Araştırmasını bir
bilim dalı olarak itibarlı kılan en önemli faktörlerden biri de bu olsa gerek. Çünkü Yöneylem Araştırması çatısı altında öğrenilen problemler için de
benimsenmiş olan araştırma yöntemi, öncelikle bu
problemlerin, mümkünse problemi birebir yansıtan bir matematiksel modelinin oluşturulması ve
daha sonra bu modelin mümkün olan en iyi çözümünün bulunmaya çalışılması. Bu mümkün
olmadığında sadeleştirilmiş, ama gerçeğe yakın bir
matematiksel model oluşturularak bu modelin en
iyi çözümünün veya yaklaşık en iyi çözümünün
bulunmaya çalışılmasıdır.
Yöneylem Araştırması, bilim dalı kapsamında
öğrenilen en iyileme problemleri, bu problemlerin doğası itibarıyla doğrusal veya doğrusal olmayan, tek amaçlı veya çok amaçlı, kesikli (örneğin
tam sayılı) veya sürekli karar değişkenlerine sahip,
kısıtlı veya kısıtsız problemler olarak tasnif edilebilmektedirler.
Bu kitapta öğreneceğimiz doğrusal programlama problemleri genel matematiksel programlama
problemlerinin özel bir sınıfını oluşturmaktadır.
Doğrusal problemlerin tipik özelliği, onların doğrusal denklem ve eşitsizliklerle ifade edilebilirliğidir.
Örneğin, 1 ton ürünü A şehrinden B şehrine
götürmek için nakliye şirketi 1000 lira talep ediyor
ve indirim yapmıyorsa, 10 ton ürün için ödenmesi
gereken meblağ 10000 lira olacaktır. Bu durumda
toplam ödenmesi gereken meblağ, taşınacak ürün
miktarı ile doğru orantılı olacak ve bu durum doğrusal bir denklemle ifade edilebilir olacaktır. Fakat
nakliye şirketi taşınacak 5 ton ürün için 10 lira, 10
ton ürün için 17 lira, 20 ton ürün için de 28 lira
indirim yaparsa, bu sefer taşıma maliyeti, taşınacak ürün miktarı ile doğru orantılı olmayacaktır.
Böylece, doğrusal programlama problemleri, hem
amaç fonksiyonunu hem de kısıtları ifade eden
denklem ve eşitsizliklerin doğrusal olacağı matematiksel programlama problemleridir.
ÖRNEK 1.1 Bir mandıracı 1 kg tereyağı üretmek için 5 litre süt, 1 kg yoğurt üretmek için de 2
litre süt kullanmaktadır. Bu mandıracı, toplam 10
kg tereyağı ve 20 kg yoğurt üretmek için ne kadar
süt kullanmalıdır?
ÇÖZÜM: Bu mandıracı 1 kg tereyağı üretmek
için 5 litre süt kullandığına göre 10 kg tereyağı
üretmek için 10×5= 50 litre süt; 1 kg yoğurt üretmek için de 2 litre süt kullandığına göre 20 kg yoğurt için 20×2= 40 litre süt kullanacaktır. Böylece
10 kg tereyağı ve 20 kg yoğurt üretmek için toplam
50 + 40 = 90 litre süt kullanmalıdır.
ÖRNEK 1.2 Bir mandıracı 1 kg tereyağı üretmek için 5 litre süt, 1 kg peynir üretmek için de 4
litre süt kullanmaktadır. Bu mandıracı, ürettiği 1
kg tereyağının satışından 25 TL ve 1 kg peynirin
satışından da 20 TL kâr elde etmekte, fakat gün
içerisinde en fazla 8 kg tereyağı satabilmektedir.
Mandıracı 1 günde en fazla 60 litre süt kullanabildiğine göre bu mandıracı bir günde en büyük
kârı elde etmek için ne kadar tereyağı ve ne kadar
peynir üretmelidir?
ÇÖZÜM: Öncelikle bize tarif edilen bu problemin matematiksel modelinin nasıl oluşturulacağını öğrenelim. Problem, bize verilen kısıtlamalar
altında en büyük kârı sağlayacak iki ürünün üretim
miktarlarının bulunması problemidir. Şimdilik bilinmeyen bu miktarlar bizim karar değişkenlerimiz
olacaktır. Bu amaçla, tereyağının üretilecek miktarını x ile peynirin üretilecek miktarını da y ile işaretleyelim. Tarif edilen problemde toplam üretim
miktarlarının ve toplam kâr miktarlarının birim
miktarlara bağlı parametrelerle doğru orantılı olduğundan, üretilecek tereyağı için kullanılacak süt
miktarının toplam 5x litre, peynir için ise toplam
4y litre olacağını hesaplıyoruz. Elimizde günlük
kullanılabilir en fazla süt miktarı 60 litre olduğu
bilgisini de kullanırsak, bu bilgileri matematiksel
olarak aşağıdaki şekilde ifade edebiliriz:
5x + 4y ≤ 60
(1)
Öte yandan, mandıracının bir günde en fazla 8
kg tereyağı satabildiği bilgisini de
x ≤ 8
(2)
şeklinde ifade ederiz. Nihayet, bu karar değişkenleri, üretilecek tereyağı ve peynir miktarlarını ifade
ettiklerinden, bunlar için doğal olarak negatif olmama koşulu kullanmamız gerektiği sonucuna varırız.
7
1
Yöneylem Araştırmasına Giriş
x ≥ 0, y ≥ 0
(3)
(1) - (2) - (3) ifadeleri bizim problemin matematiksel modelinin kısıtlarını ifade etmektedir. Şimdi
problemin amaç fonksiyonunu oluşturalım. Amacımızın, bu iki ürünün satışından elde edilecek toplam karı en büyüklemek olduğunu hatırlayalım. Bu
ürünlerin satışından elde edilecek kârın, 1kg ürünün satışından elde edilecek kârla doğru orantılı
olacağını göz önünde bulunduralım. 1 kg tereyağının satışından 25 TL ve 1 kg peynirin satışından da
20 TL kâr elde edildiğine ve toplam x kg tereyağı ve
y kg da peynir üretileceğine göre, toplam kâr
25x + 20y
şeklinde ifade edilir. Bu ifadeye problemin amaç
fonksiyonu denir. Şimdi hem amaç fonksiyonu hem
de kısıtlar formüle edildiğine göre, problemin matematiksel modeli aşağıdaki şekilde yazılacaktır:
İlerde, “kısıtları altında” ve “En büyükle” ifadeleri de kısaltılarak sırası ile “k.a.” ve “Enb” şeklinde
kullanılacaktır.
Şimdi, matematiksel modelini oluşturduğumuz
bu problemin en iyi çözümünü bulmaya çalışalım.
(1) - (2) - (3) kısıtlarını sağlayan (x, y) çiftine problemin uygun çözümü, bu çözümler içerisinden amaç
fonksiyonuna en büyük değeri sağlayacak çözüme de
problemin en iyi çözümü diyeceğiz. Tereyağının sağladığı kâr, peynirin sağladığı kârdan daha büyük olduğundan, en büyük kârı sağlayacak üretim miktarının,
tereyağı için olabilecek en fazla üretim miktarı, yani
x = 8 kg olacağını kolaylıkla bulabiliriz. Bu durumda
8 kg tereyağı için 5×8 = 40 litre süt gerektiğini göz
önünde bulundurarak, elimizdeki günlük süt miktarının geri kalan kısmının tamamen peynir üretimi
için kullanılması gerektiğine karar verebiliriz:
40 + 4y = 60 → y = 5
Böylece, problemin en iyi çözümü: “mandıracı
günlük 8 kg tereyağı, 5 kg peynir üretirse en büyük
kâra ulaşabilir”, yani
5x + 4y ≤ 60
x≤8
x ≥ 0,y ≥ 0
kısıtları altında
En büyükle 25x + 20y
x = 8, y = 5
dikkat
Bu matematiksel modelin amaç fonksiyonu ve
kısıtları doğrusal ifadelerle tarif edildiğinden, bu
bir doğrusal programlama problemidir.
Kitabın 3. ünitesinde doğrusal programlama
problemlerinin çözümü için Simpleks Yöntemi öğreneceğiz. Simpleks Yöntem, bir doğrusal programlama probleminin kısıtları ile tarif edilen uygun çözüm alanının uç noktalarını mümkün olan en kısa
yoldan dolaşarak en iyi çözümü veren uç noktayı
bulan bir yöntemdir. Uç noktanın ayrıntılı tanımı
da bu ünitede verilecektir.
Öğrenme Çıktısı
3 Doğrusal programlama problemleri için matematiksel model ve çözüm kavramlarını
açıklayabilme
Araştır 3
İlişkilendir
Anlat/Paylaş
Bir karar probleminin en iyi
çözümünün bulunabilmesi
için bu problemin matematiksel modeline neden
ihtiyaç duyulabileceğini ve
bunun nasıl yapılabileceğini araştırın.
Bir doğrusal karar problemine bir çözüm üretebilmek yaklaşımı ile bu problem için bir matematiksel
model geliştirilmesi yaklaşımlarını ilişkilendirin.
Sizin veya çevrenizden bir kişinin her gün karşılaştığınız
basit bir problemin matematiksel modelinin oluşturularak
çözümünün bulunabilmesi
veya neden bulunamaması
durumunu tartışın ve bulduğunuz çözümü yorumlayın.
8
1
Yöneylem Araştırması
ULAŞTIRMA, ATAMA, EN
KISA YOL, EN KÜÇÜK
KAPSAYAN AĞAÇ, TAM SAYILI
PROGRAMLAMA, ÇOK AMAÇLI
EN İYİLEME PROBLEMLERİ
VE HEDEF PROGRAMLAMA
PROBLEMLERİ
Kitabın 4. ve 5. ünitelerinde sırasıyla, Yöneylem Araştırmasının en önemli problemlerinden,
Atama problemini, ağ problemleri olarak En Kısa
Yol problemi ile En Küçük Kapsayan Ağaç problemlerini ve bu problemlerin en iyi çözümlerinin
bulunması için yöntemleri de öğreneceğiz. En kısa
yol problemi, bir yerden bir başka yere gidilebilecek çok sayıda yol seçeneği içinden en kısasının
nasıl seçilmesi gerektiği ile ilgili bir problemdir.
Bu problemler, şehirlerarası taşımacılıkta, üretilmiş
ürünlerin tedarikçilere ulaştırılması için en iyi rotanın (en kısa veya en ucuz veya en hızlı ) seçilmesi
probleminde ve benzeri durumlarda karşılaşılan en
önemli problem sınıfında yer almaktadır. En küçük kapsayan ağaç problemi ise örneğin; doğalgaz,
su, internet veya telefon şebekelerinin en kapsayıcı
şekilde ve en düşük masrafla yapılabilmesi problemlerinde karşılaşılmaktadır. Atama problemleri
ise bir planlama periyodunda yapılması planlanan
işleri, farklı fiyat veya verimlilik göstergesi ile yapabilecek farklı kişilere veya şirketlere, toplam verimliliği en büyükleyecek (veya toplam yapılma
maliyetini en küçükleyecek) atamanın gerçekleştirilmesi problemi olarak tanımlanmaktadır. Atama
problemini mandıracı örneğimiz üzerinde anlamaya çalışalım.
ÖRNEK 1.3 Çiftçimizin A ve B köylerinde
birer tane mandırasının olduğunu ve bu mandıralarda tereyağı ve peynir üretebildiğini varsayalım.
A köyündeki mandırada üretilen 1 kg tereyağının
maliyeti 18 TL, 1 kg peynirinki ise 13 TL’dir. B
köyündeki mandırada ise 1 kg tereyağının üretim
maliyeti 20 TL, 1 kg peynirinki ise 12 TL’dir. Çiftçimizin her iki köydeki mandıraları kullanmak istediğini ve her iki ürünü de üretmek istediğini göz
önünde bulundurarak, hangi ürünün hangi köyde
üretilmesi gerektiğine karar vermesi gerekiyor.
ÇÖZÜM: Basit bir kıyaslamayla tereyağının
A köyünde, peynirin ise B köyündeki mandıraya
atanmasının, maliyetin en küçüklenmesi açısından
en iyi çözüm olacağı görülmektedir.
dikkat
Atama problemlerinde her bir işin yapılmış olması ve işi yapabilen her bir birime de atama
yapılmasının gerekliliği unutulmamalıdır.
Kitabın 6. ünitesinde matematiksel programlamada önemli bir yer tutan tam sayılı programlama problemlerini öğreneceğiz. Doğası itibarıyla
bu problemlerin modellenmesinde kullanılan karar
değişkenleri sadece tam sayı değerleri alabilmektedir. Bu durum hem problemlerin matematiksel
modellerinin oluşturulmasını hem de en iyi çözümlerinin bulunmasını zorlaştırmaktadır. Örneğin, yukarıdaki mandıracı örneğinde (bakınız
Örnek 1.2) herhangi bir sebepten (örneğin aniden
oluşan olumsuz üretim koşulları yüzünden) sadece
bir ürünün üretilmesi gerektiği şeklinde bir kısıtlama olması durumunda aşağıdaki şekilde karar
değişkenleri kullanılabilirdi. Örneğin, x değişkeni
tereyağının y de peynirin üretilip üretilmeyeceği ile
ilgili değişkenler olsaydı, bu değişkenler sadece 0
veya 1 değerleri alabilecekti, yani x = 0, tereyağının
üretilmemesi, x = 1 ise üretilmesi gerektiği durumlarını gösterecekti. Bu durumda iki üründen sadece
bir tanesinin üretilmesi gerektiği şeklindeki kısıtlama da x + y = 1 denklemi ile modellenebilir.
Kitabın 7. ünitesinde Ulaştırma Problemlerini
öğreneceğiz. Yukarıda incelediğimiz Örnek 1.2’de
mandıracı problemi üzerinde bu problem türünü
anlamaya çalışalım.
ÖRNEK 1.4 Mandıracımızın iki farklı köyde
farklı kapasitelere sahip mandıralarda tereyağı ürettiğini ve tereyağını şehirdeki farklı talep miktarlarına sahip 4 adet dükkâna dağıttığını varsayalım.
Köylerden dükkânlara olan mesafeler farklı olduğuna göre farklı köylerden farklı dükkânlara ulaştırma masrafları da farklılaşmaktadır. Bu durumda mandıracı, her dükkânın talebini karşılayacak
şekilde ve ulaştırma masraflarını en küçükleyecek
şekilde, hangi mandıradan hangi dükkâna ne kadar
ürün gönderilmesine karar vermelidir. Bu tür problemlere ulaştırma problemleri denir.
9
1
Yöneylem Araştırmasına Giriş
dikkat
Ulaştırma problemlerinde tedarikçilerin toplam
üretim kapasitesinin, siparişçilerin toplam talep
miktarına eşit olmalıdır.
Kitabın 8. ünitesinde ise Hedef Programlama
Problemlerini öğreneceğiz. Bu problemler, çok
amaçlı (yani birden fazla amacın en iyilenmesi gerektiği problemler) doğrusal programlama problemlerinin özel bir türü olup belirlenmiş hedeflerin
tutturulamaması durumunda ceza uygulaması yapılan problemlerdir. Hedef programlama problemlerini daha iyi anlamak için mandıracı problemimizin aşağıdaki versiyonunu ele alalım.
ÖRNEK 1.5 Mandıracımız ürettiği tereyağını şehirdeki 3 farklı dükkâna satmak istemekte ve
günlük ürettiği ürünlerinin taşınması için KAMYON şirketi ile anlaşmak istemektedir. Mandıracımızın 3 tane hedefi bulunmaktadır.
Hedef 1: D1 dükkânına en az 40 ton ürün gönderilmeli;
Hedef 2: D2 dükkânına en az 60 ton ürün gönderilmeli;
Hedef 3: D3 dükkânına en az 35 ton ürün gönderilmeli;
KAMYON şirketi ürünleri, farklı kapasite ve
teknik özelliklere sahip iki tür kamyonla taşımayı
planlamaktadır: K1 türü kamyon ve K2 türü kamyon. Anlaşma gereği taşıma için en fazla 60,000
TL harcanabileceği belirlenmiştir. Kamyonların
teknik özellikleri ve dükkânlara ulaşım koşulları
göz önünde bulundurularak bu kamyon türleri için
birim taşıma maliyetleri ve her dükkâna bir kamyonun günlük taşıma kapasiteleri (ton cinsinden)
belirlenmiş ve aşağıdaki TABLO 1.1.’de verilmiştir. Örneğin, K1 satırı ile D1 sütununun kesişmesindeki 7 sayısı, K1 tür kamyonun 1 tanesinin bir
günde D1 dükkânına 7 ton ürün taşıyabileceğini
göstermektedir. K1 satırının sonundaki 1000 sayısı
ise, K1 türündeki bir adet kamyonun günlük kullanım (kira) maliyetinin 1000 TL olduğunu göstermektedir. KAMYON şirketi Mandıracının ürünlerini taşımak ve hedeflerini tutturabilmek için her
kamyon türünden kaç tane kullanılması gerektiğini
belirlemelidir.
Tablo 1.1 Örnek 1.5 ile ilgili KAMYON şirketinin veri tablosu
Kamyon/Dükkan
Bir Kamyonun Günlük Kullanım
Maliyeti (TL)
D1 (ton)
D2 (ton)
D3 (ton)
K1
7
10
5
1000
K2
3
5
4
600
Hedefler
40
60
35
ÇÖZÜM:
Karar değişkenlerimiz;
x1 = kullanılacak K1 tür kamyon sayısı,
x2 = kullanılacak K2 tür kamyon sayısı,
Bu durumda, Mandıracının hedeflerini karşılamak için yukarıda sözel olarak ifade edilen hedef ve kıstaslar aşağıdaki şekilde matematiksel olarak ifade edilebilir:
10
7x1 + 3x2 ≥ 40
(D1 dükkânı için hedef kısıtı)
10x1 + 5x2 ≥ 60
(D2 dükkânı için hedef kısıtı)
5x1 + 4x2 ≥ 35 (D3 dükkânı için hedef kısıtı)
1000x1 + 600x2 ≤ 60.000
(bütçe kısıtı)
1
Yöneylem Araştırması
Kitabın 8. ünitesinde bu problemi kapsamlı bir şekilde araştıracağız ve aslında yukarıdaki kısıtları sağlayan uygun çözümün bulunmadığını göstereceğiz. Bu ise Mandıracının hedeflerinin tutturulamayacağı
anlamına gelmektedir. Bu durumda Mandıracı, her bir dükkâna hedeften eksik ulaştırılan her ton ürün
için aşağıdaki şekilde bir para cezası uygulamaktadır.
• D1 dükkânına eksik ulaştırılan her bir ton ürün için kayıp satış tazminatı olarak 20000 TL ceza;
• D2 dükkânına eksik ulaştırılan her bir ton ürün için kayıp satış tazminatı olarak 10000 TL ceza;
• D3 dükkânına eksik ulaştırılan her bir ton ürün için kayıp satış tazminatı olarak 5000 TL ceza.
Şimdi ceza durumunu dikkate alarak problemin yeni matematiksel modelini oluşturmak için yeni karar değişkenlerine ihtiyaç duyulacaktır:
s1 = D1 dükkânına eksik ulaştırılan ürün miktarı (ton),
s2 = D2 dükkânına eksik ulaştırılan ürün miktarı (ton),
s3 = D3 dükkânına eksik ulaştırılan ürün miktarı (ton),
Yeni karar değişkenlerini de kullanarak ve toplam cezayı en küçükleyecek matematiksel model aşağıdaki şekilde yazılabilir:
7x1 + 3x2 + s1 ≥ 40
(D1 dükkânı için hedef kısıtı)
10x1 + 5x2 + s2 ≥ 60
(D2 dükkânı için hedef kısıtı)
5x1 + 4x2 + s3 ≥ 35
(D3 dükkânı için hedef kısıtı)
1000x1 + 600x2 ≤ 60.000
(bütçe kısıtı)
kısıtları altında
En küçükle z = 20000 s1 + 10000 s2 + 5000 s3
Bu problemi kitabımızın 8. ünitesinde çözerek en iyi çözümünü hesaplayacağız. Analiz edebilmeniz
için bu çözümü açıklıyoruz:
x1 = 6, x2 = 0, s1 = 0, s2 = 0, s3 = 5, z = 25000
Bu çözümün yorumu: Kamyon şirketi toplam 25000 TL ceza ödemiştir (z = 25000), K1 tür kamyondan 6 adet kullanılmış (x1 = 6), K2 tür kamyon hiç kullanılmamıştır (x2 = 0), D1 dükkânı için Mandıracının hedefi 2 ton fazla ulaştırılacak şekilde tutturulmuştur.
7×6 + 3×0 + 0 = 42
D2 dükkânı için Mandıracının hedefi tam tamına tutturulmuştur.
10×6 + 5×0 + 0 = 60
D3 dükkânı için Mandıracının hedefi 5 ton eksik ulaştırılarak (s3 = 0) tutturulamamıştır.
5×6 + 4×0 + 5 = 35
11
1
Yöneylem Araştırmasına Giriş
dikkat
En iyi çözümün bu şekilde çıkmasının muhtemel sebebi, D3 dükkânına eksik ulaştırılacak ürün miktarı için kesilecek cezanın en düşük olmasıdır.
Sevgili okurumuz, böylece, bu kitap kapsamında sizlerle paylaşacağımız bütün konular hakkında kısa
bilgilendirme yapmış olduk. Sizle için büyük bir özenle hazırladığımız bu kitabın sizlere maksimum yarar
sağlaması ümidi ile başarılar diliyoruz.
Öğrenme Çıktısı
4 Ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan ağaç, tam sayılı
programlama, çok amaçlı en iyileme problemleri ve hedef programlama yaklaşımını
açıklayabilme
Araştır 4
İlişkilendir
Anlat/Paylaş
Bir karar probleminin en iyi
çözümünün bulunabilmesi
için bu problemin yukarıda
açıklanan problem türlerinden hangisine ait olacağı
bilgisine neden ihtiyaç duyulabileceğini araştırın.
Karar problemlerini ve onların ait olduğu problem
türlerini, bu problemler
için geliştirilebilecek matematiksel model ve çözüm
yöntemleri açısından ilişkilendirin.
Kendinizle ilgili bir problemin hangi türden olduğunu
yorumlayın.
12
1
Yöneylem Araştırması
1
öğrenme çıktıları ve bölüm özeti
Yöneylem araştırmasının
kısa tarihçesini
açıklayabilme
Yöneylem Araştırmasının Kısa
Tarihçesi
Bu bölümde, kitabımızda yer alacak tüm bölümlerle ilgili kısa açıklamalar verilmiş ve bu açıklamalar örneklerle desteklenmiştir. Öncelikle Yöneylem Araştırmasının ortaya çıkışı somut tarihî bilgilerle aktarılmış
olup, bu bilim dalının tarihe yön veren bulgularının nasıl bir tarihî ortamda ve kimler tarafından oluşturulduğu bilgileri sizlerle paylaşılmıştır.
2
Yöneylem araştırması, matematiksel
programlama ve doğrusal programlama
problemlerini tanımlayabilme
Yöneylem Araştırması,
Matematiksel Programlama
ve Doğrusal Programlama
Problemleri
Bir bilim dalı olarak, bir sistemin sahip olduğu olanakların ve sınırlı kaynakların kullanılması ile bu sistemin verimliliğinin ve daha etkin çalışabilmesinin yollarının öğrenilmesi, Yöneylem Araştırmasının en
önemli özelliklerinden biridir. Bu özelliklerinden dolayı, Yöneylem Araştırmasının, Uygulamalı Matematiksel Programlama olarak da anılması tesadüf değildir. Bu bölümde, yöneylem araştırması ve genel olarak
matematiksel programlama terimleri karşılaştırmalı olarak yorumlanmış ve matematiksel programlamanın
en sade ve belki de en çok kullanılan dallarından biri olan doğrusal programlamaya geniş bir yer verilerek
bu problem türünün tanımı ve çözüm yöntemleri ayrıntılı bir şekilde araştırılmıştır.
13
1
Yöneylem Araştırmasına Giriş
öğrenme çıktıları ve bölüm özeti
3
Doğrusal programlama problemleri
için matematiksel model ve çözüm
kavramlarını açıklayabilme
Doğrusal Programlama
Problemleri İçin Matematiksel
Model ve Çözüm Kavramları
Bu bölümde, doğrusal programlama problemleri, bu problem türünün ayrıcalıklı özellikleri ve çözüm ve
en iyi çözüm kavramları kısaca yorumlanmıştır. Yöneylem Araştırmasının bir bilim dalı olarak uygulamalı
matematiksel programlama bilim dalı ile etkileşimli öğrenilmesinin nedenleri de bu bölümde açıklanmıştır.
Söz konusu problemin matematiksel modelinin oluşturulmasından başlayarak en iyi çözümünün bulunmasına kadar hangi adımların hangi sırada uygulanacağı, dolayısı ile bir çözüm sürecinin nasıl programlanacağı
bilgisi de bu bölümde açıklanmıştır.
4
Ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan
ağaç, tam sayılı programlama, çok amaçlı en iyileme
problemleri ve hedef programlama yaklaşımını açıklayabilme
Ulaştırma, Atama Problemleri, En Kısa
Yol, En Küçük Kapsayan Ağaç, Tam Sayılı
Programlama, Çok Amaçlı En İyileme
Problemleri ve Hedef Programlama
Bu bölümde ayrıca ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan ağaç problemlerinin tanımları ve çözüm yöntemleri hakkında da kapsamlı bilgiler sizlerle paylaşılmış ve bu problemlerle ilgili
tasarlanmış somut örnekler sizlere sunulmuş olup, tüm problem tanımlamaları bu örnekler üzerinden açıklanmıştır.
Bu bölümde, günümüz yöneylem araştırmasının üzerinde en çok çalışılan problemlerinden olan tam sayılı
programlama ve çok amaçlı eniyileme problemleri özenle vurgulanmış ve yapılan açıklamalar çeşitli örneklerle desteklenmiştir.
Sizler için seçmiş olduğumuz örnekler, ilgili problem türlerinin inceliklerini ve püf noktalarını gösterecek
ve vurgulayacak şekilde tasarlanmıştır.
14
1
Yöneylem Araştırması
1
A. 1800
B. 1850
C. 1900
D. 1950
E. 2000
2 Aşağıdakilerden hangisi Yöneylem Araştırmasını bir bilim dalı olarak itibarlı kılan en önemli
faktörlerden biridir?
A. Ele alınan problemin matematiksel modelinin
oluşturularak en iyi çözümünün bulunmaya çalışılması
B. Ele alınan problemin çözümünün deneme yanılma yöntemi ile bulunmaya çalışılması
C. Ele alınan problemin bazı önemsiz parametrelerinin göz ardı edilmesi
D. Ele alınan problemin bazı kıstaslarının göz ardı
edilmesi ve en önemlilerinin dikkate alınması
E. Kısıtları formüle ederken sadece tam sayıların
kullanılması
3 Aşağıdakilerden hangisi doğru orantılı bir
bağlantıyı tarif etmektedir?
A. 1 kg krema üretmek için 4 kg süt kullanan bir
mandıracı, 5 kg krema için 20 kg süt kullanmıştır.
B. 100 km mesafeyi 2 saatte giden bir araba, 200
km mesafeyi 3 saatte gitmiştir.
C. Sabah okula gitmekte olan bir öğrenci önce
otobüsle 20 dakikada 3 durak gittikten sonra,
aktarma yaparak sonraki 20 dakikada bir başka
otobüsle 2 durak daha gitmiştir.
D. Yolun ilk 100 km diliminde 7 litre benzin tüketen bir otomobil, sonraki 200 km’de 15 litre
benzin tüketmiştir.
E. Bir dükkânın ilgili tarihteki satış cirosu bir önceki güne göre %10 artmış, bir sonraki gün ise
önceki güne göre %20 artmıştır.
4 Bir çiftçi ürettiği patlıcanın bir kilosundan 6
TL, domatesin bir kilosundan ise 5 TL kâr elde
etmektedir. Bu ürünleri üretmek için toplam 3
ton gübre ve sulama amaçlı kullandığı motor
için de 500 litre benzin satın almıştır. Çiftçi bu
ürünlerden elde edeceği kârı en büyüklemek ve
her üründen ne kadar üretmesi gerektiğine karar
vermek istemektedir. Bu durumda, bu ürünlerden
elde edeceği kârı en büyüklemek için oluşturması
gereken matematiksel modelin karar değişkenleri
aşağıdakilerden hangisidir?
neler öğrendik?
Yöneylem Araştırması bir bilim dalı olarak
hangi yıldan itibaren sistemli bir şekilde geliştirilmeye ve uygulanmaya başlanmıştır?
A. x1= toplam üretilmesi gereken patlıcan miktarı; x2 = toplam üretilmesi gereken domates
miktarı
B. x1=1 kg domates üretimi için gereken gübre
miktarı; x2 = satın alınması gereken toplam
gübre miktarı
C. x1= 1 kg patlıcan üretimi için gereken gübre
miktarı; x2 = satın alınması gereken toplam
gübre miktarı
D. x1= 1 kg domates üretimi için gereken benzin
miktarı; x2 = satın alınması gereken toplam
benzin miktarı
E. x1= 1 kg patlıcan üretimi için gereken benzin
miktarı; x2 = satın alınması gereken toplam
benzin miktarı
5 Bir çiftçi ürettiği patlıcanın bir kilosundan 6
TL, domatesin bir kilosundan ise 5 TL kâr elde
etmektedir. Bu ürünleri üretmek için toplam 3 ton
gübre ve sulama amaçlı kullandığı motor için de
500 litre benzin satın almıştır. Çiftçi bu ürünlerden elde edeceği kârı en büyüklemek her üründen
ne kadar üretmesi gerektiğine karar vermek istemektedir. Toplam üretilecek patlıcan miktarını, ise
toplam üretilecek domates miktarını gösterdiğine
göre çiftçinin, bu ürünlerden elde edeceği kârı en
büyüklemek için oluşturması gereken matematiksel modelin amaç fonksiyonu aşağıdakilerden hangisidir?
A. Enb z=6x1+5x1
B. Enb z=6x1+3x2
C. Enb z=5x1+3x2
D. Enb z=3x1+0,5x2
E. Enb z=6x1+0,5x2
15
1
Yöneylem Araştırmasına Giriş
neler öğrendik?
6
Bir mandıracı, 1 kg krema üretmek için 5 litre süt, 1 kg yoğurt üretmek için de 2 litre süt kullanmaktadır. Bu mandıracı, ürettiği 1 kg kremanın
satışından 10 TL ve 1 kg yoğurdun satışından da 4
TL kâr elde etmektedir. Mandıracının 1 günde en
fazla 45 litre süt kullanabileceği bilinmektedir. x1
toplam üretilecek krema miktarını, x2 ise toplam
üretilecek yoğurt miktarını gösterdiğine göre, bu
ürünlerin üretilebilmesi için çiftçinin kullandığı
kaynağın sınırlı olduğunu gösteren kısıdın matematiksel ifadesi aşağıdaki şıklardan hangisinde
doğru belirtilmiştir?
A. 10x1 + 5x2 ≤ 5
B. 5x1 + 2x2 ≤ 45
C. 5x1 + 4x2 ≤ 10
D. 2x1 + 5x2 ≤ 5
E. 4x1 + 2x2 ≤ 45
7 x ve y değişkenleri iki farklı ürünün üretilip
üretilmeyeceği ile ilgili değişkenler olsun. Bu değişkenler sadece 0 veya 1 değerleri alabilmektedir, yani
x = 0 ve y = 0 bu ürünlerin üretilmemesi, x = 1 ve
y = 1 ise üretilmesi gerektiği durumları göstermektedir. Bu iki üründen en az bir tanesinin üretilmesi
gerektiği durum aşağıdakilerden hangisinde doğru
ifade edilmiştir?
A. x+y = 1
B. x+y ≤ 1
C. x+y ≥ 1
D. x–y ≤ 0
E. x–y ≥ 0
8 Bir üretici ürünlerini B şehrindeki fabrikadan
S şehrindeki siparişçiye olabilecek en kısa yoldan
ulaştırmak istemektedir. Haritaya bakıldığında
karşısında farklı şehirlerden geçilebilecek şekilde
çok sayıda yol seçeneği bulunan bu üreticinin,
güzergâhı üzerindeki tüm şehirlere uğrama zorunluluğu bulunmadığına göre bu problemin türü aşağıdakilerden hangisinde verilmiştir?
A. Ulaştırma problemi
B. Hedef programlama problemi
C. Atama problemi
D. En küçük kapsayan ağaç problemi
E. En kısa yol problemi
16
9 Bir bahçıvan bahçesindeki ağaçları sulamak
için tek bir musluktan çıkan suyu, mümkün olan
en kısa arklarla bahçedeki bütün ağaçlara ulaştırmak istemektedir. Bu durumda aynı ağaca giden
iki farklı ark istenmediğine göre bu problemin
türü aşağıdakilerden hangisinde verilmiştir?
A. Ulaştırma problemi
B. Hedef programlama problemi
C. Atama problemi
D. En küçük kapsayan ağaç problemi
E. En kısa yol problemi
10
Bir tedarikçi ürünlerini, çeşitli siparişçilere
en yüksek kâr oranı ve mümkün olan en kısa yoldan ulaştırmak istemektedir. Zamanında ulaştırılamayan her birim ürün için siparişçi ceza ödemek
zorunda olduğuna göre ceza miktarlarının en küçüklenmesi şeklinde modellenen bu problem türü
aşağıdakilerden hangisinde doğru verilmiştir?
A. Ulaştırma problemi
B. Hedef programlama problemi
C. Atama problemi
D. En küçük kapsayan ağaç problemi
E. En kısa yol problemi
1
Yöneylem Araştırması
Yanıtınız yanlış ise ““Yöneylem araştırmasının kısa tarihçesi”” konusunu yeniden gözden geçiriniz.
6. B
2. A
Yanıtınız yanlış ise ““Doğrusal programlama
problemleri için matematiksel model ve çözüm kavramları”” konusunu yeniden gözden
geçiriniz.
7. C
3. A
Yanıtınız yanlış ise ““Doğrusal programlama
problemleri için matematiksel model ve çözüm kavramları”” konusunu yeniden gözden
geçiriniz.
8. E
Yanıtınız yanlış ise ““Ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan ağaç,
tam sayılı programlama ve çok amaçlı eniyileme problemleri ve hedef programlama””
konusunu yeniden gözden geçiriniz.
4. A
Yanıtınız yanlış ise “Doğrusal programlama
problemleri için matematiksel model ve çözüm kavramları” konusunu yeniden gözden
geçiriniz.
9. D
Yanıtınız yanlış ise ““Ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan ağaç,
tam sayılı programlama ve çok amaçlı eniyileme problemleri ve hedef programlama””
konusunu yeniden gözden geçiriniz.
5. A
Yanıtınız yanlış ise ““Doğrusal programlama
problemleri için matematiksel model ve çözüm kavramları”” konusunu yeniden gözden
geçiriniz.
10. B
Yanıtınız yanlış ise ““Ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan ağaç,
tam sayılı programlama ve çok amaçlı eniyileme problemleri ve hedef programlama””
konusunu yeniden gözden geçiriniz.
Yanıtınız yanlış ise ““Ulaştırma, atama problemleri, en kısa yol, en küçük kapsayan ağaç,
tam sayılı programlama ve çok amaçlı eniyileme problemleri ve hedef programlama””
konusunu yeniden gözden geçiriniz.
17
neler öğrendik yanıt anahtarı
Yanıtınız yanlış ise ““Doğrusal programlama
problemleri için matematiksel model ve çözüm kavramları”” konusunu yeniden gözden
geçiriniz.
1. D
1
Yöneylem Araştırmasına Giriş
Araştır Yanıt
Anahtarı
1
18
Araştır 1
Tarihçeden de görüleceği üzere, Yöneylem Araştırması teori ve yöntemleri hayatımızın her alanında kullanılan ve uygulanan bir bilim dalıdır. Bu tarihçeden edindiğimiz belki de en önemli sonuç, günümüzde ister ekonomide olsun
ister askeriyede, ister bankacılıkta olsun ister sanayide, sağlık sektöründe veya
sosyolojide, hiçbir fikrin veya teorinin matematiksel modeli kurulmadan ve
en iyi veya en iyiye yakın çözümü bulunmadan, inandırıcılığının kabul edilmediğidir. Hayatımızın hangi alanında olursa olsun, kıt kaynakların amaçlarımız doğrultusunda en etkin bir şekilde kullanılması her zaman önemlidir, zira
kaynaklar hangi alanda olursa olsun her zaman sınırlıdır.
Araştır 2
Matematiksel Programlama, belli bir hedefe ulaşmak veya belli bir amacı veya
amaçları en iyilemek için, genellikle bizim kontrolümüz altında olmayan
kısıtları da gözeterek gerekli adımların veya eylemlerin belirlenmesi hakkında bir bilim dalıdır. Bu adımlar programlanırken, elimizdeki mevcut uygun
çözümden daha iyi bir çözüm elde etmek için, hangi yönde hangi eylemin
gerçekleştirileceğine karar verilmesinin araştırılması da bir bilim dalı olarak
uygulamalı matematiksel programlamanın veya yöneylem araştırmasının temel prensibini oluşturmaktadır. Dolayısıyla Yöneylem Araştırması, elimizdeki kısıtlı kaynakların, belirlenen amaçlara ulaşılması ve/veya verimliliğin
olabildiğince artırılması için gerekli eylemlerin araştırılması ve uygulanması
bilimidir. Bu eylemlerin başında, eğer mümkünse problemin matematiksel
modelinin kurulması ve en iyi çözümünün bulunması gelmektedir. Doğrusal
programlama ise bütün amaçların ve kısıtların doğrusal ifade, denklem veya
eşitsizliklerle ifade edildiği bir matematiksel programlama dalıdır.
Araştır 3
Bir problem öncelikle sözel olarak ifade edilir. Örneğin, bir fabrikada çok
sayıda ürün üretilmekte ve bu ürünler siparişçilere ulaştırılmaktadır. Fakat bu
süreçte bazı siparişler gecikmekte, bazı siparişler ise çok pahalıya mal olmaktadır. Bu süreci optimize etmek için öncelikle fabrikadaki üretim sürecini, daha
sonra sipariş planlarını, üretilmiş ürünlerin depolanacağı depo imkânlarını,
siparişlerin ulaştırılabilmesi için gereken araç filosunu iyice araştırmamız gerekmektedir. Daha sonra ise süreci optimize etmek için, yani siparişleri “gecikmeden” ve “en ucuz maliyetle” ulaştırmak için neler yapılması gerektiğinin
belirlenmesi gerekir. Bu sorular bizi, öncelikle hangi ürünün hangi sırada ve
ne kadar üretilmesi gerektiği sorusunu belirlemeye doğru itmektedir. Bunu
yaparken, üretilecek ürünlerin depoda ne kadar zaman bekleyeceği bilgisinin
de hesaplanması gerekiyor. Buradan da, özellikle depo alanımız sınırlı olduğundan ürünlerin “sıra ile” ve “gerektiği miktarda” üretilmesi ve depoda fazla
bekletilmeden siparişçilere ulaştırılması gerektiği sonucuna varıyoruz. Nihayet bütün bunları programlarken de taşınacak ürünlerin mümkün olan “en az
sayıda araçla” ve “en ucuz yolla” taşınmasını da programlamamız gerekecek.
Dolayısıyla bütün bunları, problemin matematiksel modeli kurulmadan yapamayacağımız sonucuna varıyoruz. Bunun için ise, öncelikle bütün imkânlarımızı
(üretim imkânları, ham madde, depo alanı, araç filosu) parametre veri tabloları şeklinde oluşturmamız, bulmamız gereken aktiviteleri karar değişkenleri
şeklinde belirlememiz, amacımızı ve üretim ve hammadde kısıtlarımızı net bir
şekilde ifade etmemiz gerekmektedir.
1
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
1
Araştır 4
Günümüz Yöneylem Araştırması biliminde, problem türlerine özel çözüm
yöntemleri geliştirilmiştir. Örneğin bir ulaştırma problemi, genel olarak doğrusal programlama problemleri sınıfında yer aldığından elbette ki doğrusal
programlama problemlerinin çözümü için geliştirilmiş olan simpleks yöntem
uygulanarak çözülebilir. Ancak, bir ulaştırma problemi, doğrusal bir karar
modeli olmasının yanı sıra sırf ulaştırma problemine özel koşul ve kıstaslara
sahip olduğundan, bu tür bir problemin en iyi çözümünün bulunabilmesi
için simpleks yöntemin genel şekli yerine bu algoritmanın, problemin özelliklerini maharetle kullanan daha sade bir şekli geliştirilmiştir. Bu nedenle, bir
karar probleminin hangi türe ait olduğunun belirlenmesi, bu problemin en iyi
çözümünün daha hızlı bulunabilmesi için uygun algoritmanın seçilebilmesi
açısından önem arz etmektedir.
Kaynakça
Dantzig, G. B. (1963). Linear Programming and
Extensions. Princeton University Press, Princeton.
Hillier, F. S. ve Lieberman, G. J. (2005). Introduction to
Operations Research (Eighth Edition), McGraw-Hill.
Dantzig, G. B. (1983). Reminiscences about the
origins of linear programming. In Mathematical
Programming The State of the Art (pp. 78-86).
Springer, Berlin, Heidelberg.
Gass, S. I. (2002). The first linear programming
shoppe. Operations Research, 50(1), 61–68.
Dantzig, G. B. (2002). Linear programming,
Operations Research, 50(1), 42–47.
Gass, S. I. ve Assad, A. A. (2005). An Annotated
Timeline of Operations Research. An Informal
History, Springer Science + Business Media, Inc.,
Kluwer Academic Publishers.
19
Bölüm 2
öğrenme çıktıları
Doğrusal Programlama Modelleri: Grafik Çözüm
1
En İyileme Problemleri İçin Çözüm,
Uygun Çözüm, En İyi Çözüm Kavramları
1 Eniyileme problemleri için çözüm,
uygun çözüm, en iyi çözüm kavramlarını
açıklayabilme
2
Doğrusal Programlama Problemlerinin
Varsayımları
4
Grafik Çözüm Yöntemi
Matematiksel Model
3
3 Matematiksel modelin kurulmasının
aşamalarını, parametrelerini, karar
değişkenlerini, kısıtlarını ve amaç
fonksiyonunu açıklayabilme
2 Doğrusal programlamanın varsayımlarını
açıklayabilme
4 Doğrusal programlama probleminin
grafik yöntemle en iyi çözümünün nasıl
bulunabileceğini açıklayabilme
Anahtar Sözcükler: • En İyileme Problemleri • Doğrusal Programlama Problemi
• Çözüm, Uygun Çözüm, En İyi Çözüm • Matematiksel Modelleme • Karar Değişkenleri
• Amaç Fonksiyonu • Kısıt Kavramı • Grafik Çözüm Yöntemi
20
2
Yöneylem Araştırması
GİRİŞ
Yöneylem Araştırmasında, ister doğrusal isterse
de doğrusal olmayan bir karar probleminin araştırılması, bu problem kapsamındaki alternatiflerin
incelenmesi ile başlar. Eğer karşı karşıya olduğumuz bir problem kapsamında, sağlamak durumunda olduğumuz koşulları veya kısıtları sağlayan tek
bir çözüm varsa, dolayısıyla problemimiz kapsamında tek bir uygun çözüm varsa, yani birbirine
alternatif olabilecek uygun çözümler yoksa bir karar problemi de yoktur demektir. Elimizdeki tek
uygun çözüm, en iyi çözüm olarak kullanılır.
Bu bölümde çözümler, uygun çözümler, en
iyi çözüm kavramları ve bu çözümleri araştırmak
ve bulabilmek için sözel tanımlaması yapılmış bir
problemin nasıl analiz edilmesi gerektiği, doğrusal
programlama, matematiksel model ve grafik çözüm yöntemlerini öğreneceğiz.
EN İYİLEME PROBLEMLERİ İÇİN
ÇÖZÜM, UYGUN ÇÖZÜM, EN İYİ
ÇÖZÜM KAVRAMLARI
Bu kavramları önce hayatımızdan örnekler üzerinde anlatmaya çalışalım.
Örneğin, diyelim ki üniversiteden mezun olduk ve bir iş arıyoruz. Aradığımız iş için, pozisyon, maaş ve çalışmak istediğimiz şehir kıstaslarına uyan tek bir iş duyurusu varsa, bu durumda
bir iş yeri seçimi problemi yoktur demektir: tek
seçenek – tek çözüm.
dikkat
Eğer incelemekte olduğumuz problemin kıstaslarını sağlayan uygun
çözüm yoksa bu problemin çözümü yoktur demektir. Eğer problemin kıstaslarını sağlayan tek bir uygun çözüm dışında başka alternatif
uygun çözümler yoksa bir karar
problemi de yoktur demektir: tek
seçenek – tek çözüm.
dikkat
Bir karar probleminin çözüm süreci, çeşitli uygun çözüm alternatifleri
içinden amacımıza veya amaçlarımıza
en çok uyan uygun çözümün seçilmek istendiği durumda ortaya çıkar.
Birden fazla alternatif uygun çözümlerin var olduğu bir durumda, eğer uygun çözümlerin hepsini,
amacımız doğrultusunda, tek tek kıyaslayabilme
şansına sahipsek, kıstaslarımıza en çok uyan uygun
çözümü, bütün uygun çözümleri ikişer ikişer kıyaslayarak, kolayca seçebiliriz.
ÖRNEK 2.1: Çiftçimizin A ve B köylerinde
birer tane mandırasının olduğunu ve bu mandıralarda tereyağı ve peynir üretildiğini varsayalım.
A köyündeki mandırada üretilen 1 kg tereyağının
maliyeti 18 TL, 1 kg peynirinki ise 13 TL’dir. B köyündeki mandırada ise 1 kg tereyağının üretim maliyeti 20 TL, 1 kg peynirinki ise 14 TL‘dir. Çiftçimizin her iki ürünü üretmek istediğini, fakat bunu
en düşük maliyetle yapmak istediğini göz önünde
bulundurarak, hangi ürünün hangi köyde üretilmesi gerektiğine karar vermesi gerekiyor.
ÇÖZÜM: Çiftçimizin hem tereyağı hem de
peynir üretmesi için iki tane alternatif mandırası,
dolayısı ile problemimizin iki tane uygun çözümü
bulunmaktadır. Fakat üretim maliyetlerini kolayca
kıyaslayarak, hem tereyağı, hem de peynir için en
düşük maliyetli üretimin A köyündeki mandırada
yapılabileceği görülmektedir. Çözüm: Üretim için,
A köyündeki mandıra seçilmelidir.
dikkat
Problem 2.1’de üretim maliyetinin en
küçüklenmesi şeklinde ifade edilen en
iyileme probleminde kısıtları sağlayan toplam iki adet uygun çözüm seçeneği bulunmaktadır. Bu çözümleri,
amacımız olan maliyetin en küçüklenmesi açısından kıyasladığımızda,
bir tanesinin diğerine baskın olduğu
açık bir şekilde görülmektedir.
21
2
Doğrusal Programlama Modelleri: Grafik Çözüm
ÖRNEK 2.2: Bir süredir araba almak için piyasa araştırması yapmaktayım. Satın alabileceğim bir araba
için bazı tercihler - kıstaslar belirledim. Satın alacağım arabanın,
• motor gücü 90 beygir’in altında olmamalı;
• yakıt tüketimi 6 litre/100 km’nin üzerinde olmamalı;
• motor hacmi 1.5 litre’nin üzerinde olmamalı.
Bu kıstasları sağlayan ve fiyatı en düşük olan aracı seçmek istiyordum. Yaptığım piyasa araştırmasında
Ford, Fiat, Toyota, Opel ve Volkswagen marka araçlar için Tablo 2.1’de verilen bilgilere ulaştım.
Tablo 2.1 Örnek 2.2’ye ait veriler
Özellik/Araba
Ford
Fiat
Toyota
Opel
Volkswagen
motor gücü (beygir)
85
100
105
95
100
yakıt tüketimi (litre/100km)
5
5
6
7
6
motor hacmi (litre)
1.2
1.4
1.5
1.4
1.6
fiyatı (TL)
90,000
100,000
120,000
95,000
110,000
ÇÖZÜM: Öncelikle koşulları sağlayan arabaları, yani uygun çözümleri seçelim: Ford, motor gücü
koşulunu; Opel, yakıt tüketimi kısıdını; Volkswagen ise motor hacmi kısıdını sağlamadığından, uygun
çözüm alanı sadece iki arabadan oluşuyor: Fiat ve Toyota. Bu iki arabadan, Fiat daha ucuz olduğundan, uygun koşulları sağlayan en iyi çözüm olarak seçiliyor. Bu durumda Fiat seçeneği problemin çözümü veya
en iyi çözümü olarak adlandırılıyor.
dikkat
Bir matematiksel programlama probleminin tüm kısıtlarını
sağlayan seçeneklere uygun çözümler denir. Uygun çözümler
içerisinde amaç fonksiyonunun en iyi değere ulaştığı seçeneğe
problemin çözümü veya en iyi çözümü denir.
Yukarıdaki örneklerde, problemde tarif edilen koşulları, yani problemin kısıtlarını sağlayan ve uygun
çözüm olarak adlandırdığımız çözümlerin sonlu sayıda olduğu durumları inceledik. Bu durumlarda uygun
çözümleri, problemde hedeflenen amaç doğrultusunda kıyaslayarak en iyi çözümü bulabiliyoruz. Fakat
maalesef gerçek hayatta, bütün problemlerde uygun çözümler, sayılabilecek kadar sonlu sayıda olmayabilir.
dikkat
Sözel olarak tarif edilen bir problemde, problemin koşullarını
sağlayan uygun çözümler, sayılamayacak kadar çok sayıda olduğu bir durumda, bu problemin en iyi çözümünün bulunabilmesi için problemin matematiksel modelinin kurulması büyük
önem arz etmektedir. Fakat öncesinde, bu kitap kapsamında
öğreneceğimiz doğrusal programlama problemlerinin ve bu
problemler için geliştirilen doğrusal matematiksel modellerin
özelliklerini öğreneceğiz.
22
2
Yöneylem Araştırması
Öğrenme Çıktısı
1 En iyileme problemleri için çözüm, uygun çözüm, en iyi çözüm kavramlarını açıklayabilme
Araştır 1
Bir örnek karar problemi
için çözüm, uygun çözüm ve
en iyi çözüm kavramlarını
araştırın. Bir problem, çözüm alternatifleri açısından
hangi durumda bir problem
olarak nitelendirilebilir?
İlişkilendir
Anlat/Paylaş
Çözüm, uygun çözüm ve
en iyi çözüm kavramlarını
karşılaştırın ve farklarını yorumlayın.
Kendi hayatınızda sık karşılaştığınız bir-iki basit
problem için çözüm, uygun
çözüm veya en iyi çözümü
nasıl bulabileceğinizi tartışın. Örneğin iş arama problemi veya ev arama problemini düşünebilirsin.
DOĞRUSAL PROGRAMLAMA
PROBLEMLERİNİN
VARSAYIMLARI
Bu alt bölümde, bir doğrusal programlama
probleminin sağlaması gereken varsayımları öğreneceğiz. Aslında bu varsayım ve özelliklere kitabınızın ilk bölümünde de zaman zaman değinilmişti, fakat şimdi bu bilgileri sistemli bir şekilde
öğrenelim. Yukarıda incelediğimiz bazı örneklerde
de hangi özelliklerin doğrusal bir bağlantı şeklinde
matematiksel olarak ifade edilebileceği, hangilerinin de edilemeyeceğini gördük.
Bu özellikler, orantılılık, toplanabilirlik, bölünebilirlik ve belirlilik olarak sıralanabilir. Şimdi bu
özellikleri açıklayalım.
• Orantılılık: Bir karar problemi incelendiği
zaman, öncelikle bu problemin ortaya çıktığı işletme veya sistem kapsamlı bir şekilde,
yöneylem araştırması ekibi tarafından analiz
edilir. Bu aşamada, yani sistem analizi aşamasında öncelikle bu problemi oluşturan
çeşitli parametrelerin değerleri belirlenir. Bu
aşamada neyin yapılmak istendiği, hangi hedefin veya amacın tutturulmak istendiği ve
bunun için sistemin sahip olduğu imkânlar,
kapasite ve ham madde bilgileri, birim üründen elde edilecek kâr miktarı ve benzeri bulgular analiz edilerek ortaya çıkartılır. Örne-
ğin, kârın en büyüklenmesi, masrafların en
küçüklenmesi, kapasitenin aşılmaması ve
benzeri bulgular örnek olarak gösterebiliriz.
Bu bulguları hesaplamak ve karar problemini matematiksel olarak formüle edebilmek
için genellikle karar değişkenleri olarak adlandırılan değişkenlerin tanımlanması matematiksel modelin oluşturulması açısından
büyük önem arz ediyor. Örneğin kârı en
büyüklemek için “üretilmesi istenen toplam
ürün miktarı olsun” gibi bir işaretleme kullanılabilir. Bu durumda, bu ürünün birim
miktarından elde edilen kâr miktarı ise bu
üründen elde edilecek toplam karın, üretilecek
toplam miktarın katı şeklinde olarak ifade edilebileceği varsayımına orantılılık özelliği denir.
Benzer şekilde bu ürünün birim miktarının
üretilmesi için bir hammaddeden kullanılması
gereken miktar ise bu ürünün tamamının üretilmesi için kullanılması gereken ham madde
miktarı şeklinde bulunabilmelidir.
dikkat
Belli bir sürece bir ürünün bireysel
katkısı, bu ürünün birim miktarının
bu sürece verdiği katkı miktarı ile
orantılı olmalıdır.
23
2
Doğrusal Programlama Modelleri: Grafik Çözüm
•
Toplanabilirlik: Yukarıda, orantılılık özelliğini öğrendiğimiz zaman kullandığımız kar miktarının
hesaplanması örneğini devam ettirelim. Varsayalım ki, işletme iki ürünün satışından elde edeceği
toplam kârı en büyüklemek istemekte ve bunun için her bir üründen ne kadar üretilmesi gerektiğine karar vermek istemektedir. Bunlardan birincisinin üretileceği toplam miktar x, diğerininki ise
y olsun. Varsayalım ki, işletmede yapılan sistem analizi sonucu ortaya çıkan parametre değerlerine
göre, birinci ürünün birim miktarından elde edilen kâr miktarı a, ikinci ürünün birim miktarından
elde edilen kâr miktarı ise b olsun. Bu durumda orantılılık özelliğine göre birinci ürünün tamamından elde edilecek kâr miktarı ax, ikinci ürünün tamamından elde edilecek kâr miktarı ise by
olacaktır. Toplanabilirlik özelliği diyor ki, bu durumda işletmenin bu iki üründen elde edeceği toplam
kâr, bu ürünlerin her birinden elde edilecek karların toplamına, yani ax+by değerine eşit olmalıdır.
dikkat
Belli bir sürece ürünlerin toplam katkısı, bu ürünlerin
bireysel katkılarının toplamından oluşmaktadır.
•
•
Bölünebilirlik: Karar değişkenleri, problemin kısıtlarını sağlayan tam sayı ve tam olmayan sayılar
dâhil her türlü reel sayı değerini alabilir olmalıdır. Yani, bir doğrusal karar modelinde, bir karar değişkeninin her türlü tam ve küsuratlı değeri alabilmesi karşısında bir engel bulunmamalıdır.
Belirlilik: Bir doğrusal karar probleminin tanımlanması sırasında belirlenen tüm parametrelerin değerleri bilinen sabitlerden ibaret olmalıdır. Yukarıdaki örnekte kullanılan, “birinci ürünün birim miktarından elde edilen kâr miktarı olsun” şeklindeki bilgi, problemde ortaya çıkan tüm parametreler için
benzer şekilde belirlenmiş olmalıdır.
Öğrenme Çıktısı
2 Doğrusal programlamanın varsayımlarını açıklayabilme
Araştır 2
Bir karar probleminin doğrusal programlama problemi olarak nitelendirilebilmesi için hangi koşulları
sağlaması gerekiyor?
24
İlişkilendir
Anlat/Paylaş
Orantılılık, toplanabilirlik,
bölünebilirlik ve belirlilik
kavramlarını karşılaştırın ve
farklarını yorumlayın.
Kendi hayatınızda karşılaştığınız bir problemin
doğrusal olup olmadığını
ve nedenlerini tartışın. Örneğin bir saat çalıştığınızda
kazanacağınız başarı puanı ile iki saat çalıştığınızda
kazanacağınız başarı puanı
orantılı mıdır?
2
Yöneylem Araştırması
MATEMATİKSEL MODEL
Bir problemi araştırmak ve çözüme kavuşturabilmek için, problemin sözel tarifini çok iyi incelememiz, söz konusu problemin içinde bulunduğu
sistemi çok iyi analiz etmemiz gerekiyor. Böyle bir
analiz, öncelikle problemin olmazsa olmaz koşullarını, hedeflerini, amaçlarını ve bu problem kapsamındaki tüm veriyi, bir başka deyimle, problemin tüm
parametrelerinin titizlikle belirlenmesinden başlar.
Problemle ilgili tüm parametreler belirlendikten
sonra bu problemde neyin bulunmak istendiği sorusunu cevaplamamız gerekiyor. Bazı durumlarda,
problem sözel olarak tarif edilirken, laf karmaşası
içinde tam olarak neye ihtiyaç duyulduğu çok da
iyi anlaşılamayabilir. Bu durumda Yöneylem Araştırması analistinin görevi, bu laf karmaşası içinde
en önemli olan bilgileri seçip ayırabilmek ve problemde en iyi karara ulaşmak için neyin yapılmak
istendiği, hangi bulguların ortaya çıkarılması gerektiğini hesaplamaktır. Bu araştırma bizi karar değişkenlerine götürecektir. Bir karar probleminin en
önemli bileşenlerinden biri de karar değişkenleridir.
Karar değişkenleri belirlendikten sonra, problem kapsamında tarif edilen kıstasların, bu karar
değişkenleri ve problemin parametreleri kullanılarak formüle edilmesi gerekiyor. Bu kısıtlamalar,
problemin incelendiği sistemde kullanılabilecek
makine, enerji, ham madde miktarları, mevcut iş
gücü, üretim ve depo alanı ve benzeri koşullardan
oluşabilir.
dikkat
Problem kapsamında tarif edilen
bu gibi özel koşulların, problemin
karar değişkenleri ve parametreleri
kullanılarak matematiksel eşitlik
ve/veya eşitsizlikler şeklindeki ifadelerine problemin kısıtları denir.
Bir karar probleminin en önemli bileşenlerinden biri de problemin amaç fonksiyonudur.
dikkat
Bir problem kapsamında tarif edilen
ve tutturulması veya en iyilenmesi
istenen hedef, amaç ve ya amaçların, problemin karar değişkenleri
ve parametreleri kullanılarak oluşturulan matematiksel ifadesine, bu
problemin amaç fonksiyonu denir.
Bir karar probleminin bir diğer bileşeni de
problemin uygun çözümleridir.
dikkat
Bir karar probleminin bütün kısıtlarını sağlayan karar değişkeni
değerine veya karar değişkenlerinin
değerlerinden oluşan bir vektöre
(dizine) bu problemin uygun çözümü denir.
Bir karar probleminin en iyi çözümünün veya çözümlerinin incelenmesinin veya bulunmasının yolu,
uygun çözümlerin kıyaslanmasından geçer. Peki, elimizde birden fazla uygun çözüm varsa bu çözümleri nasıl kıyaslarız, yani hangi uygun çözümün daha
iyi olduğuna nasıl karar veririz? Uygun çözümlerin
hangisinin daha iyi olduğu sorusunun cevabı, aslında hangisinin, problemin amaç fonksiyonuna daha
iyi değer sağladığının araştırılmasından geçer. Amaç
fonksiyonuna sağladığı değere göre daha iyi olduğuna karar verdiğimiz çözüm, bir sonraki aşamada
diğer çözümlerle kıyaslanır, diğeri ise elenir.
dikkat
Amaç fonksiyonuna en iyi (en büyük veya en küçük) değeri sağlayan
uygun çözüme problemin en iyi çözümü denir.
25
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Şimdi bir karar probleminin matematiksel modelini tanımlayabiliriz.
dikkat
Bir karar probleminin tüm verileri ve parametreleri kullanılarak, problemin kıstas ve koşullarının ve amaç ve hedeflerinin
matematiksel semboller, eşitlikler ve eşitsizlikler kullanılarak ifade edilişine bu problemin matematiksel modeli denir.
dikkat
Modelleme, işi rakamlara dökmeden önce problemi “hissetme” ile başlar.
Herhangi bir işletmede oluşan bir problemin en iyi çözümünün bulunabilmesi için, önce problemi yöneticileri tarafından dinlemek, onların
hassas oldukları noktaları belirlemek, problemin tüm detaylarını, verilerini, parametrelerini ve ne istendiğini araştırmak ve tespit etmek gerekmektedir. Bu analiz sonucunda ortaya çıkan parametreler, girdi ve çıktı
bilgileri, karar değişkenleri, kısıtlar ve amaç veya amaçlar, matematiksel
modelin oluşturulmasında bize yardımcı olacaktır.
Yukarıda açıklanan terimleri ve ileri sürülen tanımları örnekler üzerinde yorumlayalım.
ÖRNEK 2.3: Problemin Sözel Tanımı: Bir işletme sosis, salam ve kavurma üretimi yapmaktadır. Bu
ürünlerin üretimi için ana hammadde olan etin, tedarik, çeşitli imalat ve paketleme aşamalarından geçmesi
gerekmektedir.
İşletme, et alımını iki farklı tedarikçiden temin etmekte ve ürettiği ürünleri satarak faaliyetini sürdürmektedir. Fakat tam olarak satın aldığı etin ne kadar verimli kullanıldığını ve dahası elde ettiği kar miktarının nasıl
artırılabileceğini hesaplayamamaktadır.
Bu nedenle İşletme, Üniversitenin Endüstri Mühendisliği Bölümünden bir Yöneylem Araştırması (YA) Ekibi davet ediyor.
Sistem Analizi
İşletmede üretim ve pazarlama birimleri ile birlikte bir araştırma yapan YA ekibi, farklı tedarikçilerden
alınan etler arasında kalite farkı bulunduğunu tespit ediyor (içerdikleri yağlılık oranı, kemik oranı ve b.) ve
aşağıdaki birim üretim bilgilerini hesaplıyor:
• 1. tedarikçiden alınan 1 ton etten 0.2 ton sosis, 0.2 ton salam, 0.4 ton kavurma üretilmekte ve geri
kalan 0.2 ton et (sinir ve kemikler) fire olarak değerlendirilmektedir.
• 2. tedarikçiden alınan 1 ton etten 0.3 ton sosis, 0.1 ton salam, 0.4 ton kavurma üretilmekte ve geri
kalan 0.2 ton et fire olarak değerlendirilmektedir.
Daha sonra bu işletmenin ürünlerine piyasadaki 1 günlük talep miktarlarını da araştıran YA ekibi problemle ilgili elde edilen tüm verileri bir tablo şeklinde düzenliyor.
1 ton ham maddeden 1 günde üretilebilecek ürün miktarları, bu ürünlere piyasadaki günlük talep
miktarları ve tedarikçi bazında her bir et türünün birim miktarından 1 günde üretilen ürünlerin satışından
elde edilecek kar miktarları Tablo 2.2’de gösterilmiştir.
26
2
Yöneylem Araştırması
Tablo 2.2 Örnek 2.3 ile ilgili veri tablosu
ÜRÜN
1.tedarikçiden alınan
1 ton etten üretilecek
ürün miktarları (ton)
2. tedarikçiden alınan
1 ton etten üretilecek
ürün miktarları (ton)
Ürün talep miktarları
(ton)
Sosis
0.2
0.3
1.6
Salam
0.2
0.1
1.4
Kavurma
0.4
0.4
3.6
Tedarikçilerden alınacak bir
ton etten üretilecek ürünlerin
satışından elde edilecek kâr
miktarları (1000 TL)
6
7
Verilere bakılırsa, her iki tedarikçiden alınan 1 ton etten geri kalan fire miktarları aynıdır. Bunun dışında, üretilen kavurma miktarı da her iki tedarikçiden alınan ham madde için aynıdır. Fakat sosis üretimi ile
salam üretimi, ham maddenin alındığı tedarikçilere göre farklılık göstermektedir.
Bu durumda problem için bir amaç belirlenmesi gerektiğine karar veren YA ekibi, işletmedeki problemi
aşağıdaki şekilde ifade ediyor:
“İşletmede mevcut üretim koşullarını, birim ham maddeden üretilebilecek ürün miktarlarını, bu ürünlere
piyasadaki talep miktarlarını ve ürünlerin satışından elde edilecek kâr miktarlarını göz önünde bulundurarak,
işletmenin bu ürünlerin satışından elde edeceği kâr miktarının en büyük olabilmesi için her tedarikçiden satın
alınması gereken et miktarının belirlenmesi gerekiyor.”
Problemin Matematiksel Modeli
Yöneylem Araştırması ekibi, problemi aşağıdaki şekilde ifade ediyor:
İşletme, üretilen ürünlerin satışından elde edilecek net karın en büyük olabilmesi için, her tedarikçiden ne
kadar et satın alınması gerektiğine karar vermek istemektedir.
Her iki tedarikçiden alınan etlerin fiyatı ve kalitesi farklı olabilir, fakat sosis, salam ve kavurma üretimi için
gereken ek malzemeleri (yağ, baharat, iş gücü vs.) de dikkate alarak, elde edilen kârı göz önünde tutmamız
gerekecektir. Kâr miktarlarına göz attığımızda, 2. tedarikçiden alınan etten elde edilen kârın daha fazla olduğu görülüyor. Fakat bu gösterge, gereken etin tamamının 2. tedarikçiden alınması gerektiğini ifade etmez. Bu
kararı en doğru şekilde verebilmek için problemin bütün hususlarını göz önünde bulundurmalıyız.
Problemde, her tedarikçiden ne kadar et satın alınması gerektiğine karar verilmesi istendiğinden, bu durumu göz önünde bulundurarak karar değişkenlerimizi aşağıdaki şekilde belirleyebiliriz:
A1 ve A2 sırasıyla 1. ve 2. tedarikçiden alınması gereken et miktarlarını göstersin.
Şimdi veri tablosunun (Tablo 2.2) “sosis” ürünü ile ilgili satırını inceleyelim. Bu satırda, 1. tedarikçiden alınan etin birim miktarından üretilebilecek sosis miktarının 0.2 ton olduğu belirtiliyor. Orantılılık
özelliğini kullanarak 1. tedarikçiden alınan et için şu münasebeti elde ederiz: eğer 1 ton etten 0.2 ton sosis
üretiliyorsa, A1 ton etten 0.2 x A1 ton sosis üretilir. Benzer şekilde, 2. tedarikçiden alınan 1 ton etten 0.3
ton sosis üretildiğine göre, A2 ton etten üretilecek sosis miktarını 0.3 x A2 olarak hesaplayabiliriz. Bu
şirketin ürettiği sosislere piyasadaki talep miktarı 1.6 ton olduğu bilgisini de göz önünde bulundurursak,
toplam üretilecek sosis miktarının 1.6 rakamını geçmemesi gerektiği şeklinde bir kısıtlama kullanmamız gerektiğini buluruz: 0.2 x A1 + 0.3 x A2 ≤ 1.6.
Benzer bir hesaplama ile Tablo 2.2’nin “salam” ve “kavurma” ürünleri için de 1. ve 2. tedarikçilerden de
sırası ile alınacak A1 ve A2 ton etten üretilebilecek miktarlar için talep sınırlamalarını göz önünde bulundurularak aşağıdaki kısıtları elde ederiz:
0.2 A1 + 0.3A2 ≤ 1.6, (sosis için)(2.1)
0.2 A1 + 0.1A2 ≤ 1.4, (salam için) (2.2)
27
2
Doğrusal Programlama Modelleri: Grafik Çözüm
0.4 A1 + 0.4A2 ≤ 3.6, (kavurma için) (2.3)
A1 ≥ 0 A2 ≥ 0 (2.4)
(2.1) - (2.2) - (2.3) münasebetleri ile gösterilen eşitsizlikler; sırası ile sosis, salam ve kavurma ürünleri
için toplam üretilebilecek ürün miktarlarının üstten talep miktarları ile sınırlı olması gerektiğini ifade
etmektedir. Bu kısıtlar, problemin karar değişkenleri olarak belirlenmiş A1 ve A2 değişkenlerini içeren
fonksiyonlar şeklinde ifade edildiklerinden, bu kısıtlara fonksiyonel kısıtlar denir. Bu kısıtlara dikkat edildiğinde A1 ve A2 değişkenlerine bağlı bu ifadelerin sadece doğrusal bağlantılar içerdiğini, yani değişkenlerin
kendileri ve bir biri ile çarpma ve bölme işlemleri bulundurmadığını, sadece sabit ile çarpma ve toplama işlemleri ile oluşturulduğu görülüyor. Bu sebepten bu kısıtlar, doğrusal kısıtlar olarak adlandırılmaktadır. ≥ ≥
(2.4) formülünde A1 ≥ 0 ve A2 ≥ 0 eşitsizlikleri şeklinde tanımlanmış kısıtlar ise ilgili üreticiden et
ya alınır ( A1 > 0 veya A2 > 0) ya da alınmaz ( A1 = 0 veya A2 = 0 ) durumlarını belirtmektedir. Bu karar
değişkenleri satın alınabilecek hammadde miktarını belirttiğinden A1 ve A2 ’nin negatif olma durumu söz
konusu olamaz. Bu kısıtlara işaret kısıtları denir.
Şimdi tekrar problemin parametrelerinin tanımlandığı ve ilgili verilerin açıklandığı Tablo 2.2’ye dönelim.
Bu tablonun en alt satırında yer alan, her bir tedarikçiden alınan etin birim miktarlarından elde edilebilecek
kâr miktarlarını inceleyelim. Bu bilgilere göre 1. tedarikçiden satın alınan 1 ton etten işletmenin elde edeceği
kâr miktarı 6000 TL, toplam satın alınmak istenen et miktarı da A1 ton olduğuna göre, yine de orantılılık
kuralını uygulayarak, 1. tedarikçiden alınacak etten, işletmenin 6xA1 TL kâr elde edeceğini hesaplayabiliriz.
Benzer şekilde, 2. tedarikçiden alınacak etten, işletmenin 7xA2 TL kâr elde edeceği kolaylıkla hesaplanabilir.
Bu durumda her iki tedarikçiden satın alınacak etten, işletmenin elde edeceği toplam kâr miktarı 6A1 + 7A2
olarak belirlenebilir. Şimdi tekrar problemin sözel tanımını hatırlayacak olursak (işletmenin bu ürünlerin satışından elde edeceği kâr miktarının en büyük olabilmesi için her tedarikçiden satın alınması gereken et miktarının
belirlenmesi gerekiyor), problemin amaç fonksiyonunu aşağıdaki şekilde ifade edebiliriz:
Enb z = 6A1 + 7A2
Burada z = 6A1 + 7A2 fonksiyonu, problemimizin amaç fonksiyonunu, onun önündeki “Enb” ibaresi
ise bu fonksiyonun en büyüklenmesinin istendiğini ifade etmektedir.
Yukarıda belirlenen amaç fonksiyonu ve kısıtları bir araya getirerek problemimizin matematiksel modelini aşağıdaki şekilde formüle edebiliriz:
0.2 A1 + 0.3A2 ≤ 1.6,
(2.1)
0.2 A1 + 0.1A2 ≤ 1.4,(2.2)
0.4 A1 + 0.4A2 ≤ 3.6,
(2.3)
A1 ≥ 0, A2 ≥ 0 (2.4)
kısıtları altında
Enb z = 6A1 + 7A2
(2.5)
Bu problemdeki bütün kısıt ve amaç fonksiyonları doğrusal bağlantılar ile ifade edildiklerinden, problemimiz bir doğrusal karar problemi veya doğrusal programlama problemi olarak adlandırılmaktadır.
dikkat
Bir doğrusal karar probleminin veya doğrusal programlama
probleminin amaç ve kısıtlarını ifade eden bütün eşitlik ve eşitsizlikler doğrusal bağlantılarla tanımlanmaktadır.
28
2
Yöneylem Araştırması
Şimdi ise Yöneylem Araştırmasında çok önemli bir yere sahip problem türü olan Diyet Problemi türünden bir örnekle devam edeceğiz.
Yaşamla İlişkilendir
Diyet Probleminin Tarihçesi
Ekonomist George Stigler 1945 yılında
aşağıdaki problemi tanımlamış ve araştırmıştır:
Bir adam, Millî Araştırma Kurumunun (National Research Council) 1943 yılında belirlediği
ve günlük tavsiye edilen diyet değerlerini en alt
sınırda sağlayacak şekilde dokuz adet besin (vitaminler, kalori dahil) türünden alabilmesi için
77 adet yiyecek türünün her birinden ne kadar
yemesi gerektiğini ve bunu en düşük maliyetle
nasıl yapabileceğini bulmak istemektedir. Stigler bu en iyileme problemini 77 bilinmeyenli 9
denklemden oluşan ( doğrusal eşitsizlikler sistemi şeklinde ifade etmiştir. Bu olay, Dantzig’in
doğrusal programlama problemlerini buluşundan önce ortaya çıktığından dolayı, Stigler bu
eniyileme probleminin kesin çözümünü bulmak için bir çözüm algoritmasına sahip değildi.
Ancak, Stigler yine de akıllıca bir yöntem kullanarak bu problem için en iyi (optimal) olmayan
ve 39.93 dolarlık bir maliyetle bir uygun çözüm
buluyor. 1947 yılında Dantzig, Stigler’in diyet
problemini doğrusal programlama problemi
olarak formüle ediyor ve simpleks yöntemi bu
(“büyük boyutlu”) problem üzerinde deneyerek
daha iyi bir çözüm bulup bulamayacağını test
eder. 120 adam/gün efor harcanarak yapılan el
ile hesaplamalar sonucu, maliyetin 39.69 dolar
olduğu en iyi (optimal) çözüm bulunur. Stigler,
1982 yılında endüstriyel kuruluşlar ve piyasa
işlemleri konularında yaptığı çalışmalarından
dolayı Nobel ödülüne layık görüldü.
ÖRNEK 2.4 : (Diyet Problemi)
Bir anne çocuğunun sağlıklı beslenmesi için alması gereken vitaminleri kahvaltı sırasında ona ne şekilde
verebileceğini düşünmektedir. Annenin yaptığı araştırmaya göre kahvaltı öğününde çocuğu 1 mg C vitamini, 5 mg D vitamini ve 400 kalori enerji almalıdır. Bunun için anne, buğday gevreği (kısaca B ile işaretleyeceğiz) ve yulaf ezmesi (Y) gibi 2 çeşit besini tercih etmek istiyor. Anne bu besinlerden herhangi birini
veya ikisini birden seçebilir, ama besinlerin fiyatları da kararını oluşturmakta etkili olacaktır, zira annemiz
sınırlı bir bütçeye sahiptir. Anne besinleri incelerken bir birim B besininin 0.1 mg C vitamini, 1 mg D
vitamini ve 110 kalori enerji içerdiği, Y besininin 1 biriminin ise 0.25 mg C vitamini, 0.25 mg D vitamini
ve 120 kalori enerji içerdiği bilgisine ulaşıyor. Bu bilgilere dayanarak anne bir menü oluşturmak istiyor.
Problem: Annemiz çocuğunun gerekli vitamin ve kalori miktarlarını almasını garantilemek fakat bunu
en ucuz menü ile oluşturmak istemektedir.
Problem üzerinde tartışma: Örneğin, 10 birim B besininden veya 20 birim Y besininden alarak, çocukların gereken vitaminleri alması garanti edilebilir. Fakat bu besinlerin fiyatları da dikkate alınmalıdır, öyle
ki, anne çocukları için kahvaltı menüsü oluştururken bütçesini de düşünmek zorundadır. B besininin birim fiyatı 3.80 TL, Y’ nin birim fiyatı ise 4.20 TL’dir. Eğer anne B besininden 10 birim alırsa, çocuk 1 mg
C vitamini, 10 mg D vitamini ve 1100 kalori alacaktır ve anne bu menü için 38 TL ödeyecektir. Eğer anne
Y besininden 20 birim alırsa, çocuğu 5 mg C vitamini, 5 mg D vitamini ve 2400 kalori almış olacak ve
annenin bu durumda harcayacağı para 84 TL olacaktır. Eğer anne 10 birim B besini satın alırsa, çocuğuna
gereken C vitaminini gereken miktarda temin etmiş olur, fakat D vitamini ve kalori miktarı gerekenden
fazla olacaktır. Eğer 20 birim Y besininden satın alacak olursa, o zaman da çocuk D vitaminini gereğince,
diğer değerleri ise gerektiğinden fazla alacak ve annenin harcadığı para da gereksiz yere fazla olacaktır.
29
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Galiba problemin en iyi çözümünü bulmak için matematiksel model kurmaktan başka çaremiz yoktur.
Problemin matematiksel modeli. Problemin matematiksel modelini oluşturmak için öncelikle parametre
değerlerinden oluşan bilgileri bir tablo şeklinde ifade edelim, bakınız Tablo 2.3. Bu, problemi daha hızlı incelememize olanak sağlayacak ve matematiksel modelin kurulmasını da kolaylaştıracaktır.
Tablo 2.3 Problem 2.4 ile ilgili veri tablosu
1 birim B besininin
içerdiği vitamin ve
enerji miktarları
1 birim Y besininin
içerdiği vitamin ve
enerji miktarları
Alınması gereken
minimum miktar
C vitamini (mg)
0.1
0.25
1
D vitamini (mg)
1
0.25
5
Enerji (kalori)
110
120
400
Besinlerin birim fiyatı (TL)
3.80
4.20
Problemi çözmek demek, gerekli vitamin ve enerji miktarlarının çocuğu tarafından alınmasını sağlayacak en ucuz menüyü oluşturmak demektir. Yani annemiz, gerekli vitamin ve enerji miktarlarının alınmasını garantilemek için B ve Y besinlerinden ne kadar satın alınması gerektiğine karar vermelidir.
Karar değişkenleri. Problemimizi çözebilmek için B besininden satın alınması gereken miktarı x1,
Y besininden satın alınması gereken miktarı x2 ile işaretleyelim.
Kısıtlar. Önce, bilgileri veri tablosunun birinci satırında yer alan C vitamini ile ilgili kısıdı oluşturalım.
B besininin bir biriminde 0.1mg C vitamini bulunduğuna göre, x1 birimindeki C vitamini miktarı, orantılılık kuralına göre 0.1 x1 olacaktır.
Benzer şekilde, Y besininin bir biriminde 0.25mg C vitamini bulunduğuna göre, x2 birimindeki C vitamini miktarı, orantılılık kuralına göre 0.25 x2 olacaktır. Bu besinlerdeki toplam C vitamini miktarı da
toplanabilirlik özelliğine göre 0.1x1 + 0.25x2 olacaktır. Tablo 2.3’ün en üst satırında yer alan “C vitamini
için alınması gereken minimum miktar bilgisi 1 mg” olduğuna göre C vitamini ile ilgili kısıdımız aşağıdaki
şekilde yazılacaktır:
0.1x1 + 0.25x2 ≥ 1
Benzer şekilde, Tablo 2.3’in ikinci satırında yer alan “D vitamini için alınması gereken minimum miktar
bilgisinin 5 mg” olduğunu dikkate alacak olursak, D vitamini ile ilgili kısıdımızı aşağıdaki şekilde yazabiliriz:
x1 + 0.25x2 ≥ 5
Nihayet, alınması gereken minimum enerji miktarını da, Tablo 2.3’ün üçüncü satırında yer alan bilgileri kullanarak aşağıdaki şekilde ifade edebiliriz:
110x1 + 120x2 ≥ 400
Kısıtlarımızı matematiksel formüllerle ifade ettiğimize göre şimdi amaç fonksiyonumuzu oluşturabiliriz.
Amaç fonksiyonu. Problemimizin sözel ifadesine göz atarsak, amacımızın, yukarıdaki kısıtları sağlayacak en ucuz menünün oluşturulmak istendiğini hatırlayabiliriz. Yani en ucuz menü için hangi besinden ne
kadar satın almalıyız? Tablo 2.3’in en alt satırındaki besin birim fiyatları ve bu besinlerden satın alınacak
toplam miktarları x1 ve x2 ile işaretlediğimizi göz önünde bulundursak bu menüye harcanacak para miktarını kolayca hesaplayabiliriz:
z= 3.8x1 + 4.2x2
30
2
Yöneylem Araştırması
Amaç, bu miktarın en küçüklenmesi olduğuna göre, problemin matematiksel modelini aşağıdaki şekilde yazabiliriz:
0.1x1 + 0.25x2 ≥ 1
x1 + 0.25x2 ≥ 5
110x1 + 120x2 ≥ 400
x1 , x2 ≥ 0
kısıtları altında
Enk z= 3.8x1 + 4.2x2
Şimdi ise Yöneylem Araştırmasında çok önemli bir yere sahip bir başka problem türü ile ilgili bir problem örneğini inceleyelim.
ÖRNEK 2.5: (Ulaştırma Problemi)
Bir şirkete ait F1 ve F2 isimli iki mobilya fabrikası masa üretimi yapmakta ve bu fabrikalarda üretilen
masalar da D1, D2, D3 isimli 3 farklı dükkâna satılmaktadır. F1 fabrikasının bir ayda üretebileceği masa
sayısı 11; F2 fabrikasının ise 14’ tür. Bunun dışında D1 dükkânının bir ayda satabileceği masa sayısı 10;
D2 dükkânınki 8; D3 dükkânınki ise 7’dir. Her fabrikadan her bir dükkâna taşınacak masaların taşınma
masrafları farklıdır. Bu şirket, fabrikaların üretim kapasitelerini aşmadan ve her dükkânın talebini karşılayacak şekilde, hangi fabrikadan hangi dükkâna ne kadar masa taşınmasına karar vermek istemekte ve bunu
en düşük maliyetle gerçekleştirmek istemektedir.
Probleme ait bu veriler, her fabrikadan her bir dükkâna birim taşıma maliyetleri ile birlikte aşağıdaki
Tablo 2.4’te gösterilmiştir. Tablo 2.4’ teki veriyi aşağıdaki şekilde okumak gerekiyor: Örneğin, F1 satırı ile
D1 sütununun kesişimindeki 8 sayısı, F1 fabrikasından D1 dükkânına 1 adet masanın taşınma maliyetinin 8 TL olduğunu göstermektedir.
Tablo 2.4 Örnek 2.5 ile ilgili veri tablosu
Fabrikalardan dükkânlara birim taşıma maliyetleri (TL)
Fabrikalar
Dükkânlar
Fabrikaların üretim
kapasitesi
D1
D2
D3
F1
8
6
10
11
F2
9
5
7
14
Dükkânların talep
miktarları
10
8
7
Problem üzerinde tartışma. Hem dükkânların talebini karşılayacak hem de fabrikaların üretim kapasitesini aşmayacak bir ulaştırma – atama planı, mesela aşağıda verilen Tablo 2.5’ teki gibi olabilir. Ulaştırma – atama olarak nitelendirmeden amacımız, bu problemin aslında her fabrika – dükkân çiftine ne kadar
masa atanmasına karar verilmesi problemi olarak da nitelendirilebileceğinin altını çizmektir.
Tablo 2.5 Örnek 2.5 ile ilgili birinci uygun çözüm tablosu
Fabrikalardan dükkânlara birim taşıma maliyetleri (TL)
Fabrikalar
Dükkânlar
D1
D2
D3
Fabrikaların üretim
kapasitesi
F1
8
0
6
7
10
4
11
F2
9
10
5
1
7
3
14
Dükkânların talep
miktarları
10
8
7
31
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Tablo 2.5’te satır-sütun kesişimindeki rakamlar bu sefer hem de taşınacak ürün sayısını ifade etmek için
kullanılmıştır. Örneğin, F1-D1 karesindeki 8 sayısı, F1 fabrikasından D1 dükkânına bir adet masa taşıma
maliyetinin 8 TL olduğunu, 0 sayısı ise hiç masa taşınmayacağını, F1 - D2 karesindeki 6 ve 7 sayılarının ise
F1’den D2’ye bir adet masa taşıma maliyetinin 6 TL olduğu ve 7 adet masa taşınacağı bilgisini göstermektedir. D1 sütununda bu dükkâna taşınacak toplam masa sayısı böylece 0 + 10 =10, yani D1 dükkânının
talep miktarının karşılandığını gösteriyor. Benzer şekilde D2 sütununda bu dükkâna taşınacak toplam
masa sayısının 7 + 1 = 8, D3 sütununda da bu dükkâna taşınacak toplam masa sayısının 4 + 3 = 7 olduğu,
yani böylece her bir dükkânının talep miktarının karşılandığı görülmektedir. Öte yandan, satırlardaki (her
fabrikadan) taşınacak masa sayılarını hesaplayacak olursak, bu sefer de F1 satırı için 0+7+4=11, F2 satırı
için de 10+1+3=14 sayısını bulabiliriz. Bu sayıları, tablonun en sağ sütunundaki rakamlarla karşılaştırdığımızda, bu atama planının, fabrikaların kapasite miktarlarını da tamamen tükettiği görülür. Bu da Tablo
2.5’te açıklanan taşıma planının bizim problem için bir uygun çözüm olduğunu gösteriyor, yani böyle bir
taşıma planı hiçbir fabrikanın üretim kapasitesini ihlal etmemekte ve dahası bütün dükkânların taleplerini
de karşılamaktadır. Şimdi amacımızın sadece talep-kapasite karşılanması değil, hem de en düşük maliyetli
bir ulaştırma planı bulunması olduğunu hatırlayalım ve bu ulaştırma planının maliyetini de hesaplayalım.
Taşıma miktarlarını tablodaki birim maliyet rakamları ile çarpıp toplarsak toplam taşıma maliyetini aşağıdaki şekilde hesaplayabiliriz:
8×0+6×7+10×4+9×10+5×1+7×3=198
Şimdi Tablo 2.6’da gösterilen ikinci bir uygun çözüm seçeneğini inceleyelim:
Tablo 2.6 Örnek 2.5 ile ilgili ikinci uygun çözüm tablosu
Fabrikalardan dükkânlara birim taşıma maliyetleri (TL)
Fabrikalar
Dükkânlar
D1
D2
D3
Fabrikaların üretim
kapasitesi
F1
8
10
6
1
10
0
11
F2
9
0
5
7
7
7
14
Dükkânların talep
miktarları
10
8
7
Tablo 2.6’de verilen taşıma - atama sayılarının da kapasite-talep kısıtlarını sağladığı kolayca görülmektedir. Bu tablodaki uygun çözüm için de toplam maliyeti hesaplayalım:
8×10+6×1+10×0+9×0+5×7+7×7=170.
Tablo 2.5 ve Tablo 2.6’da verilen uygun çözümleri, amaç fonksiyonuna sağladıkları değer (toplam taşıma maliyeti) açısından kıyaslayacak olursak, Tablo 2.6’da verilen çözümün birinci çözüme göre daha iyi
bir uygun çözüm olduğu anlaşılıyor.
Örnek 2.5 Probleminin Matematiksel Modeli
Her defasında farklı bir uygun taşıma planı oluşturarak farklı bir taşıma maliyetli atama bulunabileceği,
yukarıda problem ile ilgili tartışmadan da çok açık görülmektedir. Bu durumda, problemin matematiksel
modelinin kurularak en iyi çözümün bilimsel yöntemlerle bulunmasının önemi bir kez daha ortaya çıkıyor.
Problemde en uygun taşıma-atama sayılarının bulunması istendiğinden, bu bilgiyi karar değişkenleri
olarak belirleyelim:
Karar değişkenleri:
xij ile i. Fabrikadan j. Dükkâna taşınacak masa miktarını işaretleyelim, i=1,2; j=1,2,3.
32
2
Yöneylem Araştırması
Bu durumda bizim tablomuzun son karar değişkenlerini içeren şekli aşağıdaki gibi olacaktır:
Tablo 2.7 Örnek 2.5 ile ilgili karar değişkenlerini içeren tablo
Fabrikalardan dükkânlara birim taşıma maliyetleri (TL)
Fabrikalar
Dükkânlar
D1
D2
D3
Fabrikaların üretim
kapasitesi
F1
8
x11
6
x12
10
x13
11
F2
9
x21
5
x22
7
x23
14
Dükkânların talep
miktarları
10
8
7
Şimdi kısıtları formüle edelim.
F1 fabrikasından D1, D2, D3 Dükkânlarına gönderilecek toplam masa sayısı, bu fabrikanın kapasitesine eşit olmalıdır:
x11 + x12 + x13 = 11.
F2 fabrikasından D1, D2, D3 Dükkânlarına gönderilecek toplam masa sayısı, bu fabrikanın kapasitesine eşit olmalıdır:
x21 + x22 + x23 = 14.
D1 Dükkânına F1 ve F2 fabrikalarından gönderilecek toplam masa sayısı, bu dükkânın talep miktarına
eşit olmalıdır:
x11 + x21 = 10.
D2 Dükkânına F1 ve F2 fabrikalarından gönderilecek toplam masa sayısı, bu dükkânın talep miktarına
eşit olmalıdır:
x12 + x22 = 8.
D3 Dükkânına F1 ve F2 fabrikalarından gönderilecek toplam masa sayısı, bu dükkânın talep miktarına
eşit olmalıdır:
x13 + x23 = 7.
Karar değişkenleri, gönderilecek masa miktarlarını gösterdiklerinden, negatif olamazlar:
xij ≥ 0, i = 1,2; j = 1, 2, 3.
Buradaki fonksiyonel kısıtlardan ilk ikisi kapasite kısıtı, sonraki üç tanesi kısıt talep kısıtı, son kısıtlar ise
işaret kısıtları oluyor.
Problemin amaç fonksiyonu ise maliyet minimizasyonunu ifade edecektir:
Enk z= 8x11 + 6x12 + 10x13 + 9x21 + 5x22 + 7x23.
Bu problemde değişken sayısı 2 x 3 = 6, fonksiyonel kısıt sayısı ise 2+3=5. Bu problem, ilerleyen bölümlerde daha kapsamlı bir şekilde öğreneceğimiz ulaştırma problemlerine bir örnektir.
Bir sonraki alt bölümde, doğrusal programlama problemlerinin en iyi çözümünü bulmak için Grafik
Yöntemini öğreneceğiz.
33
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Öğrenme Çıktısı
3 Matematiksel modelin kurulmasının aşamalarını, parametrelerini, karar değişkenlerini,
kısıtlarını ve amaç fonksiyonunu açıklayabilme
Araştır 3
İlişkilendir
Anlat/Paylaş
Bir örnek karar problemi
oluşturunuz ve bu problemin sözel anlatımının onun
çözüme kavuşturulması için
neden yeterli olmadığını ve
neden bir matematiksel modele ihtiyaç duyulabileceğini
araştırın ve problemin matematiksel modelini oluşturun.
Bir problemin matematiksel modelinin kurulabilmesi
için gerekli sistem analizi,
parametre kümelerinin belirlenmesi, karar değişkenleri, kısıtlar ve amaç fonksiyonunun formüle edilmesi
aşamalarını yorumlayın.
Kendi hayatınızda karşılaştığınız veya karşılaşabileceğiniz bir problem için matematiksel modelin neden
kurulmasına ihtiyaç duyulabileceğini ve nasıl kurulabileceğini ve tartışın.
GRAFİK ÇÖZÜM YÖNTEMİ
Bu bölümde, doğrusal programlama problemlerinin en iyi çözümlerinin bulunabilmesi için grafik yöntemi öğreneceğiz. Grafik yöntem, problemin uygun çözümler kümesinin ve amaç fonksiyonunun grafiksel
olarak gösterilmesi ve amaç fonksiyonunun en büyüklenmesi veya en küçüklenmesine bağlı olarak uygun
çözümlerin geometrik yorumlarla araştırılmasına dayanıyor. Önceki bölümlerde incelediğimiz örneklerin
bazılarında en iyi çözümü direkt kıyaslama yöntemi ile bulabilmiştik. Aslında bu tür kıyaslamanın, uygun
çözümlerin tamamını kıyaslayarak elemenin mümkün olmadığı durumlarda bile genel bir çözüm yöntemi
hakkında ipuçları içermektedir. Söylediklerimizi anlatmak için yukarıda matematiksel modeli kurulan
problemlerle devam edelim.
ÖRNEK 2.6 : Örnek 2.3’te incelediğimiz Problemin Grafik Yöntemle Çözümü
Öncelikle problemi hatırlayalım.
Bir işletme sosis, salam ve kavurma üretimi yapmaktadır. Bu ürünlerin üretimi için ana ham madde olarak
et kullanılmaktadır. İşletme, et alımını iki farklı tedarikçiden temin etmekte ve ürettiği ürünleri satarak faaliyetini sürdürmektedir. İşletmede üretim ve pazarlama birimleri ile birlikte bir araştırma yapan YA ekibi,
farklı tedarikçilerden alınan etler arasında kalite farkı bulunduğunu tespit ediyor (içerdikleri yağlılık oranı,
kemik oranı vb.) ve aşağıdaki birim üretim bilgilerini hesaplıyor:
• 1. tedarikçiden alınan 1 ton etten 0.2 ton sosis, 0.2 ton salam, 0.4 ton kavurma üretilmekte ve geri
kalan 0.2 ton et (sinir ve kemikler) fire olarak değerlendirilmektedir.
• 2. tedarikçiden alınan 1 ton etten 0.3 ton sosis, 0.1 ton salam, 0.4 ton kavurma üretilmekte ve geri
kalan 0.2 ton et fire olarak değerlendirilmektedir.
1 ton ham maddeden 1 günde üretilebilecek ürün miktarları, bu ürünlere piyasadaki günlük talep
miktarları ve tedarikçi bazında her bir et türünün birim miktarından 1 günde üretilen ürünlerin satışından
elde edilecek kâr miktarları Tablo 2.2’de gösterilmiştir.
34
2
Yöneylem Araştırması
Kârın en büyüklenmesi için her bir tedarikçiden
ne kadar et alınması gerektiği şeklinde formüle edilen
problemin matematiksel modeli aşağıdaki şekilde idi:
0.2 A1 + 0.3A2 ≤ 1.6,
(2.1)
0.2 A1 + 0.1A2 ≤ 1.4,
(2.2)
0.4 A1 + 0.4A2 ≤ 3.6,
(2.3)
A1 ≥ 0, A2 ≥ 0 (2.4)
kısıtları altında
Enb z = 6A1 + 7A2
(2.5)
Önce, A1 ve A2 karar değişkenleri için (2.1) eşitsizliğini sağlayan çözüm alanını grafiksel olarak gösterelim.
0.2 A1 + 0.3A2 ≤ 1.6,
Bu eşitsizliği, eşitlik olarak ele aldığımızda
Benzer şekilde (2.2) ve (2.3) kısıtlarını da geometrik olarak grafikte gösterebiliriz (bakınız Şekil
2.2 ve 2.3).
A2
14
kısıt (2.2): 0.2A1+0.1A2≤1.4
0
7
A1
Şekil 2.2 Örnek 2.6’nın (2.2) kısıdının geometrik
gösterimi
0.2 A1 + 0.3A2 = 1.6
denklemini elde ederiz. Koordinat eksenlerini A1 ve A2 olarak ele alacak olursak, elde edilen denklemin bu koordinat sisteminde bir doğru
denklemi olduğu açıktır. A1 = 0 dersek, A2 = 16/3
bu doğrunun A2 eksenini kestiği nokta; A2 = 0
dersek, A1 = 8 ise bu doğrunun A1 eksenini kestiği nokta olarak kolaylıkla bulunur. İki noktadan
tek bir doğru geçeceği bilgisini kullanarak bu doğru için aşağıdaki grafiği çizebiliriz. (2.1) eşitsizliğini
A2 değişkenine göre çözersek
A2≤
A2
9
kısıt (2.3): 0.4A1+0.4A2≤3.6
A1
0
16 2 A1
−
3
3
9
Şekil 2.3 Örnek 2.6’nın (2.3) kısıdının geometrik
Eşitsizliğini elde ederiz. A2 ekseninin azalma yönü
yukarıdan aşağıya doğru olduğundan, bu eşitsizliğin
çözüm alanı grafikteki doğrunun altında kalan alan
olacaktır. Negatif olmama kısıtlarını da dikkate aldığımızda tam olarak aşağıdaki grafikteki alanı elde ederiz.
A2
kısıt (2.1): 0.2A1+0.3A2≤1.6
16/3
8
A1
gösterimi
Şimdi, Şekil 2.1, 2.2. ve 2.3’te gösterilen bütün alanları tek bir grafikte birleştirelim: bakınız,
turuncu ile işaretlenmiş alan, Şekil 2.4. Grafikten
de görüldüğü üzere, (2.1) ve (2.2) kısıtlarının kesişimindeki alan tamamen (2.3) kısıdı ile belirlenen
alanın alt kümesidir. Bu durum, (2.3) kısıdının uygun çözüm alanını etkilemediğini, dolayısıyla (2.3)
kısıdının “artık kısıt” olduğunu göstermektedir.
Problemin amaç fonksiyonu, (2.5) formülü ile tarif
edilen z(A1, A2) = 6A1+ 7A2 fonksiyonunun en
büyüklenmesidir. Şimdi, uygun çözüm alanında
bu fonksiyona en büyük değer sağlayan uygun çözümün nasıl bulunacağını inceleyelim.
Şekil 2.1 Örnek 2.6’nın (2.1) kısıdının geometrik
gösterimi
35
2
Doğrusal Programlama Modelleri: Grafik Çözüm
doğruları ve onların kesişim noktası olan D noktasını inceleyelim. D noktası, bu iki doğrunun kesişim noktası olduğundan aşağıdaki iki denklemin
ortak çözümü olarak bulunabilir:
A2
14
(2.2)
0.2 A1 + 0.3A2 = 1.6,
0.2 A1 + 0.1A2 = 1.4.
9
(2.3)
Buradan, A1 = 6.5 ve A2 = 1 bulunur. Şimdi
amaç fonksiyonunun değerini bu noktada da hesaplayalım:
z(6.5, 1) = 6×6.5 + 7×1 = 46.
16/3
(2.1)
D(6.5,1)
A1
0
7
8
9
Şekil 2.4 Örnek 2.6’nın uygun çözüm alanının
geometrik gösterimi
Amaç fonksiyonumuzda, A1 ve A2 karar değişkenlerinin her ikisinin katsayıları pozitif sayılar olduğundan, bu değişkenler için olabildiğince büyük
sayıların seçilmesi, amaç fonksiyonumuzun da değerini büyütecektir. Bu yüzden, A1 ekseni boyunca
uygun çözüm alanına bakacak olursak, A1 değişkeni için olabildiğince en büyük uygun değerin A1=7
olduğu ve bu noktada A2 = 0 olduğu görülüyor.
Bu uygun çözüm için fonksiyonumuzun değerini
hesaplayalım:
z(7,0) = 6×7 + 7×0 = 42.
Şimdi benzer şekilde, A2 ekseni boyunca, uygun
çözüm alanında ilerleyerek değişkenlerimiz için
olabildiğince en büyük uygun değerlerin A2=16/3
olduğu ve bu noktada A1 = 0 olduğu görülüyor.
Bu uygun çözüm için de amaç fonksiyonumuzun
değerini hesaplayalım:
⎛ 16 ⎞
16 122
z ⎜0, ⎟ =6 x 0+7x =
.
3
3
3
⎝
⎠
⎛ 16 ⎞
⎟ uy⎝ 3 ⎠
Bu hesaplama, (7,0) uygun çözümünün ⎜0,
gun çözümünden daha iyi bir çözüm olduğunu
göstermektedir. Acaba uygun çözüm alanında
(7,0)’dan daha iyi bir çözüm var mı? Bunun için
son olarak, (2.1) ve (2.2) eşitsizliklerinin belirlediği
36
Son olarak, D(6.5,1) noktasından sınır doğrusu
⎛ 16 ⎞
⎝
⎠
boyunca ister (7, 0) noktasına, isterse de ⎜0, 3 ⎟ noktasına doğru gidildiğinde, bütün noktalarda fonksiyonumuzun değerinin daha büyük olmadığı basit
bir hesaplama ile görülebilir. Bu da, problemin en
iyi çözümünün (6.5,1) noktasında elde edildiğini,
bir başka deyimle de üreticimizin, 1. Tedarikçiden
6.5 ton, 2. Tedarikçiden de 1 ton et alınmasının
en büyük kar açısından en iyi karar olduğu görülmektedir.
Şimdi son olarak, bir daha en iyi çözümün
neden D noktasında elde edildiğini bilimsel olarak inceleyelim. Bunun için en önemli etken olan
amaç fonksiyonumuzu bir daha inceleyelim:
z = 6A1 + 7A2.
Şekil 2.5’te bu fonksiyonda yer alan karar değişkenlerinin katsayılarının oluşturduğu ve yeşil
okla belirtilmiş olan C(6,7) vektörünü görüyoruz.
Bu vektöre dik olan ve z1= 0, z2= 42 ve z3= 46
şeklinde işaretlenmiş doğrulara dikkat edelim. Bu
doğruların üçü de C(6,7) vektörüne, yani (0, 0) ile
C(6,7) noktalarından geçen doğruya diktir.
z1= 0 doğrusu, aslında 6A1 + 7A2 = 0 doğrusu demektir (sağ taraf değeri z = 0 durumu). Öte
yandan (7,0) noktasından geçen doğruya bakacak
olursak, bu da aslında 6A1 + 7A2 = 42 doğrusudur ve sağ tarafın z = 42 olduğu durum. Nihayet,
(6.5, 1) noktasından geçen doğruya bakacak olursak, bunun da 6A1 + 7A2 = 46 denklemi ile tarif
edilen doğru, dolayısıyla sağ tarafın z = 46 olduğu duruma karşı geldiği görülür. Bu üç doğrunun
denklemleri ve grafiklerine dikkat ettiğimizde, bu
doğruların hepsinin C(6,7) vektörüne dik olduğu-
2
Yöneylem Araştırması
nu ve bu vektör yönünde hareket ettirildiklerinde
karşı gelen denklemlerin sadece sağ taraf sayısının
değiştiğini – arttığını görüyoruz. Zaten amacımız
bu doğru denklemlerinin sol tarafı ile tarif edilen
fonksiyonu uygun çözüm alanında en büyüklemek
olduğundan, en iyi çözümü bulmak için bu doğruyu, uygun çözüm alanında C(6,7) vektörü kaydırarak, uygun çözüm alanını terk ettiği noktayı
bulmak gerekir.
dikkat
Amaç fonksiyonu Enb z = ax + by şeklinde,
uygun çözüm alanı da bir K kümesi şeklinde tarif edilen bir doğrusal programlama
probleminin en iyi çözümünü bulmak için,
(0,0) noktası ile (a,b) noktasından geçen
vektöre dik doğruyu, K kümesinde (a,b)
vektörü yönünde kaydırarak, K kümesini
en son terk ettiği noktayı bulmak yeterlidir.
Eğer böyle bir nokta varsa, bu nokta problemin en iyi çözümüdür. Eğer doğru sınırsızca kaydırıldığında uygun çözüm alanını
terk etmiyorsa, amaç fonksiyonu üstten sınırsızdır ve problemin en iyi çözümü yok
tur demektir. En küçükleme probleminin
en iyi çözümünü bulmak için (0,0) noktası ile (a,b) noktasından geçen vektöre dik
doğruyu, K kümesinde (a,b) vektörünün
tersi yönünde kaydırarak, K kümesini en
son terk ettiği noktayı bulmak gerekiyor.
0.1 x1 + 0.25x2 ≥ 1,
x1 + 0.25x2 ≥ 5,
110x1 + 120x2 ≥ 400,
x1, x2 ≥ 0
kısıtları altında
Enk z = 3.8x1+ 4.2x2.
A2
C(6,7)
7
16/3
(2.10)
(2.11)
(2.12
(2.13)
z2=42
z3=46
z1=0
D(6.5,1)
A1
0
ÖRNEK 2.7: Yukarıda Örnek 2.4’te matematiksel modeli kurulan Diyet Probleminin en iyi çözümünü grafik yöntemle bulun.
Önce problemi hatırlayalım.
Bir anne çocuğunun sağlıklı beslenmesi için alması gereken vitaminleri kahvaltı sırasında ona ne
şekilde verebileceğini planlamak istemektedir. Annenin yaptığı araştırmaya göre kahvaltı öğününde
çocuğu 1 mg C vitamini, 5 mg D vitamini ve 400
kalori enerji almalıdır. Bunun için anne, buğday
gevreği (kısaca B ile işaretleyeceğiz) ve yulaf ezmesi
(Y) gibi 2 çeşit besini tercih etmek istiyor. Anne
besinleri incelerken bir birim B besininin 0.1 mg
C vitamini, 1 mg D vitamini ve 110 kalori enerji içerdiği, Y besininin 1 biriminin ise 0.25 mg C
vitamini, 0.25 mg D vitamini ve 120 kalori enerji
içerdiği bilgisine ulaşıyor. Bu besinlerin birim fiyatları sırasıyla 3.80 TL ve 4.20 TL olduğuna göre
Annemiz çocuğunun gerekli vitamin ve kalori miktarlarını almasını garantilemek fakat bunu en ucuz
menü ile oluşturmak istemektedir.
Problemin matematiksel modeli
Karar değişkenleri. Problemimizi çözebilmek
için B besininden satın alınması gereken miktarı
x1, Y besininden satın alınması gereken miktarı x2
ile işaretleyelim.
Amaç, bu miktarın en küçüklenmesi olduğuna
göre, problemin matematiksel modelini aşağıdaki
şekilde yazabiliriz:
6
7
Şekil 2.5 Örnek 2.6’nın en iyi çözümünün bulunmasının
Problemin grafik yöntemle çözümü
Problemin matematiksel modelinde tarif edilen
uygun çözüm alanı Şekil 2.6’da oluşturulmuştur.
Çizgiler üzerindeki (2.10), (2.11) ve (2.12) numaraları problemin matematiksel modelindeki ilgili
kısıdın denklem numaralarını göstermekte, turuncu çizgiler arasında oklarla gösterilen alan ise nihai
uygun çözüm alanını göstermektedir.
geometrik gösterimi
37
2
Doğrusal Programlama Modelleri: Grafik Çözüm
x2
20
(2.11)
4
(2.10)
40/12
D(3,2)
(2.12)
x1
0
40/11
5
10
Şekil 2.6 Örnek 2.7 probleminin uygun çözüm alanının geometrik gösterimi
(2.10) ve (2.11) kısıtlarını sağlayan her bir uygun çözümün (2.12) kısıdını da sağlayacağı bu grafikten
net bir şekilde görülmektedir. Bu da (2.12) kısıdının artık kısıt olduğu anlamına gelmektedir.
Problemin en iyi çözümünü bulabilmek için bu grafiğe bir de amaç fonksiyonu vektörünü ve bu vektöre dik doğrunun, (problem en küçükleme olduğundan) amaç fonksiyonunun tersi yönünde kaydırılarak
uygun çözüm alanını en son terk edeceği noktayı göstermemiz gerekiyor.
x2
20
(2.11)
z2=236/9
z1=38
C(3.8,4.2)
D(40/9, 20/9)
(2.10)
0
5
10
x1
Şekil 2.7 Örnek 2.7 probleminin en iyi çözümünün bulunmasının geometrik gösterimi
38
2
Yöneylem Araştırması
Problemin amaç fonksiyonu Enk z = 3,8x1+ 4,2x2. şeklinde verildiğinden amaç fonksiyonu katsayılar vektörümüz C(3.8, 4.2) olacaktır. Bu vektöre dik doğruları, Şekil 2.9’da gösterildiği şekilde,
C(3.8, 4.2) vektörüne ters yönde kaydırdığımızda, uygun çözüm alanının en son terk edildiği noktanın D(40/9, 20/9) olduğu çok açık görülmektedir. Bu noktadaki amaç fonksiyonu en küçük değeri
de zenk =3.8x 40 +4.2x 20 = 236 olarak hesaplanır.
09
9
9
Bu sonucu aşağıdaki şekilde yorumlayabiliriz: Annemiz bir günde 40/9 birim B besini ve 20/9
birim Y besini satın alarak çocuğuna öngördüğü vitamin ve enerji miktarlarının verilmesini garantileyebilecek ve bunu gerçekleştirebileceği en düşük bütçe 236/9 TL olacaktır.
Öğrenme Çıktısı
4 Doğrusal programlama probleminin grafik yöntemle en iyi çözümünün nasıl
bulunabileceğini açıklayabilme
Araştır 4
İlişkilendir
Anlat/Paylaş
Bir karar probleminin en iyi
çözümünün bulunabilmesi
için grafik yönteme neden
ihtiyaç duyulabileceğini ve
bunun nasıl yapılabileceğini araştırın.
Bir doğrusal karar problemin
matematiksel modelinin grafik yöntemle çözülebilmesi
için doğru grafiklerinin çizimi, uygun çözüm alanının oluşturulması ve amaç
fonksiyonuna en iyi değeri
sağlayacak çözümün bulunabilmesi için gerekli işlemleri
ilişkilendirin.
Sizin veya çevrenizden birisinin karşılaştığınız basit
bir problemin matematiksel modelinin oluşturularak
grafik yöntemle en iyi çözümünün bulunabilmesi veya
neden bulunamaması durumunu tartışın ve bulduğunuz çözümü yorumlayın.
39
2
Doğrusal Programlama Modelleri: Grafik Çözüm
öğrenme çıktıları ve bölüm özeti
1
Eniyileme problemleri için çözüm,
uygun çözüm, en iyi çözüm
kavramlarını açıklayabilme
En İyileme Problemleri İçin
Çözüm, Uygun Çözüm, En İyi
Çözüm Kavramları
2
Doğrusal programlamanın
varsayımlarını açıklayabilme
Doğrusal Programlama
Problemlerinin Varsayımları
3
Bir en iyileme probleminin araştırılması ve en iyi çözümünün bulunmasında en önemli yere sahip matematiksel model kavramı da
bu bölümde ayrıntılı bir şekilde öğrenilmiştir. Matematiksel modelin kurulabilmesi için, bu kavramın tüm komponentleri, parametre kümesi, karar değişkenleri, amaç fonksiyonu veya fonksiyonları, fonksiyonel ve küme kısıtları örneklerle desteklenerek en
ince detaylarına kadar açıklanmıştır. Herhangi bir işletmede mevcut problemin sözel hikâyesinden başlayarak, problem verilerinin
analiz edilmesi ve bir matematiksel model şeklinde nasıl formüle
edileceği de bu bölümde adım adım anlatılmıştır.
Doğrusal programlama probleminin
grafik yöntemle en iyi çözümünün
nasıl bulunabileceğini açıklayabilme
Grafik Çözüm Yöntemi
40
Bu bölümde, kitabımızın da en önemli konu başlıklarından biri
olan doğrusal programlama problemlerinin tanımı, bir en iyileme probleminin doğrusal programlama problemi olabilmesi
için sağlanması gereken koşul ve varsayımlar kapsamlı bir şekilde ele alınmış ve açıklayıcı örnekler üzerinde yorumlanmıştır.
Matematiksel modelin
kurulmasının aşamalarını,
parametrelerini, karar
değişkenlerini, kısıtlarını ve amaç
fonksiyonunu açıklayabilme
Matematiksel Model
4
Bu bölümde, genel olarak bir en iyileme probleminin nasıl tanımlanabileceği, en küçükleme ve en büyükleme problemleri arasında nasıl geçiş yapılabileceği açıklanmıştır. En iyileme
problemleri için uygun çözüm kavramı, uygun çözüm alanı ve
en iyi çözüm kavramları açıklayıcı örneklerle tanımlanmıştır.
Nihayet bu bölümde, bir problemin matematiksel modelinin
geometrik olarak nasıl resimlenebileceği, problemi tanımlayan
amaç fonksiyonu ve fonksiyonel ve küme kısıtlarının grafiklerinin kullanılarak uygun çözüm alanının ve bu alanda en iyi çözümün nasıl bulunacağı ayrıntılı bir şekilde açıklanarak örnekler
üzerinde de yorumlanmıştır.
2
Yöneylem Araştırması
A. Problemin karar değişkenleri sadece tam sayı
değerleri alabilir.
B. Problemin karar değişkenleri sadece [0,1] aralığındaki reel sayı değerlerini alabilir.
C. Problemin fonksiyonel kısıtları doğrusal eşitliklerle ifade edilmiştir.
D. Problemin fonksiyonel kısıtları doğrusal eşitsizliklerle ifade edilmiştir.
E. x ve y problemin karar değişkenleri, ve ise
problemin parametreleri olmak üzere, amaç
fonksiyonu Enk z = ax - by şeklinde ifade
edilmiştir.
2 Çiftçimiz A ve B köylerindeki çiftliklerden aldığı
sütten, krema ve yoğurt üretmektedir. A köyündeki
çiftlikten alınan 1 litre sütten 0.3 kg krema ve 0.4 kg
yoğurt üretilmektedir. B köyündeki çiftlikten alınan 1
litre sütten ise 0.2 kg krema, 0.5 kg yoğurt üretilmektedir. Çiftçimiz bir günde en fazla 9 kg krema, 15.5 kg
yoğurt satabilmekte ve her gün yaptığı hesap sonucu
A köyünden alınan her 1 litre sütten üretilen ürünlerin satışından toplam 3.1 TL, B köyünden alınan her
1 litre sütten üretilen ürünlerin satışından ise 3 TL
kâr elde etmektedir. Çiftçimiz bu ürünlerin satışından
elde ettiği kârı en büyüklemek istemekte, fakat bunu
nasıl yapacağını bilememektedir. Çiftçimizin toplam
kârını en büyüklemek amacıyla bu problemin matematiksel modelini kurmak için kullanılması gereken
karar değişkenleri aşağıdakilerden hangisinde doğru
belirtilmiştir?
3 Çiftçimiz A ve B köylerindeki çiftliklerden
aldığı sütten, krema ve yoğurt üretmektedir. A
köyündeki çiftlikten alınan 1 litre sütten 0.3 kg
krema ve 0.4 kg yoğurt üretilmektedir. B köyündeki çiftlikten alınan 1 litre sütten ise 0.2 kg krema,
0.5 kg yoğurt üretilmektedir. Çiftçimiz bir günde
en fazla 9 kg krema, 15.5 kg yoğurt satabilmekte
ve her gün yaptığı hesap sonucu A köyünden alınan her 1 litre sütten üretilen ürünlerin satışından
toplam 3.1 TL, B köyünden alınan her 1 litre sütten üretilen ürünlerin satışından ise 3 TL kâr elde
etmektedir. Çiftçimiz bu ürünlerin satışından elde
ettiği kârı en büyüklemek istemekte, fakat bunu
nasıl yapacağını bilememektedir. Çiftçimizin toplam kârını en büyüklemek amacıyla bu problemin
matematiksel modelini kurmak için A köyünden
aldığı sütün toplam miktarını x ile ve B köyünden
aldığı sütün toplam miktarını ise y ile işaretlediğini
düşünerek, krema üretiminin sınırlanması gerektiğini ifade eden kısıt aşağıdakilerden hangi şıkta
doğru yazılmıştır?
A. 0.3x + 0.4y ≤ 1
B. 0.4x + 0.5y ≤ 15.5
C. 0.3x + 0.2y ≤ 9
D. 0.2x + 0.5y ≤ 9
E. 0.4x + 0.5y ≤ 9
A. Çiftçinin 1 kg kremanın satışından elde ettiği
kâr miktarı x TL, 1 kg yoğurttan elde ettiği kâr
miktarı ise y TL olsun.
B. Çiftçinin üretmesi gereken toplam krema miktarı x kg, toplam yoğurt miktarı ise y kg olsun.
C. Çiftçinin A köyünden aldığı sütün 1 litresinin
fiyatı x TL, B köyünden aldığı sütün 1 litresinin
fiyatı ise y TL olsun.
D. Çiftçinin krema üretimi için kullandığı toplam
süt miktarı x litre, yoğurt üretimi için kullandığı toplam süt miktarı y litre olsun.
E. Çiftçinin A köyünden aldığı sütün toplam
miktarı x litre, B köyünden aldığı sütün toplam
miktarı ise y litre olsun.
41
neler öğrendik?
1 Aşağıda belli bir özelliği tarif edilen problemlerden hangisi bir Doğrusal Programlama problemi
değildir?
2
Doğrusal Programlama Modelleri: Grafik Çözüm
neler öğrendik?
4
Çiftçimiz A ve B köylerindeki çiftliklerden
aldığı sütten, krema ve yoğurt üretmektedir. A
köyündeki çiftlikten alınan 1 litre sütten 0.3 kg
krema ve 0.4 kg yoğurt üretilmektedir. B köyündeki çiftlikten alınan 1 litre sütten ise 0.2 kg krema,
0.5 kg yoğurt üretilmektedir. Çiftçimiz bir günde
en fazla 9 kg krema, 15.5 kg yoğurt satabilmekte
ve her gün yaptığı hesap sonucu A köyünden alınan her 1 litre sütten üretilen ürünlerin satışından
toplam 3.1 TL, B köyünden alınan her 1 litre sütten üretilen ürünlerin satışından ise 3 TL kâr elde
etmektedir. Çiftçimiz bu ürünlerin satışından elde
ettiği kârı en büyüklemek istemekte, fakat bunu
nasıl yapacağını bilememektedir. Çiftçimizin toplam kârını en büyüklemek amacıyla bu problemin
matematiksel modelini kurmak için A köyünden
aldığı sütün toplam miktarını x ile ve B köyünden
aldığı sütün toplam miktarını ise y ile işaretlediğini
düşünerek, yoğurt üretiminin sınırlanması gerektiğini ifade eden kısıt aşağıdakilerden hangi şıkta
doğru yazılmıştır?
A. 0.4x + 0.5y ≤ 1
B. 0.4x + 0.5y ≤ 15.5
C. 0.3x + 0.2y ≤ 15.5
D. 0.2x + 0.5y ≤ 9
E. 0.3x + 0.4y ≤ 15.5
42
5 Çiftçimiz A ve B köylerindeki çiftliklerden aldığı sütten, krema ve yoğurt üretmektedir. A köyündeki çiftlikten alınan 1 litre sütten 0.3 kg krema ve
0.4 kg yoğurt üretilmektedir. B köyündeki çiftlikten
alınan 1 litre sütten ise 0.2 kg krema, 0.5 kg yoğurt
üretilmektedir. Çiftçimiz bir günde en fazla 9 kg krema, 15.5 kg yoğurt satabilmekte ve her gün yaptığı
hesap sonucu A köyünden alınan her 1 litre sütten
üretilen ürünlerin satışından toplam 3.1 TL, B köyünden alınan her 1 litre sütten üretilen ürünlerin
satışından ise 3 TL kâr elde etmektedir. Çiftçimiz bu
ürünlerin satışından elde ettiği kârı en büyüklemek
istemekte, fakat bunu nasıl yapacağını bilememektedir. Çiftçimizin toplam kârını en büyüklemek amacıyla bu problemin matematiksel modelini kurmak
için A köyünden aldığı sütün toplam miktarını x ile
ve B köyünden aldığı sütün toplam miktarını ise y
ile işaretlediğini düşünerek, toplam kârı en büyükleyecek şekilde bir amaç fonksiyonu aşağıdakilerden
hangi şıkta doğru yazılmıştır?
A. Enb z = 9x + 15.5y
B. Enb z = 0.3x + 0.4y
C. Enb z = 0.2x + 0.5y
D. Enb z = 3.1x + 3y
E. Enb z = 0.5x + 0.9y
2
Yöneylem Araştırması
6
A. 0.3x + 0.2y ≤ 9,
0.4x + 0.5y ≤ 15.5,
x ≥ 0, y ≥ 0,
Enb z = 3.1x + 3y
B. 0.3x + 0.2y ≤ 9, 0.4x + 0.5y ≤ 15.5,
x ≥ 0, y ≥ 0,
Enb z = 0.3x + 0.4y
C. 0.3x + 0.2y ≤ 9, 0.2x + 0.5y ≤ 15.5,
x ≥ 0, y ≥ 0,
Enb z = 3.1x + 3y
D. 0.3x + 0.4y ≤ 1,
0.3x + 0.2y ≤ 15.5,
x ≥ 0, y ≥ 0,
Enb z = 0.5x + 0.9y
E. 0.4x + 0.5y ≤ 9, 0.3x + 0.2y ≤ 15.5,
x ≥ 0, y ≥ 0,
Enb z = 0.5x + 0.9y
7
Matematiksel modeli,
0.3x + 0.2y ≤ 9,
0.4x + 0.5y ≤ 15.5,
x ≥ 0, y ≥ 0,
kısıtları altında
Enb z = 3.1x + 3y
neler öğrendik?
Çiftçimiz A ve B köylerindeki çiftliklerden aldığı sütten, krema ve yoğurt üretmektedir. A köyündeki çiftlikten alınan 1 litre sütten 0.3 kg krema
ve 0.4 kg yoğurt üretilmektedir. B köyündeki çiftlikten alınan 1 litre sütten ise 0.2 kg krema, 0.5 kg
yoğurt üretilmektedir. Çiftçimiz bir günde en fazla
9 kg krema, 15.5 kg yoğurt satabilmekte ve her gün
yaptığı hesap sonucu A köyünden alınan her 1 litre sütten üretilen ürünlerin satışından toplam 3.1
TL, B köyünden alınan her 1 litre sütten üretilen
ürünlerin satışından ise 3 TL kâr elde etmektedir.
Çiftçimiz bu ürünlerin satışından elde ettiği kârı en
büyüklemek istemekte, fakat bunu nasıl yapacağını
bilememektedir. Bütün kısıtları göz önünde bulundurarak, çiftçimizin toplam kârını en büyüklemek
amacıyla Yöneylem Araştırması ekibinin geliştirdiği matematiksel model aşağıdakilerden hangi şıkta
doğru yazılmıştır?
şeklinde formüle edilmiş bir problemin grafik yöntemle elde edilen çözümü aşağıdaki şıklardan hangisinde doğru açıklanmıştır?
A. x = 0,y = 45
B. x = 155, y = 0
4
C. x = 30,y = 0
D. x = 15,y = 19
E. x = 20,y = 15
8
x1 + x2 ≤ 5
2x1- x2 ≥ 2
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb z = 2x1 + x2
Probleminin en iyi çözümünü grafik yöntemle
bulunuz.
A. x = 0,y = 5
B. x = 5,y = 0
7
3
C. x = , y =
8
3
D. x = 6,y = 0
E. x = 5,y = 1
43
2
Doğrusal Programlama Modelleri: Grafik Çözüm
neler öğrendik?
9
x1 + x2 = 5
10
x1 + x2 ≤ 5
2x1- x2 = 2
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb z = 2x1 + x2
Probleminin en iyi çözümünü grafik yöntemle
bulunuz.
2x1- x2 ≤ 2
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb z = 2x1 + x2
Probleminin en iyi çözümünü grafik yöntemle
bulunuz.
A. x = 0,y = 5
B. x = 5,y = 0
A. x = 0,y = 5
B. x = 5,y = 0
C. x = 1,y = 4
77
88
D. xx== , ,,yy==
33
33
E. x = 3,y = 2
7
3
C. x = , y =
8
3
D. x = 6,y = 0
E. x = 4,y = 2
44
2
Yöneylem Araştırması
Yanıtınız yanlış ise “Eniyileme Problemleri İçin
Çözüm, Uygun Çözüm, En İyi Çözüm Kavramları” konusunu yeniden gözden geçiriniz.
6. A
Yanıtınız yanlış ise “Matematiksel Model”
konusunu yeniden gözden geçiriniz.
2. E
Yanıtınız yanlış ise “Matematiksel Model”
konusunu yeniden gözden geçiriniz.
7. E
Yanıtınız yanlış ise “Grafik Çözüm Yöntemi”
konusunu yeniden gözden geçiriniz.
3. C
Yanıtınız yanlış ise “Matematiksel Model”
konusunu yeniden gözden geçiriniz.
8. B
Yanıtınız yanlış ise “Grafik Çözüm Yöntemi”
konusunu yeniden gözden geçiriniz.
4. B
Yanıtınız yanlış ise “Matematiksel Model”
konusunu yeniden gözden geçiriniz.
9. C
Yanıtınız yanlış ise “Grafik Çözüm Yöntemi”
konusunu yeniden gözden geçiriniz.
5. D
Yanıtınız yanlış ise “Matematiksel Model”
konusunu yeniden gözden geçiriniz.
10. D
Yanıtınız yanlış ise “Grafik Çözüm Yöntemi”
konusunu yeniden gözden geçiriniz.
45
neler öğrendik yanıt anahtarı
1. A
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Araştır Yanıt
Anahtarı
2
Bir süredir araba almak için piyasa araştırması yapmaktayım. Satın alabileceğim bir araba için bazı kıstaslar belirledim. Satın alacağım arabanın,
• motor gücü 85 beygir’in altında olmamalı;
• yakıt tüketimi 5 litre/100 km’nin üzerinde olmamalı;
• motor hacmi 1.4 litre’nin üzerinde olmamalı.
Bu kıstasları sağlayan ve fiyatı en düşük olan aracı seçmek istiyorum. Yaptığım
piyasa araştırmasında Ford, Fiat ve Toyota marka araçlar için aşağıdaki Tablo
2.8’da verilen bilgilere ulaştım:
Tablo 2.8 Araştır 1 problemine ait veriler
Araştır 1
Özellik/Araba
Ford
Fiat
Toyota
motor gücü (beygir)
85
90
95
yakıt tüketimi (litre/100km)
5
5
6
motor hacmi (litre)
1.2
1.4
1.4
fiyatı (TL)
90000
95000
100000
Öncelikle koşulları sağlayan arabaları, yani uygun çözümleri seçelim: Toyota, yakıt tüketimi koşulunu sağlamadığından, uygun çözüm alanı sadece iki
arabadan oluşuyor: Ford ve Fiat. Bu iki uygun çözümden, Ford daha ucuz
olduğundan, problemin çözümü (veya en iyi çözümü) olarak seçiliyor.
Şimdi de piyasa araştırması sonucu ortaya çıkan verilerin aşağıdaki Tablo
2.9’da verildiği şekilde olduğu ikinci bir problemi inceleyelim.
Tablo 2.9 Araştır 1 ikinci problemine ait veriler
Özellik/Araba
Ford
Fiat
Toyota
motor gücü (beygir)
85
90
95
yakıt tüketimi (litre/100km)
5
5
6
motor hacmi (litre)
1.2
1.5
1.4
fiyatı (TL)
90000
95000
100000
Uygun çözümleri seçelim: Toyota, yakıt tüketimi koşulunu, Fiat ise motor hacmi koşulunu sağlamadığından, uygun çözüm alanı sadece bir tek arabadan
oluşuyor: Ford. Bu durumda uygun çözüm alanı sadece bir tek seçenekten
oluştuğundan, ortada bir karar problemi de yoktur: Ford tek seçenek olduğundan, problemin çözümü (veya en iyi çözümü) olarak ilan ediliyor.
46
2
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
2
Araştır 2
Araştır 3
Karar problemleri çok farklı şekillerde bilimsel olarak modellenebilmektedir. Örneğin doğrusal, doğrusal olmayan, tam sayılı vb. Bir karar problemi, orantılılık,
toplanabilirlik, bölünebilirlik ve belirlilik özelliklerine sahip olduğunda, doğrusal
programlama problemi olarak nitelendirilebilir. Örneğin, orantılılık özelliği diyor ki, bir üretim sürecinde birinci ürünün birim miktarını üretmek için birinci
ham maddeden h birim kullanılıyorsa, bu üründen x birim üretmek için bu ham
maddeden hx birim kullanılmalıdır. Toplanabilirlik özelliği diyor ki, eğer ikinci
ürünün birim miktarını üretmek için birinci ham maddeden m birim kullanılıyorsa bu üründen y birim üretmek için birinci ham maddeden my birim kullanmak gerekecek ve bu iki üründen sırası ile x ve y birim üretmek için birinci ham
maddeden toplam hx + my birim kullanmak gerekecektir. Bölünebilirlik özelliği,
bu ürünlerin üretilecek miktarlarının herhangi bir reel sayı değeri ile ifade edilebileceğini talep etmektedir. Belirlilik özelliği ise bir doğrusal programlama probleminin ait olduğu üretim sürecinde kullanılan tüm verilerin (parametre değerlerinin)
tamamen belirlenmiş olması gerektiğini talep etmektedir.
a.Problemin tanımı
Bir işletme sosis ve salam üretimi yapmaktadır. Bu ürünlerin üretimi için ana
ham madde olan etin, tedarik, imalat ve paketleme aşamalarından geçmesi
gerekmektedir. İşletme, et alımını iki farklı tedarikçiden temin etmekte ve
ürettiği ürünleri satarak faaliyetini sürdürmektedir. Fakat tam olarak satın aldığı etin ne kadar verimli kullanıldığını ve dahası elde ettiği kâr miktarının
nasıl artırılabileceğini hesaplayamamaktadır.
Araştırma: Problemin bu şekilde ifade edilen sadece sözel tanımını kullanarak
kârın nasıl artırılabileceği açık değil. Öncelikle bir sistem analizi yaparak problemin parametrelerini ve kârın artırılabilmesi için ne yapılabileceğini belirleyelim.
b.Sistemin analizi. İşletmede üretim ve pazarlama birimleri ile birlikte bir araştırma yapan YA ekibi, farklı tedarikçilerden alınan etler arasında kalite farkı
bulunduğunu tespit ediyor (içerdikleri yağlılık oranı, kemik oranı vb.) ve işletmede uygulanan üretim ile ilgili aşağıdaki parametre bilgilerini hesaplıyor:
• Bu işletme günlük, 1 ton sosis üretmek için 1. tedarikçiden alınan etten 3 ton
ve 2. tedarikçiden alınan etten de 1 ton kullanmakta; 1 ton sucuk üretmek için
de 1. tedarikçiden alınan etten 2 ton ve 2. tedarikçiden alınan etten de 3 ton
kullanmaktadır.
• Bu işletme, 1. Tedarikçiden bir günde toplam 13 ton, 2. Tedarikçiden ise
günlük toplam 9 ton et alabilmektedir.
• İşletme, 1 ton sosisin satışından 21000 TL, 1 ton salamın satışından ise
24000 TL kâr elde etmektedir.
1 ton ürünün üretilebilmesi için gereken ham madde miktarları, günlük kullanılabilecek toplam ham madde miktarları ve ürünlerin birim miktarlarının
satışından elde edilecek kâr miktarları Tablo 2.10’da gösterilmiştir. Bu bilgilere
göre işletmenin, günlük kârının en büyüklenmesi için her bir üründen ne kadar
üretmesi gerektiğini belirlemesi gerekmektedir.
Şimdi problem daha net tarif edilmiştir, fakat günlük kârın en büyüklenmesi için
her bir üründen ne kadar üretilmesi gerektiğinin belirlenmesi o kadar da kolay gözükmüyor. Aslında günlük üretilebilecek ürün miktarlarını oluşturarak bu miktarların amaç fonksiyonuna sağladıkları değerler açısından kıyaslanmasını yapabilsek
hangi miktarın daha iyi olduğuna karar verebiliriz. Fakat bu seçenekler sayılamayacak kadar çok ise bunun için kesinlikle bir matematiksel modele ve bu modeli
de çözmek için bilimsel bir çözüm yöntemine sahip olmamız şart gibi gözüküyor.
47
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Araştır Yanıt
Anahtarı
2
Tablo 2.10 Araştır 3 problemi ile ilgili veri tablosu
Sosis
Salam
Günlük
kullanılabilecek
ham madde
miktarları (ton)
1. Tedarikçiden alınan et
3
2
13
2. Tedarikçiden alınan et
1
3
9
Bir ton ürün satışından
elde edilecek kâr
miktarları (1000 TL)
21
24
Tedarikçi
Araştır 3
Bir ton ürün üretimi için
kullanılan ham madde
miktarı (ton)
c.Problemin matematiksel modeli
Problemde, her üründen günlük ne kadar üretilmesi gerektiğine karar verilmesi istendiğinden, karar değişkenlerimizi aşağıdaki şekilde belirleyelim:
s1 ve s2 sırasıyla sosis ve salamdan günlük üretilecek miktarları göstersin.
Tablo 2.10’un önce 1. Tedarikçi ile ilgili satırını inceleyelim. 1. Tedarikçiden
alınan etten 3 ton kullanılarak 1 ton sosis üretiliyor. Bu durumda s1 ton sosis
üretmek için 3 x s1 ton et kullanılacaktır. Tekrar bu satıra bakıldığında, 1.
Tedarikçiden alınan etten 2 ton kullanılarak 1 ton salam üretildiği görülüyor.
Bu durumda s2 ton salam üretmek için 2 x s2 ton et kullanılacaktır. Sosis ve
salam için toplam kullanılacak 1. Tedarikçiden alınan et miktarı 3 s1 + 2 s2
olarak hesaplanabilir. Bu tedarikçiden günlük alınabilecek toplam et miktarı
13 ton ile sınırlı olduğundan
3 s1 + 2 s2 ≤ 13
kısıtını elde ederiz.
Benzer şekilde Tablo 2.10’un 2. Tedarikçi ile ilgili satırını incelersek, 2. Tedarikçiden alınan etten 1 ton kullanılarak 1 ton sosis üretildiği görülüyor.
Bu durumda s1 ton sosis üretmek için 1 x s1 ton et kullanılacaktır. Tekrar bu
satıra bakıldığında, 2. Tedarikçiden alınan etten 3 ton kullanılarak 1 ton salam üretildiği görülüyor. Bu durumda s2 ton salam üretmek için 3 x s2 ton et
kullanılacaktır. Sosis ve salam için toplam kullanılacak 2. Tedarikçiden alınan
et miktarı s1 + 3 s2 olarak hesaplanabilir. Bu tedarikçiden günlük alınabilecek
toplam et miktarı 9 ton ile sınırlı olduğundan
s1 + 3 s2 ≤ 9
kısıtını elde ederiz.
48
2
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
2
Şimdi tekrar problemin parametrelerinin tanımlandığı ve ilgili verilerin açıklandığı Tablo 2.10’a dönelim. Bu tablonun en alt satırında yer alan, her bir
ürünün birim satış miktarlarından elde edilebilecek kâr miktarlarını inceleyelim. Bu bilgilere göre 1 ton sosisten işletmenin elde edeceği kâr miktarı
21.000 TL, toplam üretilmek istenen sosis miktarı da s1 ton olduğuna göre,
orantılılık kuralını uygulayarak, sosis satışından, işletmenin 21x s1 TL kâr elde
edeceğini hesaplayabiliriz. Benzer şekilde, salam satışından işletmenin 24 x s2
TL kâr elde edeceği hesaplanır. Şimdi tekrar problemin sözel tanımını hatırlayacak olursak (işletmenin bu ürünlerin satışından elde edeceği kâr miktarının
en büyük olabilmesi için her üründen üretilmesi gereken miktarın belirlenmesi
gerekiyor), problemin amaç fonksiyonunu aşağıdaki şekilde ifade edebiliriz:
Araştır 3
Enb z = 21x s1 + 24 s2
Yukarıda belirlenen amaç fonksiyonu ve kısıtları bir araya getirerek problemimizin matematiksel modelini aşağıdaki şekilde formüle edebiliriz:
3s1 + 2s2 ≤ 13,
s1 + 3s2 ≤ 9 ,
s1 ≥ 0, s2 ≥ 0
kısıtları altında
Enb z = 21x s1 + 24 s2
49
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Araştır Yanıt
Anahtarı
2
Araştır 4
Bir problemin amaç fonksiyonunun ve kısıtlarının grafiklerinin çizilebildiği
durumlarda, bu problemin öncelikle kısıtları sağlayan uygun çözüm alanını
daha sonra ise amaç fonksiyonunun bu uygun çözümlerde aldığı değerleri
geometrik olarak bizzat görme ve resimleme görseli ile ortaya koyabilme şansı
doğar. Örneğin; bir en büyükleme probleminin grafik gösteriminde, amaç
fonksiyonunun uygun çözüm alanında değerlerinin nasıl arttığını ve en iyi
çözümün nasıl elde edilebileceğini açık bir şekilde görmek mümkün olabiliyor. Bu bilgiler, bir sonraki bölümde öğreneceğimiz simpleks algoritmanın
anlaşılmasına iyi bir zemin hazırlamaktadır.
Şimdi bunu bir örnek problem üzerinde açıklayalım.
Problem. Bir işletme sosis ve salam üretimi yapmaktadır. Bu ürünlerin üretimi
için ana ham madde olan et alımı iki farklı tedarikçiden temin edilmektedir.
İşletmede üretim ve pazarlama birimleri ile birlikte bir araştırma yapan YA
ekibi, farklı tedarikçilerden alınan etler arasında kalite farkı bulunduğunu tespit ediyor (içerdikleri yağlılık oranı, kemik oranı vb.) ve işletmede uygulanan
üretim ile ilgili aşağıdaki parametre bilgilerini hesaplıyor:
• Bu işletme günlük, 1 ton sosis üretmek için 1. tedarikçiden alınan etten
3 ton ve 2. tedarikçiden alınan etten de 1 ton kullanmakta; 1 ton sucuk
üretmek için de 1. tedarikçiden alınan etten 2 ton ve 2. tedarikçiden alınan etten de 3 ton kullanmaktadır.
• Bu işletme, 1. Tedarikçiden bir günde toplam 13 ton, 2. Tedarikçiden ise
günlük toplam 9 ton et alabilmektedir.
• İşletme, 1 ton sosisin satışından 21,000 TL, 1 ton salamın satışından ise
24,000TL kâr elde etmektedir.
Problemle ilgili veriler Tablo 2.10’da gösterilmiştir. Bu verilere göre işletmenin, günlük kârının en büyüklenmesi için her bir üründen ne kadar üretmesi
gerektiğinin belirlenmesi gerekmektedir.
Bu problemin matematiksel modelini aşağıdaki gibidir:
Karar değişkenleri: s1 ve s2 sırasıyla sosis ve salamdan günlük üretilecek miktarları göstersin.
s2 ≥ 0 (2.6)
(2.7)
(2.8)
Enb z = 21x s1 + 24 s2 (2.9)
3s1 + 2s2 ≤ 13, s1 + 3s2 ≤ 9 ,
s1 ≥ 0,
kısıtları altında
50
2
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
2
Problemin matematiksel modelinde tarif edilen uygun çözüm alanı ŞEKİL 2.8’de
oluşturulmuştur. Çizgiler üzerindeki (2.6) ve (2.7) numaraları, problemin matematiksel modelindeki ilgili kısıdın denklem numarasını göstermekte, turuncu çizgiler arasında oklarla gösterilen alan ise nihai uygun çözüm alanını göstermektedir.
D(3,2) noktası da sınır çizgilerinin kesişim noktasının koordinatlarını gösteriyor.
s2
13/2
(2.6)
3
D(3,2)
(2.7)
s1
0
Araştır 4
13/3
9
Şekil 2.8 Araştır 4 probleminin uygun çözüm alanının geometrik gösterimi
Problemin en iyi çözümünü bulabilmek için bu grafiğe bir de amaç fonksiyonu
vektörünü ve bu vektöre dik doğrunun, amaç fonksiyonu yönünde kaydırılarak
uygun çözüm alanını en son terk edeceği noktayı göstermemiz gerekiyor.
s2
z2=91
C(21,24)
3
D(3,2)
z1=0
z3=111
s1
0
13/3
Şekil 2.9 Araştır 4 probleminin en iyi çözümünün bulunmasının geometrik
gösterimi
Problemin amaç fonksiyonu şeklinde verildiğinden amaç fonksiyonu katsayılar vektörümüz C(21,24) olacaktır. Bu vektöre dik doğruları, Şekil 2.9’de gösterildiği şekilde, C(21,24) vektörü yönünde kaydırdığımızda, uygun çözüm
alanının en son terk edildiği noktanın D(3,2) olduğu çok açık görülmektedir.
Bu noktadaki amaç fonksiyonu en büyük değeri de olarak hesaplanır. Bu sonucu aşağıdaki şekilde yorumlayabiliriz: İşletme bir günde 21 ton sosis ve 24 ton
salam üreterek günlük 111.000 TL en büyük kâr miktarına ulaşabilir.
51
2
Doğrusal Programlama Modelleri: Grafik Çözüm
Kaynakça
Dantzig, G. B. (1963). Linear Programming and
Extensions. Princeton University Press, Princeton.
Gass, S. I. ve Garille, S. (2001). Stigler’s diet problem
revisited. Operations Research, 1(49), 1–13.
Gass, S. I. ve Assad, A. A. (2005). An Annotated
Timeline of Operations Research. An Informal
History, Springer Science + Business Media, Inc.,
Kluwer Academic Publishers.
Hillier, F. S. ve Lieberman, G. J. (2005). Introduction
to Operations Research (Eighth Edition), McGrawHill.
52
Stigler, G. (1945). The cost of subsistence. Journal of
Farm Economics, 27, 303–314.
Bölüm 3
öğrenme çıktıları
Doğrusal Programlama (DP) Problemleri İçin
Çözüm Yöntemi Simpleks Yöntem
1
3
Simpleks Yöntemin Cebirsel Yorumu
1 Simpleks yöntemin cebirsel yorumunu
açıklayabilme
Simpleks Yöntemin Cebirsel ve
Geometrik Yorumlarının İlişkilendirilmesi
ve Simpleks Algoritma
3 Simpleks yöntemin cebirsel ve geometrik
yorumlarının ilişkilendirilmesini ve simpleks
algoritmayı açıklayabilme
2
4
Simpleks Yöntemin Geometrik Yorumu
2 Simpleks yöntemin geometrik yorumunu
açıklayabilme
Simpleks Yöntemin Tablo Şekli
4 Simpleks yöntemin tablo şeklini
açıklayabilme
Anahtar Sözcükler: • Simpleks Yöntemin Cebirsel Yorumu • Simpleks Yöntemin Geometrik Yorumu
• Simpleks Yöntemin Tablo Şekli • Doğrusal Programlama Probleminin Kanonik Şekli
• Optimallik Kriteri, Temel Uygun Çözüm • Temel Değişken • Temel Dışı Değişken • Sınırsızlık Kriteri
• Pivot İşlemi • Alternatif Çözüm • Uç-Nokta Uygun Çözüm, Simpleks Algoritma
54
3
Yöneylem Araştırması
GİRİŞ
Bir önceki bölümde incelediğimiz problemlerin en iyi çözümlerinin grafik yöntemle nasıl bulunabileceğini öğrendik. Örnek 2.6 ve Örnek 2.7’de incelediğimiz problemlerin resimlendiği, sırası ile Şekil 2.5 ve
Şekil 2.7’ye dikkat ettiğimizde bu problemlerin en iyi çözümlerinin hep uygun çözüm alanındaki “köşe
noktaları” olarak tabir edebileceğimiz noktalarda elde edildiğini görürüz. Bu köşe noktaları ilgili matematiksel modelin fonksiyonel kısıtlarını tarif eden eşitsizliklerin eşitlik hâli düşünüldüğünde, bu (doğrusal) eşitliklerin temsil ettikleri doğruların kesişim noktaları olduğu açıkça görülmektedir. Bir az ilerde bu
noktaların daha açıklayıcı tanımlarını da öğreneceğiz. Fakat dikkatlice düşündüğümüzde şöyle bir soru
da aklımıza takılıyor: Acaba bu grafikleri çizemediğimiz durumlarda, yani değişken sayısının ikiden fazla
olduğu durumlarda, yani binlerce veya milyonlarca değişken ve çok sayıda fonksiyonel kısıtlarla tarif edilen
doğrusal programlama problemlerinin en iyi çözümlerini nasıl bulabiliriz? İşte bu bölümde sizlerle, keyfi
sayıda kısıt ve karar değişkeni ile modellenen doğrusal programlama problemlerinin en iyi çözümlerini
bulmak için, 1947 yılında G. Dantzig tarafından geliştirilen ve “Simpleks Yöntem” olarak adlandırılan
yöntemi öğreneceğiz. Simpleks yöntemin formal prosedürünü tanımlamadan önce bu prosedürün temel
kavramlarını ve işleyiş şeklini anlatmaya çalışacağız. Simpleks yöntem hakkındaki yaygın fikirlerden birisi
de bu yöntemin hem cebirsel hem de geometrik olarak yorumlanabileceğidir. Biz de bu yöntemin hem
cebirsel, hem de geometrik olarak yorumlarını sizlerle paylaşarak bu yorumlarda kullanılan temel kavram
ve işlemleri birbiri ile ilişkilendirmeye çalışacağız.
SİMPLEKS YÖNTEMİN CEBİRSEL YORUMU
Bu alt bölümde simpleks yöntemin işleyişini lineer cebir mantığını kullanarak adım adım anlatacağız.
En sade ve aşikâr, yani gözle görülür durumdan başlayarak en genel duruma adım adım ilerleyerek her
bir durumda bir DP probleminin en iyi çözümünün nasıl bulunacağını açıklamaya çalışacağız. Önce bir
DP probleminin, en iyi çözümünün kolaylıkla bulunmasına olanak sağlayan kanonik şekli ile başlayalım.
Doğrusal Programlama Probleminin Kanonik Şekli ve Cebirsel Eniyilik Kriteri
Bir DP probleminin kanonik şeklini aşağıdaki örnek üzerinde anlatmaya çalışacağız.
ÖRNEK 3.1. Aşağıdaki DP problemini ele alalım:
x1 - 3x3 + 3x4 = 6,(3.1)
x2 - 8x3 + 4x4 = 4,(3.2)
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1 + 0x2 - 3x3 - x4 + 20. (3.3)
ÖRNEK 3.1’de tanımlanmış olan problemin, çok özel bir şekle sahip olduğunu söyleyebiliriz. Bu problemin özelliklerini aşağıdaki şekilde sıralayabiliriz:
1. Bütün karar değişkenleri negatif olmayacak şekilde kısıtlanmıştır.
2. Bütün fonksiyonel kısıtlar, yani (3.1) ve (3.2) ile tanımlanmış kısıtlar, eşitlik şeklinde formüle
edilmiştir.
3. Fonksiyonel kısıtların sağ taraflarındaki sabitlerin (bunlara ilerde sadece “sağ taraf sabitleri diyeceğiz”) hiç birisi negatif değildir.
4. Her bir fonksiyonel kısıtta sadece bir karar değişkeni +1 katsayıya sahiptir ((3.1) kısıdında x1, (3.2)
kısıdında x2 ise ) ve bu değişkenler diğer hiçbir kısıtta bulunmamaktadır. Ayrıca bu değişkenleri amaç
fonksiyonundaki katsayıları da sıfıra eşittir. Bu özelliğe sahip değişkenlere izole edilmiş değişkenler denir.
55
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Yukarıdaki dört özelliğe sahip DP problemine kanonik şekilde verilmiş problem denir.
Bir problemin tüm kısıtlarını sağlayan noktalara
dikkat
bu problemin uygun çözümleri denir. Uygun çözümle- Elbette, kanonik şekle sahip bir DP problemi
rin tamamını kapsayan kümeye ise bu problemin uy- hakkında ilk akla gelen fikir, bu tip bir problegun çözüm alanı denir.
min çok da yaygın olmadığı veya böyle bir probÖncelikle, (3.1) - (3.3) münasebetleri ile tanımlanmış lem için çok sayıda koşulun sağlanması gerektiği
olan ve kanonik şekilde olduğu anlaşılan bu problemin olabilir. Fakat ileride göreceğimiz üzere, herhanfonksiyonel kısıtlarında, x3 ve x4 değişkenlerine herhangi gi bir DP problemi kanonik şekle indirgenebile(uygun) değerler atadığımızda, x1 ve x2 için bu kısıtları sağ- cektir. Peki, bir DP probleminin kanonik formlayacak tek çözüm bulunabileceğini kolaylıkla gözlemleye- da olması bize ne kazandırıyor? Gelin tartışalım.
biliriz. Örneğin x3 = x4 = 0 değerleri bizi, hemen x1 = 6 ve
x2 = 4 uygun çözümüne götürecektir. Buna benzer çözümler, simpleks yöntemde önemli rol oynamakta ve
temel uygun çözümler olarak adlandırılmaktadırlar. Genel olarak, kanonik şekilde verilmiş herhangi bir DP
probleminin temel uygun çözümü, her bir kısıtta temel değişken olarak adlandırılan izole değişkenin değerinin sağ taraf sabitine, bu kısıttaki temel dışı değişkenler olarak adlandırılan temel değişken haricindeki
bütün değişkenlerin ise sıfıra eşitlenmesi ile elde edilir.
Böylece ÖRNEK 3.1’deki problem için x1 = 6, x2 = 4, x3 = x4 = 0 şeklindeki bir uygun çözüm, temel
uygun çözüm olup aynı zamanda bu problemin en iyi çözümüdür ve bu çözümün amaç fonksiyonuna
sağladığı değer z = 20 ’dir. Bunun sebebi çok açık. Amaç fonksiyonu z = 0x1 + 0x2 - 3x3 - x4 + 20 olarak
tanımlandığından ve bu fonksiyonda x3 ve x4 değişkenlerinin katsayıları negatif işarete sahip olduklarından, x3 ve x4 değişkenlerinin pozitif değer aldığı her hangi bir uygun çözüm için amaç fonksiyonunun değeri z < 20 olacaktır. Böylece, amaç fonksiyonunun en iyi veya en büyük değeri, temel dışı değişkenlerin
değerleri x3 = x4 = 0 iken elde edilmektedir.
Bu tartışmayı özetleyerek, aşağıdaki en iyilik (optimallik) kriterini elde ederiz:
Cebirsel En İyilik Kriteri
Kanonik şekilde tanımlanmış bir en büyükleme probleminin temel dışı değişkenlerinin tamamının amaç fonksiyonundaki işaretlerinin negatif olduğunu varsayalım. Bu durumda, bu problemin temel uygun çözümü, uygun
çözüm alanında amaç fonksiyonuna en büyük değeri sağlayan uygun çözüm,
dolayısıyla de bu problemin en iyi çözümüdür.
Şimdi bu kavramların iyice irdelendiği aşağıdaki örneği ele alalım.
ÖRNEK 3.2. Aşağıdaki problemin neden kanonik şekilde olduğunu, temel değişkenlerini, temel dışı değişkenlerini açıklayınız ve bu değişkenlerin aldıkları değerleri bularak bunların bir temel uygun çözüm oluşturduğunu gösteriniz. Bulduğunuz temel uygun çözümün optimallik kriterini sağlayıp sağlamadığını araştırınız.
x1 - 2x2 + x4 = 5,
-x2 + x3 + x4 = 3,
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1 - 2x2 + 0x3 - 3x4.
56
3
Yöneylem Araştırması
Çözüm: Bir DP probleminin kanonik şekilde olabilmesinin koşullarını hatırlayacak olursak, bu problemde tüm karar değişkenleri negatif olamayacak şekilde kısıtlandığını; iki fonksiyonel kısıdın da eşitlik
şeklinde formüle edildiğini; sağ taraf sabitlerinin ikisinin de negatif olmadığını; birinci ve ikinci fonksiyonel kısıtlarda +1 katsayıya sahip x1 ve x3 karar değişkenlerinin diğer kısıtlarda ve amaç fonksiyonundaki
katsayılarının sıfıra eşit olduğunu kolayca saptayabiliriz. Burada şöyle bir analiz de yapabiliriz: aslında x4
karar değişkeninin de her bir fonksiyonel kısıttaki katsayısı +1’e eşittir, fakat bu değişkenin amaç fonksiyonundaki katsayısı sıfır olmadığından, temel değişkenlerimiz kesinlikle x1 ve x3 olup, diğer değişkenler
x2 ve x4 temel dışı değişkenlerdir. Kurala göre temel değişkenlerin değerleri sağ taraf sabitlerine, temel dışı
değişkenler ise sıfıra eşitlenerek temel uygun çözüm bulunabilir: x1 = 5, x2 = 0, x3 = 3, x4 = 0. Optimallik
kriterine göre bir temel uygun çözümün en iyi çözüm olabilmesi için;
“Kanonik şekilde tanımlanmış bir en büyükleme probleminin temel dışı değişkenlerinin tamamının amaç
fonksiyonundaki katsayılarının işaretlerinin negatif olması durumunda, bu problemin temel uygun çözümü,
uygun çözüm alanında amaç fonksiyonuna en büyük değeri sağlayan uygun çözüm, dolayısıyla de bu problemin
en iyi çözümüdür.”
Bizim problemin temel dışı değişkenleri olan x2 ve x4 değişkenlerinin amaç fonksiyonundaki katsayıları
negatif işarete sahip olduğundan, en iyilik kriteri sağlanıyor, dolayısıyla bulmuş olduğumuz temel uygun
çözümün, bu problemin en iyi çözümü olduğunu kesinlikle söyleyebiliriz.
Sınırsız Amaç Fonksiyonu
Şimdi ise, yukarıda ÖRNEK 3.1’de incelediğimiz problemin amaç fonksiyonunu değiştirerek aşağıdaki
versiyonunu ele alalım.
ÖRNEK 3.3.
x1 - 3x3 + 3x4 = 6(3.1)
x2 - 8x3 + 4x4 = 4,(3.2)
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1 + 0x2 + 3x3 - x4 + 20. (3.4)
Çözüm: Bu problemin en iyi çözümünü bulmak için (3.1), (3.2) fonksiyonel kısıtlarının yanı sıra negatif olmama (veya işaret) kısıtlarını da sağlayan tüm (x1, x2, x3, x4) uygun çözümleri içinde (3.4) formülü
ile tanımlanan amaç fonksiyonuna en büyük değeri sağlayacak dörtlüyü arayacağız. Amaç fonksiyonunda
x3 değişkeninin katsayısı pozitif işarete sahip olduğundan, bu karar değişkeninin değerini olabildiğince
(uygun çözüm alanı izin verdiği kadar) artırmamız gerekiyor. Amaç fonksiyonunda x4 değişkeninin işareti
negatif olduğundan x4 = 0 diyelim ve (3.1) ve (3.2) eşitliklerinde bunu dikkate alalım:
x1 = 3x3 + 6,
x2 = 8x3 + 4,
z = 3x3 + 20.
Buradan çok açıkça görünmektedir ki, değişkeninin değerini istediğimiz kadar artırdığımızda, x1 ve x2 değişkenleri
de pozitif değerler alarak uygun çözüm alanı içinde kalmaya devam edecek ve karar değişkenlerinin bu değerleri için
amaç fonksiyonunun da değeri sınırsız olarak artarak artı
sonsuzluğa gidecektir. Bu o demektir ki, bu problem için
amaç fonksiyonu üstten sınırsızdır.
Sınırsızlık Kriteri
Kanonik şekilde verilmiş bir en büyükleme probleminin temel dışı değişkenlerinin
bir (veya bir kaç) tanesinin amaç fonksiyonundaki katsayısının pozitif işarete sahip
olduğunu varsayalım. Eğer bu değişkenin
(veya değişkenlerin) bütün fonksiyonel kısıtlardaki katsayıları sıfır veya negatif sayı
ise, bu problemin amaç fonksiyonu uygun
çözüm alanında üstten sınırsızdır.
57
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Şimdi öğrendiklerimizi aşağıdaki örnek üzerinde irdeleyelim.
Örnek 3.4: Aşağıdaki problemin, bir temel uygun çözümünü bulunuz ve bulduğunuz çözümün en
iyi çözüm olup olmadığını belirleyiniz. Amaç fonksiyonunun sınırsızlık kriterini sağlayıp sağlamadığını
araştırınız.
x1 − 2x2 + x4 = 5,
−x2 + x3 + x4 = 3,
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1 + 2x2 + 0x3 − 3x4.
Çözüm: Bu problemin, kanonik şekilde olduğu açıktır – bütün kurallar sağlanıyor. Değişkenlerimizden x1 ve x3 temel, x2 ve x4 ise temel dışı değişkenlerdir. Kurala göre temel değişkenlerin değerleri sağ taraf
sabitlerine, temel dışı değişkenler ise sıfıra eşitlenerek temel uygun çözüm bulunabilir: x1=5, x2=0, x3=3,
x4=0. Optimallik kriterine göre bir temel uygun çözümün en iyi çözüm olabilmesi için, temel değişkenlerin amaç fonksiyonundaki katsayılarının sıfır, temel dışı değişkenlerin katsayılarının ise negatif olması
gerekiyor. x2 temel dışı değişken ve amaç fonksiyonundaki katsayısı pozitif olduğundan, bulunmuş olan
temel uygun çözüm optimal değildir. Öte yandan, amaç fonksiyonundaki katsayısı pozitif olan x2 temel
dışı değişkenin her iki fonksiyonel kısıttaki katsayıları da negatif olduğundan, sınırsızlık kriteri sağlanıyor:
bu problemin amaç fonksiyonu uygun çözüm alanında üstten sınırsızdır. Çünkü fonksiyonel kısıtların her
ikisi x2 değişkeninin değerinin sınırsız olarak artırılmasına olanak tanıyor: x4’ün değerini sıfırda tutalım
(amaç fonksiyonundaki katsayısı negatif olduğundan onun değerinin artırılması işimize gelmemektedir).
Bu durumda x2 değişkeninin değeri arttıkça birinci kısıtta x1’in ikinci kısıtta da x3’ün değerlerini, eşitlikleri
sağlayacak şekilde artı sonsuza dek artırabiliriz.
En İyi Olmayan Uygun Çözümün İyileştirilmesi
Şimdi de yukarıda ÖRNEK 3.1’de incelediğimiz problemin amaç fonksiyonunu değiştirerek bu problemin bir başka versiyonunu ele alalım.
ÖRNEK 3.5.
x1 − 3x3 + 3x4 = 6, (3.1)
x2 − 8x3 + 4x4 = 4, (3.2)
xj ≥ 0,j = 1,2,3,4
kısıtları altında
Enb z = 0x1 + 0x2 − 3x3 + x4 + 20. (3.5)
Bu problemde, x1 ve x2 temel değişkenler, x3 ve x4 temel dışı değişkenler olup, x1 = 6, x2 = 4, x3 = 0, x4 = 0
şeklindeki bir uygun çözümün amaç fonksiyonuna sağladığı değer z = 20’dir. Acaba bu uygun çözüm, en iyi
çözüm müdür? En iyilik kriterini kontrol ettiğimizde bu çözümün en iyi çözüm olmadığını görüyoruz, zira
temel dışı değişken olan x4, amaç fonksiyonunda pozitif işaretli katsayıya sahip olduğundan dolayı x4 arttıkça
amaç fonksiyonunun değeri de artacaktır. Bu ise, mevcut uygun çözümün iyileştirilebileceğinin, yani amaç
fonksiyonuna daha büyük değer sağlayacak bir uygun çözümün bulunabileceğinin mümkün olduğunu göstermektedir.
Amaç fonksiyonunda x3 değişkeninin katsayısı negatif işaretli olduğundan yola çıkarak x3 = 0 dersek ve
(3.1) ve (3.2) eşitliklerinde bunu dikkate alırsak:
58
3
Yöneylem Araştırması
x1 = −3x4 + 6,
x2 = −4x4 + 4,
z = x4 + 20
elde ederiz. Bu eşitliklerde, x1 ve x2’nin negatif olmama koşulunu talep edersek aşağıdaki münasebetler elde
edilir:
x1 = 6 − 3x4 ≥ 0 ve böylece x4 ≤ 6 =2(3.6)
3
ve
x2 = 4 − 4x4 ≥ 0 ve böylece x4 ≤ 4 = 1. (3.7)
4
Yani ilgili kısıtta, sağ taraf sabitini, x4 değişkeninin katsayısına böldüğümüzde ortaya çıkan en küçük oran
4 = 1 olduğundan x değişkeninin sıfıra eşit olan mevcut değerini en fazla 1’e kadar artırabileceğimizi
4
4
görüyoruz. Çünkü 2’ye kadar artırırsak yukarıda x2 değişkeninin uygun çözüm alanında yani negatif olmayacak şekilde kalabilmesi için oluşturulan ikinci eşitlikte x2 = 4 − 4x4 = 4− 4x4 = −4 < 0 elde edilecektir,
bu ise x2 için uygun bir değer değildir.
Bu yüzden de x4 değişkeninin, uygun çözüm alanında kalmak kaydı ile alabileceği en büyük değer x4 = 1
oluyor. Bu durumda, x4 = 1 iken, yeni uygun çözüm kolaylıkla bulunur:
x1 = −3x4 + 6 = −3 + 6 = 3,
x2 = −4x4 + 4 = −4 + 4 = 0,
x3 = 0,
x4 = 1.
x1 = 3, x2 = 0, x3 = 0, x4 = 1 uygun çözüm noktasında amaç fonksiyonunun değeri z = 0×3 + 0×0 − 3×0 + 1×1
+ 20 = 21 olarak bulunuyor. Dolayısıyla yeni bulduğumuz uygun çözüm, amaç fonksiyonumuzun değerini iyileştirmiş oldu. Bu ise yeni uygun çözümün bir öncekine göre daha iyi bir uygun çözüm olduğunu göstermektedir.
Elde edilmiş bu uygun çözümü bir önceki ile kıyaslayacak olursak, x4’ün bir önceki uygun çözümde
temel dışı değişken iken, yeni uygun çözümde bir temel değişken gibi pozitif değer aldığını, x2’nin ise
bir önceki uygun çözümde temeldeki bir değişken iken, yeni uygun çözümde sıfır değer alarak temel dışı
olduğunu görüyoruz. Bu ise, elde edilmiş yeni uygun çözümde x4 değişkeninin (x2’nin yerine) temele girdiği, x2’nin ise temelden çıkarak yerini x4 ‘e bıraktığı anlamına geliyor. Bu yüzden bir kanonik problemin
şekline uygun olarak, problemin değiştirilmesi gerekiyor, yani x1 ve x4’ün temel, diğer karar değişkenleri
ise temel dışı değişkenler olacak şekilde problemin eşdeğer bir şekilde “değiştirilmesi” ve “yeni bir kanonik
problemin” elde edilmesi gerekiyor. Burada “eşdeğer” kelimesi, elde edilecek “yeni” problemin, aslında eski
problemle aynı uygun çözüm alanına ve aynı en iyi (optimal) çözüme sahip olacağını vurgulamak anlamında kullanılmıştır. Basit cebirsel işlemler kullanarak bunu kolayca yapabiliriz.
ÖRNEK 3.5’te tanımlanmış problemi, x1 ve x4’ün temel, diğer karar değişkenlerinin ise temel dışı
değişkenler olacak şekilde yeni bir kanonik şekle indirgemek için, kanonik problemin tanımındaki koşulların sağlanması gerekiyor. Bunun için ilk olarak, (3.2) denkleminde x4’ün katsayısının 1’e, diğer denklemlerde ((3.1) ve (3.5) denklemlerinde) ise sıfıra eşit olmasını sağlamalıyız. Bunun için öncelikle (3.2)
denkleminin her tarafını x4’ün katsayısına bölelim:
59
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
x1 − 3x3 + 3x4 = 6,(3.1)
1 x −2x + x = 1.(3.8)
3
4
4 2
Şimdi ise, temel değişken olmanın bir diğer koşulunu sağlamak için (3.1) denkleminde x4’ün katsayısının sıfıra eşit olmasını sağlamalıyız. Bunun için (3.6) denklemini -3 ile çarparak (3.1) denklemine eklersek
aşağıdaki fonksiyonel kısıtları elde ederiz:
x1 − 3 x2 + 3x3 = 3, (3.9)
4
1 x − 2x + x = 1. (3.8)
3
4
4 2
Şimdi kanonik problemle ilgili son koşulu da yerine getirmek için, temeldeki değişkenler olan x1 ve x4’ün,
amaç fonksiyonundaki katsayılarının da sıfıra eşit olmasını sağlamalıyız. Amaç fonksiyonunun
z = 0x1 + 0x2 −3x3 + x4 + 20
ifadesi ile tanımlandığını hatırlayalım ve bu eşitliği, işlem kolaylığı için
−z + 0x1 + 0x2 − 3x3 + x4 = −20(3.10)
şeklinde yazalım. Şimdi yine de daha önce (3.9) eşitliğinde x4 değişkeninin katsayısını sıfır yapmak için
kullandığımız (3.8) denklemini bir daha kullanarak bu sefer (3.10) denklemindeki (yani amaç fonksiyonu denklemindeki) x4 değişkeninin katsayısını sıfır yapalım. Bunun için (3.8) denklemini -1 ile çarparak
(3.10) denklemine eklersek aşağıdaki eşitliği elde ederiz:
−z + 0x1− 1 x2 − x3 = −21.(3.11)
4
Nihayet, yeni kanonik problemi bütün kısıtları ve yeni amaç fonksiyonu denklemleri yani (3.9), (3.8)
ve (3.11) denklemleri kullanılarak aşağıdaki şekilde toparlaya biliriz:
x1 − 3 x2 + 3x3 = 3,(3.9)
4
1 x − 2x + x = 1,(3.8)
3
4
4 2
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1− 1 x2−x3+0x4+21.(3.11)
4
Şimdi, bu problemi inceleyecek olursak, burada x1 ve x4 değişkenlerinin temel, x2 ve x3 değişkenlerinin
ise temel dışı oldukları net bir şekilde görülmektedir. Ayrıca, temeldeki değişkenlerin amaç fonksiyonundaki katsayılarının sıfır, temel dışı değişkenlerin katsayılarının ise negatif olduklarını görüyoruz. Bu ise,
temel değişkenleri sağ taraf sabitlerine x1=3, x4=1, temel dışı değişkenleri ise sıfıra eşitlemekle elde edilen
x1=3, x2=0, x3=0, x4=1 şeklindeki uygun çözümün, en iyilik kriterini sağladığı anlamına gelmektedir. Dolayısı ile elde edilen bu uygun çözüm, en iyi çözüm, karşı gelen amaç fonksiyonu değeri z=21 ise amaç
fonksiyonunun uygun çözüm alanında alabileceği en büyük değeridir.
60
3
Yöneylem Araştırması
Yapılan işlemleri yakından inceleyecek olursak,
burada aslında bir doğrusal denklem sisteminde bir
denklemi belli bir sayı ile çarparak diğer denkleme
ekleme işleminden başka bir işlem yapılmadığını
anlamak o kadar da zor değil. Bu işlemin ise doğrusal denklem sisteminin çözümünü değiştirmediğini
(lineer cebir) dersinden biliyoruz. Şimdi, yukarıda
yapılan işlemler sonucu neden “eş değer problem”
elde edildiğini bir daha anlamış bulunuyoruz.
Yukarıda tarif edilen yeni temel değişkenin
oluşturulması işlemine pivot işlemi denir.
Pivot işlemi, simpleks yöntemin en önemli işlemlerinden biri sayılır. Problemin çözüm sürecinin bir önceki aşamasında temel dışı olan x4 değişkeninin, temel değişken yapılması için kullanılan
(3.6) kısıdına pivot satır denir. Bu işlemi kısaca, temele girilmesi için seçilen karar değişkeninin pivot
satırdaki katsayısının +1’e, amaç fonksiyonu satırı
dahil diğer tüm satırlardaki katsayısının ise sıfıra
eşitlenmesi işlemi olarak tanımlaya biliriz. Bu işlem, yukarıda tarif ettiğimiz ve lineer cebirde yaygın olarak kullanılan Gauss-Jordan yöntemi kullanarak kolayca yapılabilir.
Sonuç olarak, pivot işleminden sonra problemin
şekli değişmiş olsa da bütün değiştirilmiş denklemler,
en başta verilen orijinal problemin uygun çözüm alanını tarif ediyor ve değiştirilmiş amaç fonksiyonu ile
orijinal amaç fonksiyonu da uygun çözüm alanındaki
herhangi bir noktada aynı değere sahip oluyor.
Uygun Çözümün İyileştirilmesi Kriteri
Kanonik şekilde verilmiş bir en büyükleme probleminin temel dışı değişkenlerinin bir (veya birkaç) tanesinin amaç
fonksiyonundaki katsayısının pozitif işarete sahip olduğunu varsayalım. Eğer bu
değişkenin her hangi bir fonksiyonel kısıttaki katsayısı pozitif ise, daha iyi bir temel
uygun çözüm pivot işlemi kullanılarak
elde edilebilir.
Şimdi yapılan işlemleri toparlayacak olursak
aşağıdaki sonuca varabiliriz. Temel dışı bir değişkenin amaç fonksiyonunda pozitif katsayıya sahip
olması demek, aslında bu değişkenin (temel dışı
olmasından dolayı sıfır olan) değerinin artırılmasının, amaç fonksiyonu değerini de artıracağı ve
dolayısıyla daha iyi bir uygun çözümün elde edilebileceği açıktır. Bu değişkenin değerinin artırılması demek onun temele alınması anlamına geldiğinden, başka bir değişkenin temelden çıkacağı
demek olacaktır. Temelden çıkacak değişken belirlenmesi demek ise, hangi değişkenin değerinin sıfıra indirilmesi gerektiğinin belirlenmesi demektir.
Bu değişkenin seçilmesi için pivot kısıdı, yani hangi kısıttaki temel değişkenin değerinin sıfır yapılacağı, yani temelden çıkarılacağı belirlenmiş olur.
Bunun için (3.6) ve (3.7) münasebetlerine tekrar
göz atarak, x1 ve x2 değişkenlerinden hangisinin
temelden çıkması gerektiğine nasıl karar verdiğimizi hatırlayalım. Bu münasebetlere göre eğer x1
değişkeni temelden çıkacak olsa, x4 = 6 = 2, x2
3
4
değişkeni temelden çıkacak olsa, x4 =
= 1 değe4
rini alması gerekecekti. Fakat (3.6) münasebetine
göre x4 = 6 = 2 değeri seçilmiş olsa (3.7) müna3
sebetinde x2 = 4−4x4 = 4− 4×2 = −4 < 0 olacaktı. Bu
analiz sonucunda, temele girmesi kararlaştırılmış
olan x4 değişkeninin pozitif katsayıya sahip olduğu kısıtlarda sağ taraf sabitinin bu değişkenin katsayısına oranının en küçük olduğu kısıdın pivot
kısıt olarak seçilmesi gerektiği sonucunu, dolayısı
ile bu kısıttaki temel değişkenin temelden çıkacak
değişken olarak ilan edilmesi gerektiği sonucunu
elde ediyoruz. Bu sebepten dolayı, pivot kısıdın
seçilmesi yöntemine en küçük oranlar yöntemi
de denir.
61
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Pivot ve En Küçük Oran Kriteri
Eğer kanonik şekildeki bir problemde bir xt değişkeninin temele alınması ile mevcut uygun çözümün iyileştirilmesi mümkün ise, xt değişkeninin pozitif katsayıya sahip bütün kısıtlarda, sağ
taraf sabitini bu değişkenin katsayısına bölmekle elde edilen oranların en küçük olduğu kısıt
pivot kısıt olarak ilan edilir ve bu kısıttaki temel değişken de temelden çıkacak değişken olarak
belirlenir. Eğer amaç fonksiyonunda birden fazla sayıda temel dışı değişken pozitif katsayıya
sahip ise, bu katsayılardan en büyük olana karşı gelen değişken seçilerek temele girecek değişken olarak ilan edilir. Sebebi ise çok açık: (her zaman böyle olmasa da birçok durumlarda) en
büyük katsayılı değişkenin temele girmesi amaç fonksiyonuna daha büyük katkı sağlayacaktır.
dikkat
Eğer pivot satırdaki sağ taraf sabiti sıfır ise, bu satıra karşı gelen temel değişkenin
değerinin sıfır olması anlamına gelmektedir. Bu durumda pivot işlemi yapılacak,
fakat “yeni” temel değişkenin değeri yine de sıfır olacaktır. Yani temele “yeni” bir
değişken girse de değeri sıfır olacağından ve temelden çıkan değişkenin de hem
önceki hem de yeni değeri sıfır olduğundan aslında yeni bir çözüm üretilmemiş
olacak ve amaç fonksiyonunun değeri doğal olarak değişmeyecektir. Bu tip çözümlere dejenere çözümler denir.
Alternatif Çözüm Kriteri
Eğer kanonik şekildeki bir problemde temel dışı değişkenlerden pozitif katsayıya sahip bir değişken bulunmazken, bir xt temel dışı değişkenin katsayısı sıfır ise bu durum, mevcut temel uygun
çözümün en iyi çözüm olduğu anlamına gelecektir. Fakat katsayısı sıfır olan temel dışı değişkenin fonksiyonel kısıtlardan bir veya birkaç tanesinde pozitif katsayıya sahipse, bu aşamada
bu değişkenin temele alınması ile yeni bir temel uygun çözümün türetilebilmesi mümkündür.
Bu değişkenin katsayılarının pozitif olduğu kısıtlara en küçük oran yöntemi uygulanarak pivot
satır ve temelden çıkacak değişken bulunmak suretiyle pivot işlemi yapılır ve yeni bir temel uygun çözüm türetilebilir. Temele girmesine karar verilen değişkenin amaç fonksiyonu satırındaki
katsayısı sıfır olduğundan, amaç fonksiyonu denklemine pivot işlemi yapılmayacak ve bu satır
değişmediğinden yeni temel uygun çözüm için amaç fonksiyonunun değeri de değişmeyecektir.
Böylece yeni bir optimal çözüm türetilmiş olacaktır. Bu yüzden, bu şekilde ortaya çıkan çözümlere alternatif çözümler denir. İki alternatif çözüm noktasını birleştiren doğru parçası üzerindeki
bütün noktalar benzer özelliğe sahip olduklarından (amaç fonksiyonuna aynı değeri sağladıklarından) bu doğru parçası üzerindeki bütün noktalar en iyi çözümler olma özelliğine sahiptir.
Şimdi alternatif çözüm kavramını bir örnek üzerinde açıklayalım. Bunun için yukarıda incelediğimiz
ÖRNEK 3.3’ün aşağıdaki versiyonunu ele alalım.
ÖRNEK 3.6
x1 − 3x3 + 3x4 = 6,(3.1)
x2 − 8x3 + 4x4 = 4,(3.2)
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1 + 0x2− 3x3 + 20.
62
3
Yöneylem Araştırması
Bu problemde, x1 ve x2 temel değişkenler, x3 ve x4 temel dışı değişkenler olup, x1=6, x2=4, x3=0, x4=0
şeklindeki bir uygun çözümün amaç fonksiyonuna sağladığı değer z=20’dir. Acaba bu uygun çözüm, en iyi
çözüm müdür? En iyilik kriterini kontrol ettiğimizde temel dışı değişkenlerin amaç fonksiyonunda pozitif
katsayıya sahip olmadığını görüyoruz. Aslında buradan çıkarılacak sonuç, hiçbir temel dışı değişkenin
temele alınması ile amaç fonksiyonunun değerinin daha iyi olamayacağı şeklindedir. Fakat, problemin bu
şekli için, temel dışı değişken olan x4’ün fonksiyonel kısıtlardaki katsayıları pozitif olduğundan, bu değişkenin temele alınmasının mümkün olduğu görünmektedir. En küçük oran yöntemini uyguladığımızda,
(3.1) denkleminde 6 =2, (3.2) denkleminde ise 4 =1 olduğundan (3.2) denklemi pivot denklem, bu
3
4
denklemdeki x2 temel değişkeni ise temelden çıkacak değişken olarak belirlenir. Pivot işlemi sonucu problem aşağıdaki şekle indirgenir:
x1− 3 x2 + 3x3 = 3,
4
1 x −2x + x = 1,
3
4
4 2
xj ≥ 0, j = 1,2,3,4
kısıtları altında
Enb z = 0x1 + 0x2 − 3x3 + 20.
Bu problemin temel uygun çözümü x1=3, x2=0, x3=0, x4=1 ve z=20. Bir önceki temel uygun çözüm gibi
bu çözüm de amaç fonksiyonuna aynı değeri sağlamaktadır, bu ise elde edilen çözümlerin her ikisinin de
optimal olduğunu ve bu yüzden de alternatif çözümler olduğunu göstermektedir. Son olarak hatırlatalım
ki, bu son problemde de x2 temel dışı değişkenin amaç fonksiyonundaki katsayısı sıfır olduğundan ve ikinci
fonksiyonel kısıtta bu değişkenin katsayısı pozitif olduğundan, benzer şekilde bu değişkenin temele sokulması ile yeni bir iterasyon yapılarak yeni bir temel uygun çözüm türetilebilir. Ancak dikkat edildiğinde
temelden çıkacak değişkenin x4 olduğu, ve böylece bu işlem yapılırsa bir önceki temel uygun çözümün
elde edileceği açıkça görülmektedir.
Şimdi kanonik şekilde verilmiş bir DP problemi için simpleks yöntemin cebirsel algoritmasını ana
hatlarıyla özetleyebiliriz:
Başlangıç adım: Kanonik şekilde verilmiş problemin temel uygun çözümünü bul.
En İyilik Testi: Eldeki çözüme (cebirsel) en iyilik kriterini uygula.
Ana adım: Eldeki çözüm en iyilik kriterini sağlıyorsa DUR: problemin en iyi çözümü bulunmuştur.
En iyilik kriteri sağlanmıyorsa, çözümün iyileştirilmesi için pivot işlemini uygula, yeni bir temel uygun
çözüm bul ve eldeki çözümü güncelleyerek En İyilik Testi Adımına Git.
63
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Öğrenme Çıktısı
1 Simpleks yöntemin cebirsel yorumunu açıklayabilme
Araştır 1
İlişkilendir
Anlat/Paylaş
Aşağıdaki problemin bir temel uygun çözümünü bulunuz ve bulduğunuz çözümün en iyi çözüm olup olmadığını, iyileştirilip iyileştirilemeyeceğini ve pivot işlemini araştırınız. Problemin
en iyi çözümünü bulunuz ve alternatif çözüm
hakkında yorum yapınız.
(3.3.1)
−x1 + x2 + x3 = 3,
3x1 + x2 +x4 = 15,
(3.3.2)
x1 + x2 +x5 = 5,
(3.3.3)
xj ≥ 0,j = 1,2,3,4,5
kısıtları altında
(3.3.4)
Enb z=x1 + x2.
Optimal ve optimal
olmayan çözüm karşılaştırınız ve farklarını yorumlayın.
Basit bir problem
için optimal çözüm
kavramını tartışın
SİMPLEKS YÖNTEMİN GEOMETRİK YORUMU
Önceki alt bölümlerde öğrendiğimiz kavramlar ve en iyi çözüme yönelik araştırmalar, simpleks yöntemin bir cebirsel yöntem olduğunu söylememize olanak tanımaktadır. Fakat aynı zamanda her bir adımda incelediğimiz kriterler, elimizdeki noktanın en iyi çözüm olup olmadığı, değilse daha iyi bir uygun
çözümün nasıl üretilebileceği gibi sorular aynı zamanda geometrik açıdan incelendiğinde, bu yöntemin
daha net anlaşılacağına inanıyoruz. Bu yüzden, simpleks yöntemin işleyişi ile ilgili önceki altbölümlerde
öğrendiklerimizi şimdi biraz da geometrik açıdan renklendirmeye çalışacağız. Resimleme amaçlı aşağıdaki
problemi ele alalım ve önceki bölümlerde öğrendiklerimizi uygulamaya çalışalım.
ÖRNEK 3.7.
−x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
xj ≥ 0, j = 1,2,
kısıtları altında
Enb z = 2x1 + x2.
64
3
Yöneylem Araştırması
x2
(0,9) 3x1+x2=9
-x1+x2=3
x1+x2=5
(0,5)
B(1,4)
A(0,3)
C(2,3)
N(2,1)
x1
(-3,0)
O(0,0)
D(3,0)
(5,0)
Şekil 3.1 ÖRNEK 3.7 ’deki problemin grafik yöntemle resimlenmesi
ŞEKİL 3.1’de her bir fonksiyonel kısıdın sınırı ilgili kısıdın eşitlik hâline karşı gelen bir doğru ile gösterilmiştir. Bu doğruların kesiştikleri noktalar problemin uç-nokta çözümleri olarak adlandırılmaktadır.
Bunlardan O(0,0), A(0,3), B(1,4), C(2,3) ve D(3,0) noktaları uç-nokta uygun (UNU) çözümler, uygun
çözüm alanı dışında kalan diğer kesişim noktaları ise uç nokta uygun olmayan çözümler olarak adlandırılıyorlar, örneğin (-3,0), (0,5), (0,9), (5,0) noktaları. Bu örnekteki her bir uç-nokta çözüm, iki kısıdın
sınır doğrusunun kesişim noktası olarak ortaya çıkıyor. Genelde, n karar değişkenli DP problemlerinde
ise bu uç nokta çözümler n adet sınır doğrusunun kesişim noktaları olarak belirlenmektedir. n tane karar
değişkenine sahip bir doğrusal programlama probleminde eğer iki uç nokta, n - 1 adet sınır doğrusunu
ortak olarak sağlıyorsa, o zaman bu iki uç noktaya komşu uç noktalar denir. Bizim örnekte iki adet karar
değişkeni olduğundan, ŞEKİL 3.1’de de görüldüğü üzere, her bir uç nokta iki adet sınır doğrusunun kesişim noktasıdır.
İki komşu uç noktayı her zaman birbirine bağlayan bir doğru parçası vardır. Bu doğru parçasına uygun
çözüm alanının bir kenarı denir. Bizim örnekte, örneğin O ve A uç noktaları komşu uç noktalardır, bu
noktaların paylaştığı OA doğrusu ise uygun çözüm alanının bir kenarıdır. Örnek 3.4’ün uygun çözüm
alanı, bu alanın sınırlarını belirleyen beş adet kenar doğrusuna sahiptir: OA, AB, BC, CD ve DO. Yani,
bu problemin uygun çözüm alanı, OA, AB, BC, CD ve DO doğrularının sınırladığı ortak alandan oluşmaktadır. Böylece her bir UNU çözüm, kendisine komşu olan iki adet uç nokta uygun çözüme sahiptir.
Örneğin, O(0,0) UNU çözümüne komşu UNU çözümler A(0,3) ve D(3,0) noktalarıdır. B(1,4) UNU
çözümüne komşu UNU çözümler ise A(0,3) ve C(2,3) noktalarıdır.
Önceki bölümlerde, DP problemlerinin en iyi çözümler hakkında edindiğimiz en önemli bilgilerden biri
de bu çözümlerin her zaman UNU çözümler arasında olabileceği bilgisidir, yani bir DP probleminin en iyi
çözümünü bulmak istersek, aslında tüm UNU çözümleri dolaşarak bunu yapabiliriz. Ancak, karar değişkenleri
ve fonksiyonel kısıtların sayısı arttıkça bunun yapılabilmesi pek kolay hatta mümkün olmayabilir. Bu durumda herhangi bir UNU çözüm noktasını bulduğumuz zaman kolay test edebileceğimiz bir kriterin olması çok
işimize gelecektir. Bir önceki alt bölümde, temel ve temel dışı değişkenlerle amaç fonksiyonu birlikte incelenerek
elimizdeki temel uygun çözümün optimal olup olmadığını test etmek için bir kriter öğrenmiştik. Şimdi UNU
çözümler üzerinden bir kriter daha belirleyeceğiz.
65
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Geometrik En İyilik Kriteri
İncelediğimiz DP probleminin en iyi çözüme sahip bir problem olduğunu varsayalım. Eğer elimizdeki bir uç-nokta
uygun çözüm, bu uygun çözüme komşu
uç-nokta uygun çözümler arasında amaç
fonksiyonuna en iyi değer sağlayan nokta
ise, problemin de en iyi çözümüdür.
dikkat
Geometrik En İyilik kriterinin bize sağladığı
çok önemli özellik de bir UNU çözümün en iyi
çözüm olduğunu kontrol etmek için onu tüm
UNU çözümlerle değil, sadece komşu UNU
çözümlerle kıyaslamanın yeterli olacağıdır. Bu
özellik, simpleks yöntemin en önemli kazanımlarından biri olarak sayılmaktadır.
Bu kriteri bizim örneğe uygulayacak olursak,
C(2,3) noktasının en iyi çözüm olduğunu kesinlikle söyleyebiliriz, çünkü amaç fonksiyonunun bu
noktadaki değeri z(2,3)=2×2+1×3=7, bu noktaya
komşu olan diğer iki UNU çözüm olan B(1,4) ve
D(3,0) noktalarındaki değerlerinden daha büyüktür: z(1,4)=2×1+1×4=6 ve z(3,0)=2×3+1×0=6. En
iyilik kriterine göre amaç fonksiyonunun değerlerini tüm uç-nokta uygun çözümlerle kıyaslamaya
gerek kalmaksızın bu kararı verebiliriz.
Şimdi simpleks yöntemin geometrik algoritmasını ana hatlarıyla özetleyebiliriz. Bunu ÖRNEK 3.4 üzerinde anlatacağız.
Başlangıç Adım: O(0,0) noktasını başlangıç
UNU çözüm olarak seç (bu noktanın seçilmesi genellikle hiçbir hesaplama gerektirmediğinden kolaylıkla seçilebilir).
En iyilik testi: O(0,0) noktasına en iyilik kriterini uygula: sağlamıyor. Komşu uç-nokta uygun çözümlerle kıyaslayalım: z(0,0)=0, z(3,0)=6,
z(0,3)=3.
66
Ana Adım: D(3,0) noktasında amaç fonksiyonu daha iyi değere sahip olduğundan, eldeki çözümü güncelle: UNU çözüm = (3,0), ve En iyilik
testinin yapıldığı adıma git ve testi bu UNU çözüme uygula.
Buradan da görüldüğü üzere, simpleks yöntem
tekrarlanan veya bilimsel literatürdeki terminolojiye sadık kalacak olursak iteratif bir yöntemdir.
ÖRNEK 3.4 ‘te başlangıç UNU çözüm O(0,0)
noktası seçildi ve bu UNU çözümün optimal olmadığı anlaşıldı.
İterasyon 1. O(0,0) noktasına geometrik en iyilik kriterini uyguladığımızda bunun en iyi çözüm
olmadığı anlaşıldı. Aslında elimizdeki çözüme bakıldığında x1=x2=0, fakat amaç fonksiyonunda x1 ve
x2 değişkenlerinin her ikisinin de katsayıları pozitif
olduklarından geçen altbölümde de açıkladığımız
en iyilik kriterine göre de bu UNU çözümün iyileştirilebileceğini görüyoruz. Bu durumda x1 in amaç
fonksiyonundaki katsayısı daha büyük olduğundan, O(0,0) noktasından x1’in değerini daha fazla artıracak komşu çözüme doğru gidilerek eldeki
UNU çözümün güncelleştirilmesi amacımızı daha
fazla katkı sağlayacaktır. Dolayısı ile yeni UNU çözüm olarak D(3,0) UNU çözüm seçilecektir. Aslında (5,0) uç-nokta çözümü amaç fonksiyonunu
daha fazla artırıyor ama uygun çözüm alanının dışında olduğundan dolayı onu seçemiyoruz.
İterasyon 2. D(3,0) noktasına geometrik en iyilik testini uygula:
z(2,3) = 7 > z(3,0) = 6.
Yeni UNU çözüm olarak C(2,3) noktasını seç.
İterasyon 3. C(2,3) noktasına geometrik en iyilik testini uygula: Komşu UNU çözüm noktaları
B(1,4) ve D(3,0) noktalarıdır.
z(2,3) = 7 > z(1,4) = z(3,0) = 6.
Algoritmayı sonlandır: C(2,3) noktası eniyilik
kriterini sağlıyor: en iyi çözümdür.
3
Yöneylem Araştırması
Öğrenme Çıktısı
2 Simpleks yöntemin geometrik yorumunu açıklayabilme
Araştır 2
İlişkilendir
Anlat/Paylaş
Aşağıdaki problemi araştırınız. Bu problem için
başlangıç bir uç-nokta uygun çözüm bulunuz
ve simpleks yöntemin geometrik algoritmasını
uygulayarak önce bir başlangıç uç-nokta uygun
çözüm bulunuz ve geometrik en iyilik testini uygulayınız. Eldeki çözüm optimal değilse iterasyonları devam ettirerek en iyi çözümü bulunuz:
x1 + x2 ≤ 4
4x1 + x2 ≤ 10
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb z = 2x1 + x2.
Optimal ve optimal
olmayan UNU çözümleri karşılaştırın
ve farklarını yorumlayın.
Basit bir problem için
en iyi UNU çözüm
kavramını tartışın.
SİMPLEKS YÖNTEMİN CEBİRSEL VE GEOMETRİK YORUMLARININ
İLİŞKİLENDİRİLMESİ VE SİMPLEKS ALGORİTMA
Şimdi Altbölüm 3.1 ve 3.2’de açıklanan yöntemlerin aslında aynı yöntem olduğunu, aralarında sadece
yorum farkı olduğunu gösterelim ve bu alt bölümlerde açıklanan terimler arasındaki bağlantıyı açıklayalım. Yine yukarıda incelediğimiz Örnek 3.7 ile devam edelim:
−x1 + x2 ≤ 3, (3.12)
3x1 + x2 ≤ 9, (3.13)
x1 + x2 ≤ 5, (3.14)
xj ≥ 0,j = 1,2, (3.15)
kısıtları altında
Enb z = 2x1 + x2. (3.16)
Bu problemi Alt bölüm 3.1’de öğrendiğimiz cebirsel yöntemle araştırabilmemiz için, onu öncelikle kanonik şekle indirgememiz gerekiyor. Kanonik şekildeki bir problemin tüm fonksiyonel kısıtlarının eşitlik
şeklinde olduğunu hatırlayacak olursak, bu problemin kısıtlarını öncelikle eşitlik hâline dönüştürmemiz
gerekiyor. İlk fonksiyonel kısıt üzerinde bunun nasıl yapılabileceğini öğrenelim. Kısıdımız −x1+x2≤3 olduğundan bu eşitsizliğin sol tarafına negatif olmayan yeni bir değişken ekleyerek bu kısıdı eşitlik şeklinde
yazmaya çalışalım. Bu yeni değişkeni ile işaretleyerek işlemi gerçekleştirelim:
x1 + x2 + x3 = 3, x3 ≥ 0.
67
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Böylece, negatif olamayan yeni bir x3 değişkeni kullanarak, birinci kısıdımızı eşitlik şekline dönüştürmüş olduk. Bu amaçla kullanılan bu yeni değişkene aylak değişken denir.
Benzer şekilde, ikinci ve üçüncü fonksiyonel kısıtlar için de birer yeni aylak değişkenler x4 ve x5 kullanarak bu kısıtları da eşitlik şeklinde yazarak, problemimizin kanonik şeklini elde ederiz:
−x1 + x2 + x3 = 3,(3.18)
3x1 + x2 + x4 = 9,(3.19)
x1 + x2 + x5 = 5,(3.20)
xj ≥ 0, j = 1,2,3,4,5,(3.21)
kısıtları altında
Enb z=2x1 + x2.(3.22)
Şimdi (3.12) – (3.16) problemi ile (3.18) - (3.22) problemini kıyaslayacak olursak ve yeni dahil ettiğimiz aylak değişkenler olan x3, x4, x5’in de negatif olmama kısıtlarını sağlaması gerektiğini de göz önünde
bulundurursak bu iki problemin birbirine tamamen eş değer olduklarını söyleyebiliriz. (3.18) - (3.22)
münasebetleri ile tanımlanan kanonik şekildeki probleme, (3.12) – (3.16) orijinal probleminin genişletilmiş şekli denir.
Dikkatle bakıldığında x3, x4, x5 değişkenlerinin temel değişkenler, x1, x2 değişkenlerinin ise temel dışı
değişkenler oldukları açıkça görülmektedir. Bu yorumu kullanarak orijinal problemin UNU çözümleri ile
genişletilmiş problemin temel uygun çözümleri arasındaki ilişkiyi açıklayalım.
Başlangıç Adım: x1=0, x2=0 noktasını (3.12) – (3.16) probleminin başlangıç UNU çözüm olarak seç.
Bu nokta, (3.18) - (3.22) kanonik problemi için x1=0, x2=0, x3=3, x4=9, x5=5 temel uygun çözüme karşılık
gelmektedir.
İterasyon 1.
En iyilik testi: x1=0, x2=0 noktasına geometrik en iyilik kriterini uygula: Komşu uç-nokta uygun çözümlerle kıyaslayalım: z(0,0)=0, z(3,0)=6, z(0,3)=3. Bu yüzden, yeni (ve daha iyi) uç-nokta uygun çözüm x1=3,
x2=0 olarak güncelleştiriliyor. Karşı gelen amaç fonksiyonunun yeni değeri z=6. Şimdi genişletilmiş problemin karşı gelen x1=0, x2=0, x3=3, x4=9, x5=5 temel uygun çözümüne cebirsel en iyilik kriterini uygulayalım.
Burada x1, x2 temel dışı, x3, x4, x5 ise temel değişkenlerdir. Amaç fonksiyonunda temel dışı değişkenlerin
her ikisinin katsayısı pozitif olup x1’in katsayısı daha büyüktür. Bu değişkenin (3.19) ve (3.20) kısıtlarındaki
katsayıları pozitif olduğundan, x1 temele girecektir. Temelden çıkacak değişkeni belirlemek için (3.19) ve
(3.20) kısıtlarının sağ taraflarını bu denklemlerdeki x1’in katsayısına bölerek en küçük oran yöntemini uygulayalım. Bu yöntemin sonucu, en küçük oran (3.19) kısıdında 9 = 3 olarak elde edildiğinden bu kısıt
3
pivot kısıt, bu kısıttaki x4 değişkeni ise temelden çıkacak değişken olarak belirleniyor. (3.18), (3.19), (3.20) ve
(3.22) denklemlerine pivot işlemi uygulandıktan sonra aşağıdaki güncelleşmiş problem elde edilir:
4 x + x + 1 x = 6,(3.24)
3 2 3
3 4
x1 + 1 x2 + 1 x4 = 3,(3.23)
3
3
2 x − 1 x + x = 2,(3.25)
3 2
3 4 5
−z + 1 x2 − 2 x4 = − 6.(3.26)
3
3
68
3
Yöneylem Araştırması
Buradan görüldüğü üzere, güncellenmiş problemde, yeni iyileştirilmiş temel uygun çözüm
x1=3, x2=0, x3=6, x4=0, x5 = 2,
yeni iyileşmiş amaç fonksiyonu değeri z=6 elde ediliyor. Yeni temel uygun çözümde x1, x3, x5 temel değişkenler,
x2, x4 ise temel dışı değişkenlerdir. Tekrar karşılaştıracak olursak, bu iterasyonun uç-nokta uygun (UNU)
çözümü x1=3, x2=0; karşı gelen temel uygun çözüm ise x1=3, x2=0, x3=6, x4=0, x5 = 2 olup amaç fonksiyonu
ortak değeri z = 6.
Son olarak, özellikle şunu belirtelim ki, bir önceki iterasyonun temel uygun (TU) çözümü TU-1: x1=0,
x2=0, x3=3, x4=9, x5=5 ile güncellenmiş temel uygun çözüm TU-2: x1=3, x2=0, x3=6, x4=0, x5=2 arasındaki
farklılık, sadece bir temel değişkenin temel dışı olması ve tersine, bir tane temel dışı değişkenin de temele girmiş
olmasıdır. Örneğin, bir önceki TU çözümde x1 temel dışı, x4 temel değişken iken, yeni TU çözümde x1 temel değişken x4 ise temel dışı değişken olmuştur. Bu tür temel uygun çözümler, karşı geldikleri UNU çözümlere benzer
şekilde komşu temel uygun çözümlerdir.
İterasyon 2.
Geometrik en iyilik testi: x1=3, x2=0 uç-nokta uygun çözüme komşu uç-nokta uygun çözümler x1=2,
x2=3 ve x1=0, x2=0 noktalarıdır. x1=0, x2=0 noktası daha önce kontrol edildiğinden, eldeki çözümü sadece
x1=2, x2=3 UNU çözümü ile kıyaslamak yeterlidir:
z(2,3) = 7 > z(3,0) = 6.
Bu yüzden, geometrik en iyilik kriterine göre, güncelleşmiş yeni uç nokta uygun çözüm olarak x1=2, x2=3
belirleniyor.
Şimdi cebirsel en iyilik testini uygulayalım. Bunun için yeni TU çözüm olan x1=3, x2=0, x3=6, x4=0, x5=2
ve amaç fonksiyonu satırı olan (3.26) denklemini birlikte incelememiz gerekiyor. Bu denklemde temel dışı
değişken olan x2’nin katsayısının pozitif olması, eldeki çözümün optimal olmadığını göstermektedir. Uygun çözümün iyileştirilmesi kriterine göre, x2 değişkeninin (3.23), (3.24), (3.25) fonksiyonel kısıtlarındaki
katsayılarına bakmamız gerekiyor. Bu kısıtların hepsinde x2 değişkeni pozitif katsayıya sahip olduğundan
en küçük oranını bu kısıtların tamamında uygulamamız gerekecek:
(3.23) → 3 : 1 = 9,
3
(3.24) → 6 : 4 = 9 ,
3
2
(3.25) → 2 : 2 = 3 → en küçük.
3
Bu durumda, x2 değişkeni temele girecek değişken, (3.25) denklemi pivot denklem olduğundan, bu denklemdeki temel değişken olan x5 değişkeni de temelden çıkacak değişken olarak belirlenmiştir.
Pivot işlemini yapalım: önce (3.25) denkleminin her tarafını 3 ile çarparak, x2 değişkeninin katsayısı2
nın 1’e eşit olmasını sağlıyoruz, sonra da bu denklemi kullanarak diğer bütün denklemlerde bu değişkenin
katsayısını sıfır yaparak bu iterasyonun kanonik problemini oluşturuyoruz.
69
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
x3 + x4 − 2x5 = 2,(3.28)
x1 + 1 x4 − 1 x5 = 2,(3.29)
2
2
x2 − 1 x4 + 3 x5 = 3,(3.27)
2
2
−z − 1 x4 − 1 x5 = − 7.(3.30)
2
2
Bu kanonik problemi incelediğimizde x1, x2, x3 temel, x4, x5 ise temel dışı değişkenler olup x1=2, x2=3,
x3=2, x4=0, x5=0 temel uygun çözümünü elde ediyoruz. Temel dışı değişkenlerin (3.30) amaç fonksiyonu
satırındaki katsayıları negatif olduğundan en iyilik testi sağlanıyor, bu ise elde edilmiş yeni temel uygu
çözümün en iyi çözüm olduğunu gösteriyor. Hatırlatalım ki, x1=2, x2=3, x3=2, x4=0, x5=0 temel uygun
çözümünü x1=2, x2=3 UNU çözüme karşı gelmektedir. Bu son UNU çözüm de komşu uç-nokta uygun
çözümlerden daha iyi olduğundan, o da geometrik en iyilik kriterini sağlamaktadır. SON.
Algoritmayı sonlandır: x1=2, x2=3, x3=2, x4=0, x5=0 temel uygun çözümü cebirsel en iyilik kriterini, karşı
gelen x1=2, x2=3 UNU çözümü de geometrik en iyilik kriterini sağladığından, problemin en iyi çözümüdür.
Bu noktada, amaç fonksiyonunun en iyi değeri −z=−7 veya z=7 olarak bulunmuştur.
Öğrenme Çıktısı
3 Simpleks yöntemin cebirsel ve geometrik yorumlarının ilişkilendirilmesini ve simpleks
algoritmayı açıklayabilme
Araştır 3
İlişkilendir
Anlat/Paylaş
Aşağıdaki problemi araştırınız. Bu problem için
simpleks yöntemin cebirsel versiyonunu uygulayınız ve her bir iterasyonda elde ettiğiniz temel
uygun çözümü, Araştır 3.2’de geometrik yöntemle elde edilen UNU çözümle karşılaştırınız.
UNU ve temel uygun çözümleri kıyaslayarak en
iyilik ve iyileştirme kriterlerini adım adım tartışınız ve en iyi çözümü bulunuz.
x1 + x2 ≤ 4
4x1 + x2 ≤ 10
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb z = 2x1 + x2.
Temel uygun ve
UNU
çözümleri
karşılaştırın ve farklarını yorumlayın.
Kendiniz oluşturacağınız bir problemin
en iyi çözümünü cebirsel simpleks algoritmayı uygulayarak
bulun.
SİMPLEKS YÖNTEMİN TABLO ŞEKLİ
Doğrusal programlama problemlerinin en iyi çözümünün bulunabilmesi için önceki alt bölümlerde sizlerle paylaştığımız geometrik algoritma, yöntemin geometrisini görsel bir şekilde açıklamakta ve cebirsel işlemlerin çok güzel resimlemesini sunmaktadır. Elbette, ikiden fazla karar değişkeninin bulunduğu problemle-
70
3
Yöneylem Araştırması
ri ne yazık ki geometrik – grafik yöntemlerle çözmek oldukça zor ve hatta imkânsız olabilmektedir. Simpleks
yöntem için sunduğumuz cebirsel algoritma ise aslında bu yöntemin bütün özelliklerini açıklamaktadır. Büyük boyutlu, yani çok sayıda karar değişkeni içeren problemlerin çözümü için, bu algoritma kullanılarak bilgisayar kodu yazılabilir. Bu bölümde, bir DP problemini el ile çözebilmek için cebirsel algoritmayı kullanabileceğiniz simpleks yöntemin tablo şeklini açıklayacağız. Simpleks yöntemin tablo şekli, cebirsel algoritmanın
kullandığı sadece önemli bilgileri içermektedir: değişkenlerin katsayıları, sağ taraf sabitleri ve eniyilik ve/veya
mevcut uygun çözümün iyileştirilmesi kriterinin uygulanması için temelden çıkacak ve temele girecek değişkenler. Simpleks yöntemin tablo şeklini daha iyi anlayabilmemiz için başlangıç adıma karşı gelen tabloda hem
problemin başlangıç kanonik şeklini hem de başlangıç tabloyu aynı tabloda gösterelim, bakınız TABLO 3.1.
Tablo 3.1 ÖRNEK 3.7 için başlangıç iterasyona karşı gelen denklem sistemleri 3
Algoritmanın Cebirsel Şekli
Algoritmanın Tablo Şekli
Temel
Denklem
değişkenler Numaraları
Değişkenlerin Katsayıları
z
x1
x2
x3
x4
x5
Sağ taraf
−z + 2x1 + x2 = 0
z
(0)
-1
2
1
0
0
0
0
−x1 + x2 + x3 = 3
x3
(1)
0
-1
1
1
0
0
3
3x1 + x2 + x4 = 9
x4
(2)
0
3
1
0
1
0
9
x1 + x2 + x5 = 5
x5
(3)
0
1
1
0
0
1
5
İterasyon 1. Bu başlangıç iterasyonun cebirsel denklemlerinde, temel değişkenler x3, x4, x5 ve temel dışı
değişkenler x1, x2 net bir şekilde görünüyor. Bunlar, tablo kısmında da açıkça belirtilmişler. Temel değişkenlerin değerleri, bulundukları satırdaki sağ taraf sabitlerine, temel dışı değişkenlerin değerleri ise sıfıra
eşittir. Yani başlangıç temel uygun çözüm:
(x1, x2, x3, x4, x5) = (0,0,3,9,5).
Optimallik testi için, temel dışı değişkenlerin amaç fonksiyonundaki katsayıları kontrol ediliyor. Tabloda bu satır (0) denklemi ile işaretlenmiştir. Her iki değişkenin katsayısı pozitif olduğundan, bu şu anlama
gelmektedir:
“Mevcut uygun çözüm optimal değil, çünkü temel dışı değişkenin değeri sıfır yerine pozitif bir sayı olursa,
amaç fonksiyonuna katkısı pozitif olacaktır, yani hala amaç fonksiyonunun değerini artırabiliriz.”
Bu yüzden duruma daha fazla katkı sağlayacağından dolayı, katsayısı daha büyük pozitif sayı olan x1, değişkeni “değeri artırılacak değişken, yani temele girecek değişken olarak” seçilmelidir. TABLO 3.1’de (2) ve
(3) numaralı denklemlerde bu değişkenin katsayısı pozitiftir. En küçük oran yöntemi, bu değişkenin değerinin ne kadar artırılabileceğini ve aynı zamanda temelden çıkacak değişkenle pivot satırı da belirleyecektir:
(2) → 9 = 3;
3
(3) → 5 =5.
1
En küçük oran (2) numaralı denklemde elde edildiğinden dolayı, bu denklem pivot denklem, bu denklemdeki temel değişken x4 ise temelden çıkacak değişken olarak seçilecektir. x1 değişkeni bir sonraki iterasyonun temel
değişkeni olacağından, (2) denkleminde bu değişkenin katsayısı 1’e, diğer tüm denklemlerde ise 0’a eşit
olmalıdır. Bunun için önce TABLO 3.1’de (2) satırını 3 ile böleceğiz, daha sonra yeni satırı -2 ile çarpıp (0)
satırına, 1 ile çarpıp (1) satırına ve -1 ile çarpıp (3) satırına ekleyeceğiz. Bu işlemler sonucunda elde edilen
yeni satırlar TABLO 3.2’de gösterilmiştir. Bu tabloda, artık cebirsel denklemleri yazmaya gerek duyulmadığından, sadece simpleks tablo verileri yansıtılmıştır.
71
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Tablo 3.2 ÖRNEK 3.7 için birinci iterasyona karşı gelen simpleks tablo
İterasyon
Temel
Numarası
değişkenler Numaraları
1
Denklem
Değişkenlerin Katsayıları
z
x1
x2
Sağ
x3
x4
taraf
x5
z
(0)
-1
0
1
3
0
- 2
0
-6
x3
(1)
0
0
4
3
1
1
3
0
6
x1
(2)
0
1
1
3
0
1
3
0
3
x5
(3)
0
0
2
3
0
- 1
1
2
3
3
İterasyon 1. Bu iterasyonda, temel değişkenler x1, x3, x5 ve temel dışı değişkenler x2, x4 olduğu net bir
şekilde görünüyor. Temel değişkenlerin değerleri, bulundukları satırdaki sağ taraf sabitlerine, temel dışı
değişkenlerin değerleri ise sıfıra eşittir. Yani bu iterasyonun temel uygun çözümü:
(x1, x2, x3, x4, x5) = (3,0,6,0,2).
Optimallik testi: Mevcut uygun çözüm optimal değil, çünkü temel dışı değişken olan x2’nin amaç fonksiyonundaki katsayısı pozitiftir (=1/3).
Bu yüzden x2 değişkeni “değeri artırılacak değişken, yani temele girecek değişken olarak” seçilecektir. TABLO
3.2’de (1), (2) ve (3) numaralı denklemlerde bu değişkenin katsayısı pozitiftir. En küçük oran yöntemi, bu
değişkenin değerinin ne kadar artırılabileceğini ve aynı zamanda temelden çıkacak değişkenle pivot satırı
da belirleyecektir:
(1) → 6: 4 = 9 ;
3
2
(2) → 3: 1 = 9;
3
(3) → 2: 2 = 3 → en küçük.
3
En küçük oran (3) numaralı denklemde elde edildiğinden dolayı, bu denklem pivot denklem, bu denklemdeki temel değişken x5 ise temelden çıkacak değişken olarak seçilecektir. x2 değişkeni bir sonraki iterasyonun
temel değişkeni olacağından, (3) denkleminde bu değişkenin katsayısı 1’e, diğer tüm denklemlerde ise 0’a
eşit olmalıdır. Bunun için önce TABLO 3.2’de (3) satırını 2 ile böleceğiz, daha sonra yeni satırı − 1
3
3
ile çarpıp (0) satırına, − 4 ile çarpıp (1) satırına ve − 1 ile çarpıp (2) satırına ekleyeceğiz. Bu işlemler
3
3
sonucunda elde edilen yeni satırlar TABLO 3.3’de gösterilmiştir.
72
3
Yöneylem Araştırması
Tablo 3.3 ÖRNEK 3.7 için ikinci iterasyona karşı gelen simpleks tablo
İterasyon
Temel
Denklem
Numarası
değişkenler
Numaraları
z
(0)
x3
2
Değişkenlerin Katsayıları
z
Sağ taraf
x1
x2
x3
x4
x5
-1
0
0
0
- 1
- 1
-7
(1)
0
0
0
1
1
-2
2
x1
(2)
0
1
0
0
1
2
- 1
2
x2
(3)
0
0
1
0
- 1
3
2
3
2
2
2
2
2. iterasyonda elde edilen temel uygun çözüm:
(x1, x2, x3, x4, x5) = (2,3,2,0,0).
Optimallik testi: Mevcut uygun çözüm optimaldir, çünkü temel dışı değişkenlerin ikisinin de amaç
fonksiyonundaki katsayıları negatiftir. Bu değişkenlerin temele girmesi amaç fonksiyonunun değerinin artmasına değil azalmasına sebep olacaktır. Karşı gelen en büyük amaç fonksiyonu değeri ise z=7.
Simpleks algoritmayı kısaca özetleyelim:
• Algoritma yalnızca uygun uç noktalara odaklıdır.
• Belli adımlar serisinin tekrarından oluşan (iteratif ) bir algoritmadır.
• Genelde başlangıç uç nokta olarak (0,0) noktasını seçer.
• Komşu uç noktaları belirler.
• Amaç fonksiyonunun her bir kenar üzerinde iyileşme derecesini hesaplar.
• Bulunmuş uç-nokta uygun çözümden daha iyi komşu uç-nokta uygun çözüm yoksa, bu noktayı optimal
çözüm noktası olarak belirler.
Başlangıç çözümü bul
Eldeki
çözüm
optimal
mı?
Evet
Dur
Hayır
Daha iyi komşu uç nokta bul
73
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
dikkat
Bu kitapta simpleks yöntemi genel hatlarıyla, sadece standart ve kanonik şekillerde tanımlanmış problemler için açıkladık. Bir DP probleminin standart şekli
aşağıdaki gibi tanımlanmaktadır:
• Amaç fonksiyonu: Enbüyükleme,
• Fonksiyonel kısıtlar: ≤,
• İşaret kısıtları: ≥ 0.
Fonksiyonel kısıtlardaki ≤ durumu, bu kısıtlara aylak değişkenler eklenerek = şekline indirgenebilir. Bu işlem sonrası problem zaten kanonik şekle indirgenmiş olur ve
simpleks algoritma uygulanabilir. Aslında eşitsizlik şeklindeki fonksiyonel kısıtlara
aylak değişkenlerin eklenmesiyle kanonik şekle indirgeme sürecinin en önemli özelliği bu şekilde bir problem için kolayca başlangıç çözümün elde edilmesi ve problemin, simpleks algoritmanın uygulanması için hazır hâl4de getirilmesidir. Standart
şekilde verilmemiş problemleri için başlangıç çözümün bulunması ve problemin,
simpleks algoritmanın uygulanabilir şekle getirilmesi için “Büyük M” veya “İki Aşamalı Simpleks Algoritma” kullanılabilir, ama bu konular bizim kitabın müfredatı
dışında olduğundan bu kitapta ele alınmayacaktır.
Öğrenme Çıktısı
4 Simpleks yöntemin tablo şeklini açıklayabilme
Araştır 4
İlişkilendir
Anlat/Paylaş
Aşağıdaki problemi araştırın. Bu probleme simpleks yöntemin tablo şeklini uygulayarak problemin en iyi çözümünü bulun.
x1 + x2 ≤ 4
4x1 + x2 ≤ 10
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb z=2x1 + x2.
Simpleks yöntemin
tablo şeklini ve cebirsel algoritmayı kıyaslayın ve farklarını
yorumlayın.
Kendiniz oluşturacağınız bir problemin
en iyi çözümünü
simpleks algoritmanın tablo şeklini uygulayarak bulun.
74
3
Yöneylem Araştırması
1
Simpleks yöntemin cebirsel yorumunu
açıklayabilme
öğrenme çıktıları ve bölüm özeti
Simpleks Yöntemin Cebirsel
Yorumu
Bu bölümde, doğrusal programlama problemlerinin en iyi çözümünü bulmak için teori ve uygulamalarda en yoğun kullanılan yöntem olan simpleks yöntem tüm özellikleri ile açıklanmıştır. Simpleks
yöntemin aslında bir cebirsel iteratif yöntem olduğu, her bir iterasyonda doğrusal denklem sistemlerinin temel çözümlerinin bulunarak ilerlediği gösterilmiştir.
2
Simpleks yöntemin geometrik yorumunu
açıklayabilme
Simpleks Yöntemin Geometrik
Yorumu
Doğrusal programlama problemlerinin uygun çözüm alanının her zaman bir polihedral küme olduğu
ve problemin en iyi çözümlerinin (çözümün var olduğu durumda) uygun çözüm alanının tepe noktalarından birinde erişilebileceği bilgisi kullanılarak simpleks yöntem, geometrik şekilde de yorumlanmıştır. Bu bilgiye dayanarak bu bölümde, simpleks yöntemin geometrik açıdan da yorumuna da geniş
yer verilmiş ve en iyi çözümün grafik çizimlerle nasıl elde edilebileceği açıklanmıştır.
3
Simpleks yöntemin cebirsel ve geometrik
yorumlarının ilişkilendirilmesini ve simpleks
algoritmayı açıklayabilme
Simpleks Yöntemin Cebirsel
ve Geometrik Yorumlarının
İlişkilendirilmesi ve Simpleks
Algoritma
ÖÇ 3 doğrultusunda, cebirsel ve geometrik yorumlar kıyaslamalı bir şekilde açıklanarak her bir yorum
için kullanılan terimler bir biri ile ilişkilendirilmiş ve örnekler üzerinde izah edilmiştir.
4
Simpleks yöntemin tablo şeklini
açıklayabilme
Simpleks Yöntemin Tablo Şekli
ÖÇ 4 doğrultusunda, simpleks algoritma ile ilgili tüm özellikler birleştirilerek, bu algoritmanın kompakt bir tablo şeklinde adım adım nasıl uygulanacağı gösterilmiştir. Simpleks algoritmanın cebirsel,
geometrik ve tablo şekilleri açıklanırken tüm ilgili terim ve özellikler bu yöntemin püf noktalarını
ortaya koyacak şekilde tasarlanmış örnekler üzerinde yorumlanmıştır. Bölüm sonunda sizlere sunulan
alıştırmalar da öğrendiklerinizi en iyi şekilde test edebileceğiniz şekilde tasarlanmıştır.
75
3
neler öğrendik?
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
1
Aşağıdaki doğrusal programlama problemi
verilsin:
2 Aşağıdaki doğrusal programlama problemi
verilsin:
x1 + 2x2 ≤ 8,
x1 + 2x2 + x3 = 8,
3x1 − 2x2 ≤ 0,
2x1 + x2 ≤ 10,
xj ≥ 0,j = 1,2,
2x1 + x2 + x5 = 10,
xj ≥ 0,j = 1,2,3,4,5,
kısıtları altında
kısıtları altında
Enb z = x1 + x2.
Enb z =x1 + x2.
Bu problemin kanonik şekli aşağıdakilerden hangisinde doğru tarif edilmiştir?
Bu problemin temel uygun çözümü aşağıdakilerden hangisinde doğru belirtilmiştir?
A. x1 + 2x2 + x3 = 8,
3x1 − 2x2 + x4 = 0,
2x1 + x2 + x5 = 10,
xj ≥ 0,j = 1,2,3,4,5,
kısıtları altında
Enb z = x1 + x2.
A. (x1,x2,x3,x4,x5)=(1,1,8,0,10).
B. (x1,x2,x3,x4,x5)=(0,0,8,0,10).
C. (x1,x2,x3,x4,x5)=(8,0,10,0,0).
D. (x1,x2,x3,x4,x5)=(8,10,0,0,0).
E. (x1,x2,x3,x4,x5)=(1,0,8,0,10).
B. x1 + 2x2 = 8,
3x1 −2x2 = 0,
2x1 + x2 = 10,
xj ≥ 0,j = 1,2,
kısıtları altında
Enb z = x1 + x2.
C. x1 + 2x2 + x3 = 8,
3x1 −2x2 = 0,
2x1 + x2 = 10,
xj ≥ 0,j = 1,2,3,
kısıtları altında
Enb z = x1 + x2 + x3.
D. x1 + 2x2 + x3 = 8,
3x1 −2x2 + x4 = 0,
2x1 + x2 = 10,
xj ≥ 0,j = 1,2,3,4,
kısıtları altında
Enb z = x1 + x2 + x3 + x4.
E. x1 + 2x2 + x3 = 8,
3x1 −2x2 + x4 = 0,
2x1 + x2 + x5 = 10,
xj ≥ 0,j = 1,2,3,4,5,
kısıtları altında
Enb z = x3 + x4 + x5.
76
3x1 − 2x2 + x4 = 0,
3 Bir enbüyükleme doğrusal programlama
problemine cebirsel simpleks algoritma uygulanmış ve iterasyonlardan birinde aşağıdaki problem
elde edilmiştir:
1 x + x + 1 x = 4,
2 1 2 2 3
4x1 + x3 + x4 = 8,
3 x − 1 x + x = 6,
2 1 2 3 5
−z + 1 x1 − 1 x3 = −4,
2
2
xj ≥ 0,j = 1,2,3,4,5.
Bu problemin temel uygun çözümü ve bu uygun
çözümün niteliğine dair yorum aşağıdakilerden
hangisinde doğru verilmiştir?
A. (x1,x2,x3,x4,x5)=(4,0,0,8,6), en iyi çözüm değil,
iyileştirile bilir.
B. (x1,x2,x3,x4,x5)=(0,8,4,0,6), en iyi çözüm.
C. (x1,x2,x3,x4,x5)=(0,4,0,8,6), en iyi çözüm değil,
iyileştirile bilir.
D. (x1,x2,x3,x4,x5)=(8,0,4,0,6), en iyi çözüm.
E. (x1,x2,x3,x4,x5)=(6,0,0,8,4), en iyi çözüm değil,
amaç fonksiyonu uygun çözüm alanında üstten
sınırsızdır.
3
Yöneylem Araştırması
4
−3x1 + x2 + x3 = 1,
D. Mevcut uç-nokta uygun çözüm (2,3) en iyi çözüm değil, bir sonraki iterasyonda ( 20 , 30 )
7
7
noktası seçilmelidir.
xj ≥ 0,j = 1,2,3.
E. Mevcut uç-nokta uygun çözüm (2,3) en iyi çözüm değil, bir sonraki iterasyonda (4,2) noktası
seçilmelidir.
Bu problemin temel uygun çözümü ve bir sonraki
iterasyona dair yorum aşağıdakilerden hangisinde
doğru verilmiştir?
6 Aşağıdaki doğrusal programlama problemi
verilsin:
−z + x1 − x2 = 0,
A. (x1,x2,x3)=(0,1,0), en iyi çözüm.
B. (x1,x2,x3)=(0,0,1), en iyi çözüm.
C. (x1,x2,x3)=(0,1,0), en iyi çözüm değil, bir sonraki iterasyonda x3 temele girecek, x2 temelden
çıkacak değişken olarak seçilmeli.
D. (x1,x2,x3)=(0,0,1), en iyi çözüm değil, bir sonraki iterasyonda geçilmemeli, amaç fonksiyonu
uygun çözüm alanında üstten sınırsızdır.
E. (x1,x2,x3)=(0,0,1), en iyi çözüm değil, bir sonraki iterasyonda x1 temele girecek, x3 temelden
çıkacak değişken olarak seçilmeli.
5 Aşağıdaki doğrusal programlama problemi
verilsin:
x1 + 2x2 ≤ 8,
−3x1 + 2x2 ≤ 0,
2x1 + x2 ≤ 10,
xj ≥ 0,j = 1,2,
kısıtları altında
Enb z= x1 + x2.
Bu problemi çözmek için geometrik simpleks algoritma uygulanmış ve bir iterasyonda (2,3) uç-nokta
uygun çözüm elde edilmiştir. Bu uç-nokta uygun
çözüme geometrik en iyilik kriteri uygularsak bir
sonraki iterasyon ile ilgili yorum aşağıdakilerden
hangisinde doğru verilmiştir?
neler öğrendik?
Bir enbüyükleme doğrusal programlama
problemine cebirsel simpleks algoritma uygulanmış ve iterasyonlardan birinde aşağıdaki problem
elde edilmiştir:
C. Mevcut uç-nokta uygun çözüm (2,3) en iyi çözüm değil, bir sonraki iterasyonda (5,0) noktası
seçilmelidir.
x1 + 2x2 ≤ 8,
−3x1 + 2x2 ≤ 0,
2x1 + x2 ≤ 10,
xj ≥ 0, j =1,2,
kısıtları altında
Enb z = x1 + x2.
Bu problemi çözmek için geometrik simpleks algoritma uygulanmış ve bir iterasyonda (4,2) uç-nokta
uygun çözüm elde edilmiştir. Bu uç-nokta uygun
çözüme geometrik en iyilik kriteri uygulanırsa bir
sonraki iterasyon ile ilgili yorum aşağıdakilerden
hangisinde doğru verilmiştir?
A. Mevcut uç-nokta uygun çözüm (4,2) en iyi çözümdür.
B. Mevcut uç-nokta uygun çözüm (2,3) en iyi
çözüm değil, amaç fonksiyonu uygun çözüm
alanında sınırsızdır.
C. Mevcut uç-nokta uygun çözüm (4,2) en iyi çözüm değil, bir sonraki iterasyonda (5,0) noktası
seçilmelidir.
D. Mevcut uç-nokta uygun çözüm (4,2) en iyi çözüm değil, bir sonraki iterasyonda ( 20 , 30 )
7
7
noktası seçilmelidir.
E. Mevcut uç-nokta uygun çözüm (4,2) en iyi çözüm değil, bir sonraki iterasyonda (2,3) noktası
seçilmelidir.
A. Mevcut uç-nokta uygun çözüm (2,3) en iyi çözüm değil, bir sonraki iterasyonda (0,0) noktası
seçilmelidir.
B. Mevcut uç-nokta uygun çözüm (2,3) en iyi çözümdür.
77
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
7
Aşağıdaki doğrusal programlama problemi verilsin:
neler öğrendik?
x1 + 2x2 + x3 = 8,
−3x1 + 2x2 + x4 = 0,
2x1 + x2 + x5 = 10,
xj ≥ 0,j = 1,2,3,4,5,
kısıtları altında
Enb z = x1 + x2.
Bu problem için başlangıç iterasyona karşı gelen simpleks tabloyu oluşturup, temele girecek ve temelden
çıkacak değişkenleri belirleyerek pivot işlemini gerçekleştiriniz. Bir sonraki iterasyona karşı gelen simpleks
tablo aşağıdaki şıklardan hangisinde doğru verilmiştir.
A.
İterasyon
Temel
Denklem
Değişkenlerin Katsayıları
Numarası
değişkenler
Numaraları
1
z
(0)
-1
0
1
2
0
0
x3
(1)
0
0
3
2
1
0
x4
(2)
0
0
7
2
0
x1
(3)
0
1
1
2
0
z
x1
x2
Sağ
x3
x4
taraf
x5
-
1
2
-5
-
1
2
3
1
3
2
15
0
1
2
5
B.
78
İterasyon
Temel
Denklem
Değişkenlerin Katsayıları
Numarası
değişkenler
Numaraları
1
z
(0)
-1
0
1
2
x1
(1)
0
1
x4
(2)
0
x5
(3)
0
z
x1
x2
Sağ
x3
x4
taraf
x5
1
2
0
0
-5
3
2
3
4
0
0
3
0
7
2
0
1
0
6
0
1
2
-2
0
1
4
-
3
Yöneylem Araştırması
C.
Temel
Denklem
Değişkenlerin Katsayıları
Numarası
değişkenler
Numaraları
1
z
(0)
-1
0
1
2
0
x3
(1)
0
0
3
2
1
x1
(2)
0
1
7
2
x5
(3)
0
0
1
2
z
x1
x2
Sağ
x3
x4
taraf
x5
-
3
2
0
-5
-
1
2
0
3
0
2
3
0
15
0
0
1
5
neler öğrendik?
İterasyon
D.
İterasyon
Temel
Denklem
Değişkenlerin Katsayıları
Numarası
değişkenler
Numaraları
1
z
(0)
-1
1
2
0
x2
(1)
0
3
2
1
x4
(2)
0
1
0
x5
(3)
0
1
2
0
z
x1
x2
Sağ
x3
x4
taraf
x5
-
3
2
0
0
-5
-
1
2
0
0
3
7
2
1
0
15
2
3
0
1
5
-
E.
İterasyon
Temel
Denklem
Değişkenlerin Katsayıları
Numarası
değişkenler
Numaraları
1
z
(0)
-1
1
2
0
0
x3
(1)
0
3
2
0
1
x2
(2)
0
1
1
0
x5
(3)
0
1
2
0
0
z
x1
x2
Sağ
x3
x4
taraf
x5
-
3
2
0
-5
-
1
2
0
3
7
2
0
15
3
2
1
5
-
79
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
8
neler öğrendik?
Bir DP problemine simpleks yöntemin tablo şekli uygulanmış ve k. iterasyonda aşağıdaki tablo elde
edilmiştir:
İterasyon
Temel
Denklem
Numarası
değişkenler
Numaraları
Değişkenlerin Katsayıları
k
z
(0)
-1
0
1
2
0
0
x3
(1)
0
0
3
2
1
0
x4
(2)
0
0
7
2
0
x1
(3)
0
1
1
2
0
z
x1
x2
Sağ
x3
x4
taraf
x5
-
1
2
-5
-
1
2
3
1
3
2
15
0
1
2
5
Bu tabloya göre, mevcut iterasyondaki temel uygun çözüm ve ilgili yorum aşağıdaki şıklardan hangisinde
doğru verilmiştir?
A. Temel uygun çözüm:(x1,x2,x3,x4,x5)=(0,5,3,15,0), en iyi çözümdür.
B. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(5,0,3,15,0), en iyi çözüm değil, x2 temele sokularak ve x3 temelden çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
C. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(15,0,3,5,0), en iyi çözüm değil, x2 temele sokularak ve x4 temelden çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
D. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(3,5,0,15,0), en iyi çözümdür, fakat x3 temele sokularak ve x2
temelden çıkartılarak yapılacak bir iterasyonla alternatif çözüm elde edile bilir.
E. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(3,0,5,0,15), en iyi çözüm değil, x4 temele sokularak ve x1 temelden çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
9 Bir DP problemine simpleks yöntemin tablo şekli uygulanmış ve k. iterasyonda aşağıdaki tablo elde
edilmiştir:
80
İterasyon
Temel
Denklem
Değişkenlerin Katsayıları
Numarası
değişkenler
Numaraları
k
z
(0)
-1
0
0
x2
(1)
0
0
1
x4
(2)
0
0
0
x1
(3)
0
1
0
z
x1
x2
Sağ
x3
x4
1
3
0
2
3
0
-
1
3
-
1
3
-
taraf
x5
-
1
3
-6
-
1
3
2
1
8
3
8
0
2
3
4
3
Yöneylem Araştırması
Bu tabloya göre, mevcut iterasyondaki temel uygun çözüm ve ilgili yorum aşağıdaki şıklardan hangisinde
doğru verilmiştir?
neler öğrendik?
A. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(0,2,8,0,4), en iyi çözümdür.
B. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(2,0,0,8,4), en iyi çözüm değil, x2 temele sokularak ve 4 temelden
çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
C. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(4,2,0,8,0), en iyi çözümdür.
D. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(8,2,0,4,0), en iyi çözümdür, fakat x3 temele sokularak ve x4 temelden çıkartılarak yapılacak bir iterasyonla alternatif çözüm elde edile bilir.
E. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(2,8,4,0,0), en iyi çözüm değil, x4 temele sokularak ve x3 temelden
çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
10 Bir DP problemine simpleks yöntemin tablo şekli uygulanmış ve k. iterasyonda aşağıdaki tablo elde
edilmiştir:
İterasyon
Temel
Denklem
Numarası
değişkenler
Numaraları
Değişkenlerin Katsayıları
k
z
(0)
-1
0
0
x2
(1)
0
0
1
x4
(2)
0
0
0
x1
(3)
0
1
0
z
x1
x2
Sağ
x3
x4
1
3
0
2
3
0
-
1
3
-
1
3
-
taraf
x5
0
-6
1
3
2
1
8
3
8
0
2
3
4
-
Bu tabloya göre, mevcut iterasyondaki temel uygun çözüm ve ilgili yorum aşağıdaki şıklardan hangisinde
doğru verilmiştir?
Bu tabloya göre, mevcut iterasyondaki temel uygun çözüm ve ilgili yorum aşağıdaki şıklardan hangisinde
doğru verilmiştir?
A. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(0,2,8,0,4), en iyi çözümdür.
B. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(2,0,0,8,4), en iyi çözüm değil, x2 temele sokularak ve 4 temelden
çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
C. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(4,2,0,8,0), en iyi çözümdür, fakat x5 temele sokularak ve x4 temelden çıkartılarak yapılacak bir iterasyonla alternatif çözüm elde edile bilir.
D. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(8,2,0,4,0), en iyi çözümdür, fakat x3 temele sokularak ve x2 temelden çıkartılarak yapılacak bir iterasyonla alternatif çözüm elde edile bilir.
E. Temel uygun çözüm: (x1,x2,x3,x4,x5)=(2,8,4,0,0), en iyi çözüm değil, x4 temele sokularak ve x3 temelden
çıkartılarak yapılacak bir iterasyonla mevcut çözüm iyileştirile bilir.
81
neler öğrendik yanıt anahtarı
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
1. A
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Doğrusal Programlama
Probleminin Kanonik Şekli, Cebirsel En
İyilik Kriteri” konularını yeniden gözden
geçiriniz.
6. A
2. B
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Doğrusal Programlama
Probleminin Kanonik Şekli, Cebirsel En
İyilik Kriteri” konularını yeniden gözden
geçiriniz.
7. A
3. C
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Doğrusal Programlama
Probleminin Kanonik Şekli, Cebirsel En İyilik Kriteri” ve “En İyi Olmayan Uygun Çözümün İyileştirilmesi” konularını yeniden
gözden geçiriniz.
8. B
4. D
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Doğrusal Programlama
Probleminin Kanonik Şekli, Cebirsel En İyilik Kriteri” ve “Sınırsız Amaç Fonksiyonu”
konularını yeniden gözden geçiriniz.
9. C
5. E
Yanıtınız yanlış ise “Simpleks Yöntemin Geometrik Yorumu” konusunu yeniden gözden
geçiriniz.
10. C
82
Yanıtınız yanlış ise “Simpleks Yöntemin Geometrik Yorumu” konusunu yeniden gözden
geçiriniz.
Yanıtınız yanlış ise “Simpleks Yöntemin Tablo Şekli” konusunu yeniden gözden geçiriniz.
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Simpleks Yöntemin Tablo
Şekli” konularını yeniden gözden geçiriniz.
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Simpleks Yöntemin Tablo
Şekli” konularını yeniden gözden geçiriniz.
Yanıtınız yanlış ise “Simpleks Yöntemin Cebirsel Yorumu” ve “Simpleks Yöntemin Tablo
Şekli” konularını yeniden gözden geçiriniz.
3
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
3
Öncelikle verilen problemin kanonik şekilde olup olmadığına bakacak olursak, tüm karar değişkenleri için negatif olmama kısıdının olduğunu, sağ tarafların pozitif olduğunu, her kısıtta bir karar değişkeninin izole olduğunu
görüyoruz. Bu değişkenlerin amaç fonksiyonundaki katsayıları da sıfır olduğundan problemin kanonik şekilde verildiğini, x1 ve x2’nin temel dışı, x3,x4,x5
değişkenlerinin de temel değişkenler olduğunu söyleyebiliriz. Böylece ilk temel uygun çözümü de kolayca bulabiliriz:
x1=0, x2=0, x3=3, x4=15, x5 =5, z=0.
Bu temel uygun çözüm için en iyilik kriterini test edersek, temel dışı değişkenlerin her ikisinin de amaç fonksiyonundaki katsayılarının pozitif olması,
bunun en iyi çözüm olmadığını göstermektedir. En iyi olmayan uygun çözümün iyileştirilmesi kriterini test ettiğimizde hem x1 hem de x2 değişkenlerinin kısıtlarda pozitif katsayılara sahip olduğunu görüyoruz. Bu ise her iki
değişkenin de temele girebileceğini göstermektedir. Ayrıca, her iki değişkenin
amaç fonksiyonundaki katsayısı +1’e eşit olduğundan bu değişkenlerin temele
girmek için “eşit hakka” sahip oldukları sonucuna varıyoruz. Bu durumda
bu değişkenlerden her hangi biri keyfi olarak temele girecek değişken olarak
seçilebilir. Biz de temele girecek değişkeni x2 olarak seçelim. Şimdi pivot
satırı seçerek temelden çıkacak değişkeni belirlememiz gerekiyor. Üç kısıtta da
Araştır 1
x2’nin katsayısı pozitif olduğundan, sağ tarafları bu katsayılara bölerek en kü-
çük oran kuralını uygulayacağız: (3.3.1) denkleminden 3 =3, (3.3.2) denk-
1
leminden 15 =15, (3.3.3) denkleminden 5 =5 bulunduğundan, en küçük
1
1
oran birinci kısıttan elde edilir. Bu yüzden (3.3.1) kısıdı, pivot kısıt olarak
ilan edilir ve bu kısıttaki temel değişken olan x3 de temelden çıkacak değişken olarak belirlenir.
Bir sonraki bölümde, bu aşamaları simpleks yöntemin iterasyonları olarak
adlandıracağız. Yani bizi daha iyi bir uygun çözüme götürecek bir sonraki
aşamaya, veya bir başka deyimle, bir sonraki iterasyona geçelim.
Bu aşamayı, birinci iterasyon olarak adlandıralım.
Birinci iterasyon. (3.3.1) kısıdı pivot kısıt, x2 de temele girecek değişken olduğundan, bu değişkeni tüm diğer kısıtlardan ve amaç fonksiyonundan yok
etmemiz gerekiyor. Bunun için (3.3.1) denklemini (-1) ile çarparak, (3.3.2),
(3.3.3) ve (3.3.4) denklemlerine ekleyelim. (3.3.4) denklemi ile ilgili işlemi
yaparken bu denklemi standart şekilde yazalım:
−z + x1 + x2 = 0.
Bu işlemler sonucu, problem aşağıdaki eşdeğer şekle indirgenmiş olur:
-x1 + x2 + x3 = 3,
(3.3.1)
4x1 − x3 + x4 = 12,
(3.3.5)
2x1 − x3 + x5 = 2,
(3.3.6)
-z + 2x1 − x3 = −3
(3.3.7)
83
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Araştır Yanıt
Anahtarı
3
Bu iterasyonda elde edilen temel uygun çözümde x1 ve x3 temel dışı, x2,x4,x5
ise temel değişkenler olup, bu değişkenlerin ve amaç fonksiyonunun bu
çözümdeki değerleri aşağıdaki gibidir:
x1=0, x2=3, x3=0, x4=12, x5 =2, z=3.
Görüldüğü üzere, bu iterasyonun sonucunda amaç fonksiyonunun değeri artarak 3 olmuş, dolayısı ile daha iyi bir uygun çözüm bulunarak, iyileştirme
sağlanmıştır. Tekrar aynı soruyu sormak durumundayız: acaba bu uygun çözüm
en iyi çözüm müdür? Bunu belirlemek için en iyilik kriterini test etmemiz gerekiyor. Amaç fonksiyonunda temel dışı değişken olan x1’in katsayısının pozitif
(+2) olması, bu uygun çözümün de optimal olmadığının ve iyileştirilebileceğinin bir belirtisidir.
Amaç fonksiyonu denklemi olan (3.3.7) denkleminde sadece bir tek temel dışı
değişkenin (x1’in) katsayısının sıfır olmaması, temele girecek değişkenin tartışmasız x1 olduğunu göstermektedir. Pivot satırı ve temelden çıkacak değişkeni belirlemek için, x1’in katsayısının pozitif olduğu kısıtlara en küçük oran
kuralını uygulamamız gerekiyor. Bunlar (3.3.5) ve (3.3.6) denklemleridir:
(3.3.5) denkleminden 12 =3, (3.3.6) denkleminden de 2 =1, bulundu-
4
Araştır 1
2
ğundan, en küçük oran (3.3.6) denkleminden elde edilir. Bu yüzden (3.3.6)
kısıdı, pivot kısıt olarak ilan edilir ve bu kısıttaki temel değişken olan x5 de
temelden çıkacak değişken olarak belirlenir.
İkinci iterasyon. (3.3.6) kısıdı pivot kısıt, x1 de temele girecek değişken olduğundan, bu değişkenin bu kısıttaki katsayısının +1’ eşit olmasını sağlamamız ve diğer tüm kısıtlardan ve amaç fonksiyonundan yok etmemiz gerekiyor.
Bunun için (3.3.6) denklemini öncelikle 2 ile bölelim, daha sonra ise (+1) ile
çarparak, (3.3.1) denklemine, (-4) ile çarparak (3.3.5) denklemine ve (-2) ile
çarparak (3.3.7) denklemine ekleyelim.
Bu işlemler sonucu, problem aşağıdaki eşdeğer şekle indirgenmiş olur:
x2 + 1 x3 + 1 x5 = 4,
(3.3.8)
x3 + x4 −2x5 = 10,
(3.3.9)
x1 − 1 x3 + 1 x5 = 1,
(3.3.10)
−z −x5 = −5
(3.3.11)
2
2
2
2
Bu iterasyona elde edilen temel uygun çözümde x5 ve x3 temel dışı, x2,x4,x1
ise temel değişkenler olup, bu değişkenlerin ve amaç fonksiyonunun bu
çözümdeki değerleri aşağıdaki gibidir:
x1=1, x2=4, x3=0, x4=10, x5=0, z=5.
84
3
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
3
Görüldüğü üzere, bu iterasyonun sonucunda da amaç fonksiyonunun değeri
artarak 5 olmuş, dolayısı ile daha iyi bir uygun çözüm bulunarak, iyileştirme
sağlanmıştır. Tekrar aynı soruyu sormak durumundayız: acaba bu uygun çözüm en iyi çözüm müdür? Bunu belirlemek için en iyilik kriterini test etmemiz gerekiyor. Amaç fonksiyonunda temel dışı değişkenlerden hiç birisinin
katsayısı pozitif değil, dolayısı ile temel dışı değişkenlerden hiç birisini temele
sokarak iyileşme sağlanması mümkün değil, yani en iyilik kriteri sağlanıyor
ve bu iterasyonda bulduğumuz temel uygun çözüm en iyi çözümdür. Fakat
temel dışı değişken olan x3’ün amaç fonksiyonundaki katsayısının (pozitif olmasa da) sıfır olması, alternatif optimal çözümün varlığını haber vermektedir.
Yani bu durum, amaç fonksiyonuna aynı en iyi değeri sağlayacak farklı bir
temel uygun çözüm bulunabileceğinin sinyalini vermektedir. Deneyelim!
Amaç fonksiyonu denklemi olan (3.3.11) denkleminde temel dışı değişken
olan x3’ün katsayısının sıfır olması (ve pozitif katsayıya sahip başka temel dışı
değişkenin olmaması), bu değişkenin temele girerek alternatif çözüm üretilebileceğini göstermektedir. Pivot satırı ve temelden çıkacak değişkeni belirlemek için, x3’ün katsayısının pozitif olduğu kısıtlara en küçük oran kuralını
uygulamamız gerekiyor. Bunlar (3.3.8) ve (3.3.9) kısıtlarıdır:
(3.3.8) denkleminden 4: 1 =8, (3.3.9) denkleminden ise 10 =10, bulundu-
2
Araştır 1
1
ğundan, en küçük oran (3.3.8) denkleminden elde edilir. Bu yüzden (3.3.8)
kısıdı, pivot kısıt olarak ilan edilir ve bu kısıttaki temel değişken olan x2
de temelden çıkacak değişken olarak belirlenir.
Üçüncü iterasyon. (3.3.8) kısıdı pivot kısıt, x3 de temele girecek değişken
olduğundan, bu değişkenin bu kısıttaki katsayısının +1’ eşit olmasını sağlamamız ve onu diğer tüm kısıtlardan ve amaç fonksiyonundan yok etmemiz
gerekiyor. Bunun için öncelikle (3.3.8) denklemini 2 ile çarpıp, daha sonra ise
(-1) ile çarparak, (3.3.9) denklemine, (+1/2) ile çarparak (3.3.10) denklemine ekliyoruz. (3.3.11) denkleminde x3 değişkeni zaten bulunmadığından bu
denklemle ilgili bir işlem yapmamıza gerek kalmıyor.
Bu işlemler sonucu, problem aşağıdaki eşdeğer şekle indirgenmiş olur:
2x2 + x3 + x5 = 8,
−2x2 + x4 − 3x5 = 2,
x1 + x2 + x5 = 5,
−z − x5 = −5
(3.3.12)
(3.3.13)
(3.3.14)
(3.3.15)
Bu iterasyona elde edilen temel uygun çözümde x2 ve x5 temel dışı, x1,x3,x4
ise temel değişkenler olup, bu değişkenlerin ve amaç fonksiyonunun bu
çözümdeki değerleri aşağıdaki gibidir:
x1=5, x2=0, x3=8, x4 =2, x5=0, z=5.
Görüldüğü üzere, bu iterasyonun sonucunda amaç fonksiyonunun değeri değişmemiş ve 5 olarak bir önceki iterasyondaki değerin aynısı olarak kalmıştır.
Elde edilen bu uygun çözüm de en iyilik kriterini sağlamaktadır. Dolayısı ile
her ne kadar farklı bir optimal çözüm bulunsa da bu çözüm önceki iterasyonda bulunan çözümden daha iyi bir çözüm olarak nitelendirile bilmemektedir.
Bu yüzden de alternatif çözüm olarak adlandırılmaktadır.
85
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Araştır Yanıt
Anahtarı
3
x2
(0,10)
Araştır 2
(0,4)
(2,2)
(0,0)
(2.5,0)
(4,0)
x1
Problemi grafik yolla çözmek istersek, (2,1) amaç fonksiyonu vektörünü (normal vektör) oluşturuyoruz ve bu vektöre dik olan doğruyu normal vektör yönünde kaydırarak uygun çözüm alanını en son terk ettiği noktayı belirliyoruz.
Bu nokta (2,2) noktası olup, en iyi çözümün elde edildiği nokta oluyor.
Şimdi (geometrik) simpleks algoritmayı uygulayalım:
Algoritmayı uygulamak için ilk önce başlangıç nokta seçiyoruz:
1. x1=0, x2=0 noktasını başlangıç uygun çözüm olarak seçelim. Bu noktada
amaç fonksiyonunun değeri: z=2x1+x2=2.0+0=0.
Şimdi (0,0) noktasına komşu olan uç-nokta uygun çözümleri inceleyelim.
Bu noktalar (0,4) ve (2.5,0) noktalarıdır.
2. Her iki noktada optimallik testi yapalım. (0,4) noktasında amaç fonksiyonunun değeri:
z = 2x1 + x2 = 2.0 + 4 = 4,
(2.5,0) noktasında amaç fonksiyonunun değeri:
z = 2x1 + x2 = 2.2.5+0=5.
Her iki değer z=0 değerinden daha büyük olduğu için (0,0) noktası en iyi
çözüm değildir.
3. (0,4) noktasında amaç fonksiyonu değeri z=4 ve (2.5,0) noktasında amaç
fonksiyonu değeri z=5 olduğundan ve problem de bir en büyükleme problemi olduğundan, amaç fonksiyonunun en büyük değeri aldığı yönde ilerleyeceğiz, yani x1 yönünde. Zaten amaç fonksiyonunda da x1’in katsayısı
daha büyük pozitif sayı olduğundan, x1’in artırılması daha mantıklıdır.
Eldeki yeni UNU çözüm, (2.5,0) olarak güncelleniyor.
4. (2.5,0) noktasına komşu olan UNU çözümler (0,0) ve (2,2) noktalarıdır.
(0,0) noktasının daha iyi olmadığını daha önce test ettik. Şimdi (2,2) noktasını test edelim. Bu noktada amaç fonksiyonunun değerini hesaplayalım:
z(2,2)=2.2+2=6.
Amaç fonksiyonunun bu noktadaki değeri diğer noktalardaki değerlerden
daha büyük olduğu için (2,2) noktası yeni uç-nokta uygun (UNU) çözüm
olarak güncelleniyor.
86
3
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
3
Araştır 2
5. Şimdi (2,2) noktasının komşu uç noktalarını kontrol edelim. Bu noktalar
(0,4) ve (2.5,0) noktalarıdır. Her iki noktada amaç fonksiyonunun değerini önceden kontrol etmiştik ve bu değerlerin z=6 değerinden daha küçük
olduğunu göstermiştik.
6. Tüm bu analizlere dayanarak (2,2) noktasının en iyi çözüm olduğunu ve
amaç fonksiyonunun bu noktada en büyük değerini aldığını söyleyebiliriz.
Başka deyimle, (2,2) noktası en iyi UNU çözüm, z=6 değeri de en büyün
amaç fonksiyonu değeridir.
Eşitsizlik şeklinde tanımlanmış 1. ve 2. fonksiyonel kısıtlara sırası ile s1 ve
s2 ile işaretlediğimiz aylak değişkenleri ekleyerek problemi kanonik şekle indirgeyelim:
x1 + x2 + s1 = 4,
4x1 + x2 + s2 = 10,
x1 ≥ 0; x2 ≥ 0; s1 ≥ 0; s2 ≥ 0 ,
−z + 2x1 + x2 = 0 ,
Enb z .
Araştır 3
Başlangıç iterasyon:
- Başlangıç temel uygun çözümü bul. Mümkünse, başlangıç uygun çözüm
olarak orijini kullan.
Bunun anlamı, orijinal karar değişkenlerini temel dışı değişkenler olarak
(x1=x2=0), aylak değişkenleri temel değişkenler olarak seç (s1=4, s2=10).
Temel uygun başlangıç çözüm: (0,0,4,10). Yani, temel dışı olarak seçilen karar değişkenleri x1=0,x2=0; temel değişkenler olarak seçilen aylak
değişkenlerin değeri s1=4, s2=10. Yani, temel uygun başlangıç çözüm
(x1,x2,s1,s2)=(0,0,4,10) oluyor.
- Optimallik testini uygula. Yani, başlangıç temel uygun çözüme (0,0,4,10)
karşı gelen UNU çözüme (x1=0,x2=0) komşu olan (0,4) ve (2.5,0), noktalarından hangisinin başlangıç çözümden daha iyi olduğunu kontrol et.
- Amaç fonksiyonunu satırını z değişkenini de diğer değişkenler ile aynı
tarafta, sabiti ise sağ taraf sabiti gibi düşünerek sağ tarafta olacak şekilde
yazalım. Amaç fonksiyonu başlangıç değeri z=0 oluyor. Amaç fonksiyonunun bu değerinin uygun çözüm alanındaki en büyük değeri olup olmadığını araştır.
Sonuç: Bu değer, amaç fonksiyonunun uygun çözüm alanında alabileceği
en büyük değeri değildir. Çünkü temel dışı değişkenlerden herhangi birinin değerini 0’dan istenilen pozitif değere artırırsak, amaç fonksiyonunun
değeri artar.
87
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Araştır Yanıt
Anahtarı
3
1. İterasyonun 1. Adımı: Hareket yönünü bul.
Eldeki çözüm en iyi çözüm olmadığından, hangi yönde hareket etmemiz gerektiğine karar vermemiz gerekiyor.. Bunun için, problemin en büyükleme
problemi olduğunu da göz önünde bulundurarak, amaç fonksiyonunun değerini en çok artıran yönü seçmemiz gerekiyor. Bir başka değimle, hareket
edeceğimiz yönü bulmak için temele girecek değişkeni seçmemiz gerekiyor.
Amaç fonksiyonunda z=2x1+x2 temel dışı değişkenlerin amaç fonksiyonunu
iyileştirme katsayıları x1=2; x2=1 dir. Yani, x1 temel dışı değişkeninin katsayısı daha büyük olduğundan x1 yönünde hareket etmemiz gerekiyor. Böylece,
temele giren değişken x1 oluyor ve x1 değişkeninin durduğu sütun seçilir. Bu
sütuna pivot sütun denir.
x1 + x2 + s1 = 4
4x1 + x2 + s2 = 10
−z + 2x1 + x2 = 0
Araştır 3
1. İterasyonun 2. Adımı:
Şimdi x1 temel dışı değişkenini ne kadar artıra bileceğimize karar vermeliyiz.
Ne kadar artıra bileceğimizi temelden çıkan değişkeni seçerek belirleyebiliriz.
Doğal olarak x1 temel dışı değişkeninin artması temel değişkenlerin değerini
azaltacaktır.
En küçük oran testini uygula.
1. kısıtta x1 temel dışı değişkenini en fazla artıra bileceğimiz değeri bulalım: x2
temel dışı değişken olduğu için zaten = 0, s1=0 olursa, x1=4 elde ederiz.
2. kısıtta x1 temel dışı değişkenini en fazla artıra bileceğimiz değeri bulalım: x2
temel dışı değişken olduğu için zaten = 0, s2=0 olursa, x1=10/4 elde ederiz. Bu
değerlerden en küçüğünü seçiyoruz. Böylece,
x1’in alabileceği en büyük değer:
x1=min {4, 10 }=104 oluyor. Bu nedenle 2.kısıdın oluşturduğu satır pivot
4
satır olarak seçiliyor.
x1 + x2 + s1 = 4,
4x1 + x2 + s2 = 10,
−z + 2x1 + x2 = 0.
1. İterasyonun 3. Adımı:
Böylece, x1 temel dışı değişkeninin temele gireceği ve s2 temel değişkeninin
temelden çıkacağı belirlenmiş oldu. Bu durumda pivot işlemini uygulayarak
problemin bu duruma uygun yeni kanonik şeklini oluşturmamız gerekiyor.
Her bir temel değişkenin sadece bir satırda sıfırdan farklı katsayıya sahip olması gerektiğini biliyoruz, diğer tüm satırlarda bu katsayı sıfıra eşitlenmelidir.
Bunun için pivot satırdaki temele girecek olan x1 değişkeninin katsayısını 1’e
eşitlemek için bu denklemin her tarafını 4 ile bölelim:
x1 + 1 x2 + 1 s2 = 10 = 5 .
4
88
4
4
2
3
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
3
Şimdi tüm denklemlerdeki x1 değişkeninin katsayısını = 0 yapmak gerekiyor.
Bunun için Gauss-Jordan yöntemini kullanarak pivot denklemini (−1) ile çarpıp, 1. Denkleme eklersek aşağıdaki denklemi elde ederiz:
3 x +s − 1 s = 3 .
4 2 1 4 2 2
Şimdi pivot denklemini −2 ile çarpıp, amaç fonksiyonu denklemine ekleyelim:
−z + 1 x2 − 1 s2 = −5.
2
2
Böylece güncellenmiş kanonik problem aşağıdaki şekilde oluşuyor:
3 x +s − 1 s = 3 ,
4 2 1 4 2 2
x1 + 1 x2 + 1 s2 = 5 ,
4
4
2
−z + 1 x2 − 1 s2 = −5,
2
2
x1≥0; x2≥0; s1≥0; s2≥0.
Araştır 3
Yeni temel uygun çözümde, x1,s1 temel değişkenler, x2,s2 ise temel dışı değişkenlerdir: x1 = 5 , x2=0, s1 = 3 , s2=0. Bulunan yeni çözüm: (x1,x2,s1,s2)=( 5 ,0, 3 ,0),
2
2
2
2
amaç fonksiyonunun güncel değeri ise z=5 olacaktır.
Bu çözüm optimal mıdır?
Amaç fonksiyon denkleminde temel dışı değişken olan x2’nin katsayısı pozitif
olduğundan, en iyilik kriterine göre bu temel uygun çözüm en iyi çözüm
değildir – iyileştirilebilir.
2. iterasyonun 1. Adımı:
Bu durumda x2 değişkeninin temele girmesi, değerinin artırılması gerekiyor.
Bu değişkenin sütunu pivot sütun olarak seçiliyor.
3 x +s− 1 s = 3 ,
4 2 1 4 2 2
x1 + 1 x2 + 1 s2 = 5 ,
4
4
2
−z + 1 x2 − 1 s2= − 5,
2
2
2. İterasyonun 2. Adımı:
x2 değişkeninin değerini ne kadar artıra biliriz?
Bu sorunun cevabını bulmak için x2 değişkeninin katsayılarının pozitif olduğu
denklemleri ele alıyoruz ve bu denklemlere en küçük oran testini uyguluyoruz:
89
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Araştır Yanıt
Anahtarı
3
(2) denkleminde
3 x = 3 → x =2;
2
4 2 2
1 x = 5 → x =10.
2
4 2 2
Birinci oran daha küçük olduğundan ilgili denklem pivot satır olarak seçiliyor.
3 x +s − 1 s = 3 ,
4 2 1 4 2 2
x1 + 1 x2 + 1 s2 = 5 ,
4
4
2
−z + 1 x2 − 1 s2 = −5,
2
2
2. İterasyonun 3. Adımı:
Pivot işlemini uyguladıktan sonra elde edilen yeni kanonik problem aşağıdaki
gibidir:
Araştır 3
x2 + 4 s1 − 1 s2 = 2,
3
3
x1 − 1 s1 + 1 s2 = 2,
3
3
−z − 2 s1 − 1 s2 = −6,
3
3
x1≥0; x2≥0; s1≥0; s2≥0.
s1 ve s2 temel dışı değişkenler oldukları için değerleri sıfır, x1 ve x2 temel değişkenler olduğu için değerleri sağ taraf sabitlerine eşitleniyor: x1=2, x2=2.
Bu duruma karşı gelen temel uygun çözüm:
(x1,x2,s1,s2)=(2,2,0,0),
amaç fonksiyonu değeri ise z=6 oluyor.
Yeni temel uygun çözüm optimal mıdır?
Temel dışı değişkenlerin amaç fonksiyonundaki katsayıları negatif olduğundan en iyilik kriteri sağlanıyor, cevap: EVET.
Algoritmayı sonlandır:
En iyi çözüm: (x1,x2,s1,s2)=(2,2,0,0),
En iyi amaç fonksiyonu değeri ise z=6.
90
3
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
3
Bu problemin tüm uç noktalarını aşağıdaki tabloda özetleyelim:
Uç-nokta Karşı gelen genişletilmiş temel Temel çözümün niteliği
çözüm
Araştır 3
(0,0)
(0,0,4,10)
Uygun çözüm
(2.5,0)
(2.5,0,1.5,0)
Uygun çözüm
(4,0)
(4,0,0,-6)
Uygun olmayan çözüm
(2,2)
(2,2,0,0)
Uygun çözüm
(0,4)
(0,4,0,6)
Uygun çözüm
(0,10)
(0,10,-6,0)
Uygun olmayan çözüm
Problemimizin genişletilmiş şekli:
En büyüklemez
Araştır 4
−z + 2x1 + x2 = 0
x1 + x2 + s1 = 4
4x1 + x2 + s2 = 10
x1≥0; x2≥0; s1≥0; s2≥0.
(0)
(1)
(2)
Başlangıç iterasyonun tablo şeklinde ifadesi aşağıda verilmiştir:
İterasyon
Temel
Denklem
Değişkenlerin Kat- Sağ
sayıları
taraf
z
x1 x2 s1 s2
Numarası
değişkenler
Numaraları
0
z
(0)
-1
2
1
0
0
0
s1
(1)
0
1
1
1
0
4
s2
(2)
0
4
1
0
1
10
Başlangıç temel uygun çözüm: (x1,x2,s1,s2)=(0,0,4,10), z=0.
Bu uygun çözüm optimal mıdır?
Bunun için (0) denklemindeki temel dışı değişkenlerin katsayıların işaretini
inceliyoruz. Bu değişkenlerin her ikisinin de katsayısının pozitif olması, mevcut uygun çözümün en iyi çözüm olmadığını göstermektedir. x1’in katsayısı
x2’nin katsayısından daha büyük olduğundan, temele girecek değişken x1.
x1’in bulunduğu sütun pivot sütun olarak belirleniyor.
Daha sonra pivot sütundaki pozitif katsayılara en küçük oran testini uygulayarak en küçük oranı belirliyoruz ve bu orana karşı gelen satır pivot satır olarak
belirleniyor. Eğer oranlar eşitse, o zaman keyfi olarak birini seçebiliriz.
Bizim örnekte, min { 4 , 10 } ; en küçük olan 10 . Yani, s2 değişkeninin
1
4
4
olduğu satır (2) pivot satır oluyor, temelden çıkacak değişken: s2. Şimdi pivot
işlemini uygulayarak yeni iterasyona karşı gelen tabloyu oluşturalım.
91
3
Doğrusal Programlama (DP) Problemleri İçin Çözüm Yöntemi Simpleks Yöntem
Araştır Yanıt
Anahtarı
3
İterasyon
Temel
Denklem
Numarası değişkenler
1
Numaraları
Değişkenlerin Katsayıları
z
x1 x2
s1
z
(0)
-1
0
1
2
0
s1
(1)
0
0
3
4
1
x2
(2)
0
1
1
4
0
Sağ
taraf
s2
-
1
2
-5
-
1
4
3
2
1
4
5
2
İterasyon 1’de elde edilen temel uygun çözüm:
(x1,x2,s1,s2)=( 5 ,0, 3 ,0), z=5.
2
Araştır 4
2
Bu uygun çözüm optimal mıdır?
- (0) satırında temel dışı değişken olan x2’nin katsayısı pozitif olduğundan,
cevabımız: Hayır.
Temele girecek değişken x2.
En küçük oran testi:
(1) denkleminden 3 : 3 =2, (2) denkleminden 5 : 1 =10, bulunduğun-
2
4
2
4
dan, en küçük oran birinci kısıttan elde edilir. Bu yüzden (1) denklemi, pivot
satır olarak ilan edilir ve bu satırdaki temel değişken olan s1 de temelden
çıkacak değişken olarak belirlenir.
İterasyon 2’ye karşı gelen simpleks tablo aşağıdaki gibi olacaktır:
İterasyon
Temel
Denklem
Numarası değişkenler Numaraları
2
Değişkenlerin Katsayıları
z
x1 x2 s1
z
(0)
-1
0
0
x2
(1)
0
0
1
x1
(2)
0
1
0
-
-
Sağ
taraf
s2
2
3
-
1
3
-6
4
3
-
1
3
2
1
3
1
3
2
Bu uygun çözüm optimal mıdır?
Cevap: (0) satırında temel dışı değişkenlerin katsayıları negatif olduğundan, cevabımız: Evet.
Kaynakça
S.P. Bradley, A.C. Hax, T.L. Magnanti, Applied
Mathematical Programming,
Addison-Wesley, 1976.
92
F.S. Hillier and G.J. Lieberman, Introduction to
Operations Research, Eighth Edition, McGrawHill, 2005.
Bölüm 4
öğrenme çıktıları
Ulaştırma Problemleri
1
3
Ulaştırma Problemleri
1 Ulaştırma problemi kavramını anlama
ve ulaştırma problemlerinin doğrusal
programlama modelini geliştirebilme
2
Başlangıç Temel Uygun Çözüm Bulma
Yöntemleri
2 Kuzeybatı köşe ve en küçük maliyet
yöntemlerini uygulayabilme
Ulaştırma Problemlerinde Özel Durumlar
3 Dengeli olmayan ulaştırma problemlerini
dengeli problem hâline getirebilme
Anahtar Sözcükler: • Ulaştırma Problemleri • Ulaştırma Tablosu • Dengeli Ulaştırma Problemi • Döngü
• Kuzeybatı Köşe • En Küçük Maliyet
94
4
Yöneylem Araştırması
GİRİŞ
Müşteri memnuniyetine odaklanan firmaların en önemli amacı; doğru ürünü, doğru zamanda, doğru
kalitede, doğru yere ulaştırmaktır. Ancak, bu unsurları eksiksiz bir şekilde sağlamak firmalara maliyet yükü
getirmektedir. Doğru miktarda ürünü müşteriye teslim etmek için firmaların elinde yeterli miktarda ürün
olmalıdır. Bu sebeple firmalar stoklarında ürün bulundururlar ve bu da firmaların katlanması gereken envanter maliyetlerini doğurur. Ellerinde talepleri karşılayacak miktarda ürün bulunan firmalar, bu ürünleri
müşterinin talep ettiği zamanda ulaştırmalıdır. Taşıma, bir başka deyişle ulaştırma maliyetleri de firmaların
katılması gereken bir diğer maliyet türüdür. Küresel rekabet ortamında firmalar müşteri memnuniyetini
sağlamak isterken, diğer yandan da maliyetlerini en küçüklemek ister. Ulaştırma maliyetleri de bu maliyetler içinde önemli bir paya sahip olduğundan, ulaştırma problemleri Yöneylem Araştırması alanında kendine
özel bir yer bulmuş olan bir problemdir.
Fabrika 1
Müşteri 1
Fabrika 2
Müşteri 2
Fabrika 3
Şekil 4.1 Ulaştırma problemlerinde ağ yapısı
Ulaştırma Problemleri, ürün ve/veya hizmetin müşterilere ya da hizmet noktalarına ulaştırılabilmesi için arz (ör. fabAğ modeli: Yöneylem araştırmasında, dürika) ve talep noktalarının (ör. depo ve müşteriler) birbirine
ğüm
ve bağlantılardan oluşan bir şebeke
bağlandığı ağ yapısında (Şekil 4.1), hangi arz noktasından
hâlinde tanımlanan problem türü.
hangi talep noktasına ne kadar miktarda ürün göndereceğimizi araştırdığımız problemlerdir. Tüm talepler karşılanacak
şekilde yapılan gönderilerin bir de ulaştırma maliyeti oluşmaktadır. Dolayısıyla ulaştırma problemlerinin amacı, toplam ulaştırma maliyetlerini en küçüklemektir.
internet
Gönderilen ürün miktarı aksi belirtilmedikçe tam sayı
Lojistikte Maliyet Avantajı Yaratacak
değer alacağından problem bir tam sayılı programlama probUygulamaların Önemi Artıyor. Kaynak:
lemi olarak da ele alınabilir. Ancak, bu problem ünitemizin
https://www.kargohaber.com/lojistikteilerleyen kısımlarında detaylı olarak da görüleceği gibi özel
maliyet-avantaji-yaratacak-uygulamalarinbir yapıya sahiptir. Ulaştırma problemlerine ait matematiksel
onemi-artiyor-2523h.htm
modelde, kısıtlara ilişkin katsayılar matrisi 0 ve 1 elemanlarından oluştuğu için, karar değişkenlerini negatif olmayan
sürekli değişken olarak tanımlamamız yeterlidir. Dolayısıyla, bir DP problemi olarak modellenen bu problemi kitabımızın tam sayılı programlama modelleri ünitesinden ayrı olarak ele aldık. Ayrıca, çok fazla sayıda
karar değişkeni ve kısıt içermesi sebebiyle çözümü için klasik Simpleks Algoritması yerine, daha hızlı çözüm
veren ulaştırma simpleksi algoritması geliştirilmiştir. Bu ünite ile önce, ulaştırma problemi tanıtılmıştır. Ar-
95
4
Ulaştırma Problemleri
dından ulaştırma problemine tüm kısıtları sağlayan
bir başlangıç temel uygun çözüm bulma yöntemleri verilmiştir. Son olarak, ulaştırma problemlerinde
karşılaşılan özel durumlar ve bu sorunların üstesinden gelme yöntemleri verilmiştir.
ULAŞTIRMA PROBLEMLERİ
Ulaştırma problemleri, tek bir ürün türünün tedarik noktalarından arz noktalarına en düşük maliyetle nasıl ulaştırılacağını araştıran problemlerdir.
Literatürde arz noktaları, tedarik veya kaynak noktaları olarak da adlandırılırken; talep noktaları da
hedef noktaları olarak adlandırılabilmektedir. Genel olarak, müşteriler talepleri oluşturur ve fabrikalar da mevcut kapasiteleri doğrultusunda bu talepleri karşılamak üzere kaynaktan gönderim yaparlar.
Ya da bir işletmeye ait fabrikalarda üretim yapılır ve
üretilen ürünler farklı şehirlerde bulunan işletmeye
ait depolara gönderilir. Şekil 4.1’de verilen örnekte,
üç ayrı üretim noktası olan bir işletme, iki farklı
müşterisine bu fabrikaların her birinden gönderi
yaparak müşteri taleplerini karşılayabilir.
Ulaştırma problemlerini, Şekil 4.2’de de görüleceği üzere, çok basit bir ağ modeli olarak düşünebileceğimizi belirtmiştik.
Arz: Değişik fiyat düzeylerinde üretilen,
üreticilerin üretip satmaya hazır oldukları
mal miktarıdır.
Talep: Bir malın satın alınma isteğidir.
1
1
.
.
.
.
.
.
j
i
.
.
.
.
.
.
m
n
Şekil 4.2 Ulaştırma problemlerinde ağ yapısı
96
İşletmelerin birden fazla (m tane) tedarik noktası olabilir. Bu durumda i = 1, ..., m olmak üzere
sj., i. tedarik noktasının tedarik miktarını bir başka
deyişle kapasitesini temsil eder. İşletmenin birden
fazla da (n tane) arz noktası olabilir. Bu durumda da
j = 1,.., n olmak üzere dj , j. talep noktasının talep
miktarıdır. Her müşterinin bir talebi olduğu için,
müşteriler “talep noktası” olarak da adlandırılır.
dikkat
Bir tedarik noktasının tedarik miktarı onun kapasite miktarıdır.
dikkat
Ulaştırma problemlerinde müşteriler, talep noktası olarak da adlandırılır.
Şimdi ulaştırma probleminin genel tanımını ve
ardından da matematiksel formülasyonunu inceleyelim. Bir ürünün birimleri (tek ürün), n tane varış
yerindeki talepleri karşılamak için m tane kaynak
düğümlerinden sevk edilecektir (Şekil 4.3). i. kaynaktan j. hedefe olan (i, j) bağlantısı üzerinde bir
birim gönderim bedeli cij nakliye miktarına bakılmaksızın belirlenir. Amaç, her bir varış yerindeki
talebin karşılanması için toplam ulaştırma maliyetlerini en küçükleyen ulaştırma planını bulmaktır.
Bu plan da arz noktasından talep noktasına gönderilecek ürün miktarlarıdır (xij).
Ulaştırma problemlerine ait varsayımları izleyen şekilde sıralayabiliriz:
1. Arz miktarı belirli ve sabittir, değişmez (si > 0).
2. Talep miktarı belirli ve sabittir, değişmez
(dj > 0).
3. Bir arz noktasından bir talep noktasına bir
birim ürün taşıma maliyeti (cij) belirli ve
sabittir.
4. Toplam arz miktarı toplam talep miktarına
eşittir. Bir başka deyişle, fabrikaların toplam kapasitesi, müşterilerin toplam talebine
m
si =∑ nj=1 d j ).
eşittir ( ∑i=1
5. Tedarik noktalarında, aynı ürünün özdeş
birimleri üretilir.
4
Yöneylem Araştırması
si
Arz
Talep
1
1
.
.
.
.
.
.
cij
i
j
xij
.
.
.
.
.
.
m
n
di
Şekil 4.3 Ulaştırma problemin temsili gösterimi
Kaynak: Chen vd. (2010).
Bu varsayımlar altında, toplam taşıma maliyetlerini
en küçüklemeyi amaçlayan ulaştırma problemin matematiksel modeline ait parametreler, karar değişkenleri,
kısıtlar ve amaç fonksiyonu sırasıyla verilebilir. Son olarak, ulaştırma problemine ait genel doğrusal programlama modeli (UP) verilmiştir:
dikkat
i, j bağlantısı üzerinde bir birim ürün taşıma
maliyeti, taşınan toplam ürün miktarından
bağımsızdır.
Parametreler:
si : i. tedarik noktasının kapasitesi (adet)
dj : j. talep noktasının talebi(adet)
cij : i. tedarik noktasından, j. talep noktasına yapılan birim gönderi
maliyeti (TL/adet)
Karar Karar değişkenleri:
xij : i. tedarik noktasında, j. talep noktasına yapılan gönderi miktarı
Kısıtlar:
Kaynakların kapasiteleri aşılamaz. (1)
Hedeflerin talepleri karşılanmalıdır. (2)
Amaç fonksiyonu:
Toplam ulaştırma maliyetlerinin en küçüklenmesi (3)
97
4
Ulaştırma Problemleri
UP :
x11 + x12 + ...+ x1n
≤ s1
x21 + x22 + ...+ x2n
≤ s2
(4.1)
!
xm1 + xm2 + ...+ xmn
≤ sm
x11 + x21 + ...+ xm1
≥ d1
x12 + x22 + ...+ xm2
≥ d2
(4.2)
!
x1n + x2n + ...+ xmn
≥ dn�
x11, ..., x1n , x21,... x2n ,..., xm1,..., xmn ≥ 0
k.a.
Enk Z = c11 * x11 + ...+ c1n x1n + ...+ c21x21 + ...+ c2n x2n + ...+ cm1xm1 + ...+ cmn xmn (4.3)
Kısıt grubu (4.1) ile bir tedarik noktasından kapasitesi aşılmayacak şekilde tüm talep noktalarına gönderi yapılabilmesi garantilenmiştir. Dolayısıyla UP modelinde toplam tedarik noktası sayısı kadar, yani m
tane kapasite kısıtı vardır.
Üç fabrikası ve dört müşterisi olan bir firmanın, ikinci fabrikasından tüm müşterilerine gönderi yapabilme durumu matematiksel olarak (4.4) no’lu kısıt ile ifade edilir.
x21 + x22 + x23 + x24 ≤ s2(4.4)
(4) no’lu kısıtta, ikinci fabrika ele alındığından i = 2 ve dört müşteri olduğu için j = 1, 2, 3, 4 değerlerini almıştır. Diyelim ki, ikinci fabrikanın kapasitesi 100 adet (s2 = 100) olsun. İkinci fabrikadan tüm
müşterilere gönderi yapılabilir ancak toplam gönderi miktarı 100 adet sınırı aşılamaz. Elde edilen çözümde, Fabrika 2’den Müşteri 1’e 60 adet, Müşteri 2’ye 5 adet, Müşteri 3’e 15 adet ve Müşteri 4’e 20 adet
ürün gönderim kararı alınmış olsun. Bu çözüm x21 = 60, x22 = 5, x23 = 15 ve x24 = 20 olarak ifade edilir.
Bu çözüm için, 60 + 5 + 15 + 20 = 100 olduğundan da fabrikanın kapasitesi tam olarak kullanılmıştır.
Verilen örnek tedarik kısıtının ağ üzerinde gösterimi ise Şekil 4.4’te verilmiştir. Aynı şekilde, UP modelinde diğer iki fabrikadan da kapasiteleri aşılmayacak şekilde müşterilere gönderi yapılma kısıtları yazılmıştır.
Müşteri 1
Fabrika 1
x21
Müşteri 2
x22
s2=100 Fabrika 2
x23
Müşteri 3
Fabrika 3
x24
Müşteri 4
Şekil 4.4 Fabrika 2’den tüm müşterilere gönderi yapılabilmesi durumu
98
4
Yöneylem Araştırması
Kısıt grubu (4.2) ile de bir talep noktasının tüm taleplerinin karşılanması garantilenmiştir. Dolayısıyla
UP modelinde toplam talep noktası sayısı kadar, yani n tane talep kısıtı vardır.
Üç fabrikası ve dört müşterisi olan firma örneğimize tekrar dönecek olursak, birinci müşterinin tüm
fabrikalardan gönderi alabilme durumu matematiksel olarak (4.5) no’lu kısıt ile ifade edilir.
x11 + x21 + x31 ≤ d1(4.5)
(5) nolu kısıtta, birinci müşteri ele alındığından j = 1 ve üç fabrika olduğu için i = 1, 2, 3 değerlerini almıştır. Diyelim ki, Müşteri 1’in talebi 80 adet (d1 = 80) olsun. Birinci müşteriye tüm fabrikalardan gönderi
yapılabilir ancak toplam gönderi en az 80 olmalı ki talep karşılansın, eksik kalmasın. Elde edilen çözümde,
Fabrika 1’den 10 adet, Fabrika 2’den 60 ve Fabrika 3’ten de 10 adet ürün gelmiş olsun. Bu çözüm x11 = 10,
x21 = 60, x31 = 10 olarak ifade edilir. Dolayısıyla, 10 + 60 + 10 = 80 olduğundan Müşteri 1’in talebi tam
olarak kullanılmıştır. Verilen örnek talep kısıtının ağ üzerinde gösterimi ise Şekil 4.5’te verilmiştir. Aynı
şekilde, diğer üç müşterinin de taleplerinin karşılanma kısıtları UP modelinde yazılmıştır.
x11
Fabrika 1
x21
Müşteri 1
d1=80
Müşteri 2
Fabrika 2
Müşteri 3
x31
Fabrika 3
Müşteri 4
Şekil 4.5 Müşteri 1’e tüm fabrikalardan gönderi yapılabilmesi durumu
Eşitlik (4.3) ise yapılan tüm gönderilerin toplam maliyetini en küçükleyen amaç fonksiyonudur. Üç
fabrika ve dört müşteri için amaç fonksiyonu (4.6) no’lu eşitlik ile verilir.
Enk Z = c11x11 + c12x12 + c13x13 + c14x14 + c21x21 + c22x22 + c23x23 + c24x24 + c31x31 + c32x32 + c33x33 + c34x34 (4.6)
Son olarak, unutulmamalıdır ki ulaştırma problemlerinde gönderi miktarı negatif değer alamaz ve işaret kısıtı
x11, ..., x1n, x21,..., xm1, ..., xmn ≥ 0 ile tüm karar değişkenlerinin pozitif değer alması garantilenir. İşaret kısıtlarından da anlaşılacağı üzere, ulaştırma problemine ait doğrusal programlama modelinde m * n tane karar değişkeni
vardır. Aynı zamanda ≥’lik yönündeki kısıt ile bu karar
değişkenlerinin sıfır değeri alabilmesine izin verilmiştir.
Bu durumda, örneğin x34 = 0 değerini alırsa Fabrika 3’ten
Müşteri 4’e hiç gönderi yapılmayacağı anlamına gelir.
dikkat
Ulaştırma problemlerinin doğrusal programlama
modelinde tedarik noktası sayısı olan m tane kapasite kısıtı; talep noktası sayısı olan tane de talep
kısıtı bulur. Bu durumda, bir ulaştırma probleminin modelinde, toplam kısıt sayısı (m + n)’dır.
99
4
Ulaştırma Problemleri
Ulaştırma problemlerinin bir doğrusal programlama problemi olduğu belirtilmişti. Doğrusal
programlamanın varsayımlarından bölünebilirlik
varsayımı hatırlanacak olursa, bu varsayım ile bir DP
probleminin çözümünde karar değişkenlerinin kesirli değerler alması mümkün kılınmaktadır. Ancak,
ulaştırma problemlerinde karar değişkenleri yani (i, j)
ağı üzerindeki taşıma miktarları aksi belirtilmedikçe
kesirli değer alamaz. Örneğin, Fabrika 1’den Müşteri
1’e gönderi miktarı x11 = 10.4 palet olamaz. Gönderi
miktarı palet cinsinden ya 10 ya da 11, yani tam sayı
olmalıdır. Bu durumda ulaştırma probleminin matematiksel modelini kuran kişi şu soruyu sormalıdır:
“Ulaştırma problemlerinde işaret kısıtlarının yönünü
≥ 0 olarak belirlemek karar değişkenlerinin ondalıklı
değerler almasına izin veriyorsa, ondalıklı değerlerden kaçınmak için ne yapmak gerekir?” Bu sorunun
cevabı aslında çok basittir. Cevap: “Herhangi bir şey
yapmaya gerek yoktur” olacaktır.
(UP) modeli dikkatli bir şekilde incelendiğinde,
toplam (m + n) kısıtı olduğu ve bu kısıtlarda yer alan
teknik katsayılar matrisinin sadece 0 ve 1 değerlerini
aldığı görülür. Üç fabrikası ve dört müşterisi olan bir
firmanın ulaştırma problemini tekrar inceleyelim.
(4) no’lu kısıt Fabrika 2’nin tedarik kısıtı olarak belirlenmişti (x21 + x22 + x23 + x24 ≤ s2). Şimdi bu kısıtı
teknik katsayılarını açıkça belirterek tekrar yazalım:
(1)x21 + (1)x22 + (1)x23 + (1)x24 ≤ s2 . Teknik katsayılar matrisinin 2.satırında x21, x22, x23, ve x24’e
karşı gelen değerler 1 iken, modelin geri kalan diğer
karar değişkenlerine karşı gelen değerler 0’dır.
Tedarik kapasiteleri ile talep miktarları da tam
sayı değerler olduğundan, modelde yer alan kısıtların sağ taraf sabiti değerleri de tamsayıdır. Simpleks
Algoritması’nın adımlarını da hatırlayacak olursak,
her bir iterasyonda temele giren ve temelden çıkan
değişkenler belirlenirken bir pivot eleman elde edilir. Pivot eleman 1 olacak şekilde, pivot elemana ait
sütunun diğer elemanları 0 olmalıdır. Ancak, pivot
eleman 1 değilse, 1 değerini elde etmek için, öncelikle ilgili satırın tüm elemanları pivot elemanın
mevcut değerine bölünür. Bu işlem sonucunda da
sağ taraf sabiti kesirli değer alabilir.
Bu hatırlatmadan sonra tekrar ulaştırma problemine ait matematiksel modele dönecek olursak;
kısıtlara ait teknik katsayılar matrisinin sadece 0/1
değerlerinden oluşması pivot elemanın zaten 1 olmasını sağladığından ve kısıtların sağ taraf sabiti
değerlerinin de tamsayı olmasından dolayı ulaştırma problemlerinin çözümü her zaman tam sayıdır.
dikkat
Bir ulaştırma probleminin doğrusal programlama modelinde, tam sayı değer alması gereken
karar değişkenlerinin işaret kısıtının sadece yönünde olması yeterlidir.
Yaşamla İlişkilendir
Arçelik İhracat Lojistiği Uzmanı Hanife
Aktunç: “Düşük Maliyetli Sevkiyat Önemli”
“Arçelik’in lojistik süreçlerini ve lojistik firmalarından beklentilerini konuştuğumuz Arçelik
İhracat Lojistiği Uzmanı Hanife Aktunç, müşteriye zamanında ve hasarsız teslimata çok önem
verdiklerini vurgulayarak rekabet ortamında
maliyetleri düşürecek tedarikçilerin de tercihlerinde önemli bir kriter olduğunun altını çizdi.
Arçelik’in toplam harcamaları içerisinde lojistiğin payının yüzde 10 civarında olduğunu ifade eden Hanife Aktunç, “Günümüzde müşteriye
zamanında ve hasarsız teslim çok önemli. Öncelikle bu şartları sağlayacak tedarikçi arayışında-
100
yız. Aynı zamanda amacımız, günümüz rekabet
ortamında maliyetleri düşürmek. Tedarikçileri
seçerken, ihalelere girerken öncelikle bu şartları
yerine getirmelerini bekliyoruz. Bizim eşyalarımız hacim olarak çok yer kapladığı için, bir cep
telefonu gibi küçük adetlerde konteyner sevkiyatı
değil de çok hacimli sevkiyat gerektiriyor. Dolayısıyla bizim için en önemli şey, düşük maliyetli
sevkiyat” diye konuştu.
İhracat pazarları ile ilgili bilgi veren Aktunç, özellikle Avrupa’da çok güçlü olduklarını
vurgularken, İngiltere pazarında ise bir numara
olduklarını aktardı. “Sevkiyatların yarıya yakını İngiltere’ye yapılıyor. Ardından Fransa ve
4
Yöneylem Araştırması
ma problemlerinin sonuçlarının her zaman doğal
tüm tamsayı
Avrupa değer
ülkeleri
geliyor.
Beko
markasıolur.
ile
olarak
aldığı
böylece
gösterilmiş
Avrupa’da çok bilinen bir markayız. Grundig ile
de anılıyoruz. Arçelik yurt içi markamız” diyen
Hanife Aktunç, Avrupa teslimatlarının tek hub
üzerinden yapılmadığını kaydederek, “İngiltere,
Fransa gibi Avrupa ülkelerinde ‘subsidiary’ dediğimiz kendi satış şirketlerimiz var. Onlar üzerinden direkt müşterilere sevkiyatlar yapıyoruz.
Aynı yerlerde depolarımız var. Yüzde 20 civarında sevkiyatı depolara yapıp oralardan son
müşteriye ihtiyaç doğrultusunda parti parti
sevkiyat gerçekleştiriyoruz. Cost-effective nereden nereye götürebiliriz, neler yapabiliriz, ne
yenilikler var? Bunları araştıran bir ekibimiz var.
Tedarik zincirinin hangi kısımlarını outsource ettiklerini ve ne kadarını kendi içlerinde
çözdüklerini sorduğumuz Hanife Aktunç şunları
söyledi: “Nakliyede kiralık araçlar kullanıyoruz.
Ama yönetim tamamen kendimize ait, kiraladığımız depolarda da kendi personelimiz çalışıyor.
Özellikle yönetim anlamında outsource ettiğiniz
lojistik hizmet yok. Ama yurtdışında departmanımız çalışmalar yapıyor. Nerede depo yapabiliriz, nereden nereye dağıtım yapabiliriz. Çünkü
Arçelik Türk şirketi ama global bir firma. Birçok
yerde fabrika satın alıyor, üretim yapıyor. Daha
az maliyetle nerede ne yapabiliriz, bunların araştırması her zaman yapılıyor.””
Kaynak: https://www.kargohaber.com/read.
asp?id=2524
Öğrenme Çıktısı
1 Ulaştırma problemi kavramını anlama ve ulaştırma problemlerinin doğrusal programlama
modelini geliştirebilme
Araştır 1
Üç şehrin su ihtiyacını karşılamak için iki su
rezervi mevcuttur. Her rezerv günde 50 milyon galon su sağlayabilir. Her şehir günde 40
milyon galon su almak istemektedir. Karşılanmayan talebin her bir milyon galonu için bir
ceza vardır. Ceza miktarı Şehir 1’de 20 dolar;
Şehir 2’de 22 dolar ve Şehir 3’te 23 dolardır.
Her rezervden her şehre 1 milyon galon su taşıma maliyetleri de bilinmektedir. Kıtlık ve nakliye maliyetlerinin toplamını en aza indirmek
için kullanılabilecek ulaştırma problemine ait
doğrusal programlama modelindeki karar değişkenlerini belirleyin.
İlişkilendir
Anlat/Paylaş
Bir yıl içinde belirlenmiş planlama
dönemlerinde
ele
alınan stok yönetimi
modelleri ile ulaştırma problemleri
modelleri arasındaki
ilişkiyi belirleyin.
Her firmanın dağıtımını yaptığı ürün
miktarları tam sayı
değerli olmayabilir.
Gerek hizmet gerek
üretim sektörlerindeki firmalara ait ürünleri inceleyin. Taşıma
miktarı ondalıklı değerlere sahip ürünleri
paylaşın.
101
4
Ulaştırma Problemleri
BİR BAŞLANGIÇ TEMEL UYGUN ÇÖZÜM BULMA YÖNTEMLERİ
Ulaştırma problemleri ağ gösteriminin yanı sıra, bu problemlere özgü geliştirilen ve ulaştırma tablosu
adı verilen bir tablo ile de temsil edilirler. Ulaştırma tablosu tedarik noktası kadar satır ve talep noktası kadar sütundan oluşur. Her bir hücrede sol üst köşede birim taşıma maliyetleri (cij) verilir. Her satır sonunda
ilgili tedarik noktasının kapasitesi (si), her sütun sonunda da ilgili talep noktasının talep miktarı (dj) yazılır.
Problemin çözümünün ardından tablonun her bir hücresinde, i. noktadan j. noktaya yapılacak taşıma
(nakliye) miktarı (xij) gösterilir. Üç fabrika ve dört müşteriye ait ulaştırma tablosu Şekil 4.6’da verilmiştir.
Müşteriler
1
1
2
c11
c12
d1
x23
c33
x31
s1
x24
s2
c34
x32
d2
x14
c24
x22
c32
c31
x13
c23
x21
3
c14
x12
c22
c21
4
c13
x11
Fabrikalar 2
3
x33
d3
x34
s3
d4
Şekil 4.6 Üç fabrika ve dört müşteriye ait ulaştırma probleminin ulaştırma tablosu gösterimi
Ünitemizin bu ve izleyen bölümünde dengeli ulaştırma problemi ele alınacaktır. Dengeli ulaştırma problemleDengeli ulaştırma problemi: Toplam arz
rinde toplam arz miktarı toplam talep miktarına eşittir. Bir
miktarının toplam talep miktarına eşit olbaşka deyişle, fabrikaların toplam kapasitesi, müşterilerin
duğu ulaştırma problemi.
m
si =∑ nj=1 d j ). Bu durumda,
toplam talebine eşittir. ( ∑i=1
(1) ve (2) no’lu eşitsizlik hâlindeki tedarik ve talep kısıtları
da eşitlik kısıtı olarak ele alınır.
ÖRNEK 4.1 Üç fabrika ve dört müşterili örneğimizde her bir fabrikanın kapasitesi, her bir müşterinin
talebi ve birim taşıma maliyetleri izleyen şekilde verilmiş olsun.
s1 = 50
d1 = 40
s2 = 100
d2 = 80
s3 = 45
d3 = 35
d4 = 40
s1 + s2+ s3 = 195
d1 + d2 + d3 + d4 = 195
c11 = 3, c12 = 6, c13 = 2, c14 = 4, c21 = 8, c22 = 5
c23 = 6, c24 = 9, c31 = 4, c32 = 6, c33 = 2, c34 = 1
Toplam talep ve toplam tedarik miktarları eşit olduğu için, ilgili dengeli ulaştırma probleminin doğrusal programlama modeli UP-2 ile verilmiştir.
102
4
Yöneylem Araştırması
UP-2:
x11 + x12 + x13 + x14 = 50
x21 + x22 + x23 + x24 = 100
x31 + x32 + x33 + x34 = 45
x11 + x21 + x31 = 40
x12 + x22 + x32 = 80
x13 + x23 + x33 = 35
x14 + x24 + x34 = 40
x11, x12, x13, x14, x21, x22, x23, x24, x31, x32, x33, x34 ≥ 0
k.a.
Enk Z = 3x11 + 6x12 + 2x13 + 4x14 + 8x21 + 5x22 + 6x23 + 9x24 + 4x31 + 6x32 + 2x33 + x34
Bu örnek probleme ait ulaştırma tablosu da Şekil 4.7’de verilmiştir.
Müşteriler
2
1
1
3
3
6
4
2
4
50
x11
8
x12
5
x13
x14
9
6
Fabrikalar 2
100
x21
4
x22
x23
2
6
x24
1
45
3
x31
40
x32
80
x33
35
x34
40
Şekil 4.7 Örnek 4.1’e ait ulaştırma tablosu
m + n kısıtı olan ulaştırma problemlerinin bir uygun
çözümünde atama yapılan hücre sayısı, bir başka deyişle
dikkat
temel çözümü oluşturan karar değişkeni sayısı m + n - 1 Dengeli ulaştırma probleminde tüm kısıtlar eşitolmalıdır. Şekil 4.8’de tüm kısıtların sağlandığı bir çözüm lik kısıtıdır.
verilmiştir. Toplam 7 kısıt vardır. Pozitif atama değeri
olan karar değişkeni sayısı da 6 olmalıdır. Bu çözüm 6 adet atamanın olduğu ve tüm kısıtları sağlandığı
için bir uygun çözümdür. Ancak, en iyi çözüm olup olmadığı henüz bilinmemektedir.
103
4
Ulaştırma Problemleri
Müşteriler
2
1
1
3
6
3
2
4
4
50
10
8
5
40
9
6
Fabrikalar 2
100
20
4
80
2
6
1
45
3
20
40
25
80
35
40
Şekil 4.8 Örnek 4.1’e ait bir uygun çözüm
UP-2 modelini tekrar ele aldığımızda, m + n = 3 + 4 = 7
tane eşitlik kısıt olduğu görmekteyiz. Bu problemi gelenekdikkat
sel Simpleks Algoritması ile çözmek istersek, önce kısıtların
Bir uygun çözümde, m + n - 1 adet karar değişkeeşitlik yönünde olmasından dolayı her bir kısıta yapay deni temel değişkendir. Pozitif değerli atamaların yağişken eklenecektir. Toplam 12 karar değişkeni olan modelipıldığı ulaştırma tablosu hücre sayısı m + n - 1’dir.
nin çözüm için eklenen 7 karar değişkeni ile karar değişkeni
sayısı 19’a çıkacaktır. Küçük bir örnekte bile karar değişkeni
ve kısıt sayısının fazla olması nedeniyle, çözüme hızlıca ulaşılmasını sağlayan özel yöntemler geliştirilmiştir.
Belirli koşulları sağlayan en az dört farklı
Bir ulaştırma tablosunda elde edilen bir çözümde m + n - 1
hücreden oluşan sıralı bir diziye, döngü
adet hücreye atama yapılması, o çözümün bir temel çözüm
denir.
olması için tek başına yeterli bir koşul değildir. Aynı zamanda
bu çözümün bir döngü oluşturmaması gerekmektedir.
En az dört farklı hücreden oluşan sıralı bir diziye döngü denir ve izleyen koşulları da sağlaması gerekir:
1. Ardışık iki hücre aynı satırda veya aynı sütunda yer almalı.
2. Aynı satır veya sütunda ardışık üç hücre olmamalı.
3. Döngüdeki son hücrenin, ilk hücre ile ortak bir satırı veya sütunu olmalı.
Şekil 4.9’da, Winston (2004) tarafından verilen döngü örnekleri incelendiğinde döngü olma kurallarının sağlandığı görülmektedir.
Şekil 4.9 Çeşitli ulaştırma problemleri için elde edilen döngü örnekleri
Kaynak: Winston (2004).
104
4
Yöneylem Araştırması
Ancak, Şekil 4.10’da verilen örnek çözümde bir
döngü oluşmamaktadır. Çünkü, verilen çözümde
atama yapılan hücreler sırasıyla (1,1)-(1-2)-(2-3)(2,1)’dir ve (1,2) ile (2,3) aynı satırda veya sütunda
değildir.
Şekil 4.10 Döngü oluşturmayan bir ulaştırma problemi
hücreye yapılacak atama miktarı karar değişkeninin değerini belirleyecektir. x11’in değeri, s1 ve d1
değerlerinin en küçüğünden daha büyük olamaz
(x11 = enk {s1, d1}). Örnekle açıklayacak olursak,
birinci fabrikadan birinci müşteriye gönderi miktarı, Fabrika 1 kapasitesi ile Müşteri 1 taleplerinin
en küçüğünden daha büyük olamaz. Dengeli ulaştırma problemine çözüm aradığımızı hatırlayalım.
dikkat
Bir tablonun kuzeybatı köşesi, tablonun sol-üst
köşesidir.
çözümü örneği
Kaynak: Winston (2004).
dikkat
m tedarik noktası ve n talep noktası olan bir
dengeli ulaştırma probleminde m + n - 1 adet
döngü oluşturmayan karar değişkeni bir temel
çözüm oluşturur.
Ünitemizin bu bölümü, dengeli ulaştırma problemleri için tüm kısıtları sağlayan ancak en iyi çözümü garantilemeyen bir başlangıç uygun çözüm
bulma yöntemlerinin tanıtılmasıyla devam etmektedir. Kullanılacak tüm yöntemler, ilgili problemin
ulaştırma tablosu üzerinde uygulanacaktır.
dikkat
Başlangıç uygun çözüm bulma yöntemleri, elde
edilen çözümün en iyi çözüm olduğunu garanti
etmez.
Kuzeybatı Köşe Yöntemi
Kuzeybatı köşe yöntemi ile bir temel uygun
çözüm bulmak için, ulaştırma tablosunun sol üst
(kuzeybatı) köşesinden başlanır ve (1, 1) hücresine
mümkün olan en büyük gönderi miktarının ataması yapılır. (1, 1) hücresi birinci tedarik noktasından, birinci talep noktasına yapılacak gönderi
miktarının belirlendiği hücredir. Dolayısıyla, bu
x11 = s1 ise bu, birinci fabrikanın tüm kapasite
miktarının birinci müşteriye gönderildiği anlamına gelir. Dolayısıyla kullanılabilir kapasite kalmadığı için, birinci fabrikadan bir başka müşteriye
ürün gönderilemez. Bu durumu da tablo üzerinde
birinci satırı kapatarak gösterebiliriz. Güncel s1 değeri (s1 - x11 = s1 - s1 = 0) 0 olacaktır. Müşterinin
talebi tam karşılanmadığı için, diğer fabrikalardan
karşılanması gereken miktarı da güncellemek gerekir: d1 = d1 - x11 olarak güncellenir.
Diğer yandan, birinci müşteriye birinci fabrikadan yapılan gönderi miktarı ise, birinci müşteri talebi tam karşılandığı için birinci müşteriye başka bir
fabrikadan da gönderi yapılamaz. Tabloda, birinci
sütun kapatılır. Güncel d1 değeri (d1 - x11 = d1 - d1
= 0) 0 olacaktır. Ancak, x11 değeri fabrika kapasitesinden küçük olduğundan, birinci fabrikadan diğer
müşterilere gönderilebilecek ürün miktarı yani kalan
kapasite güncellenir: s1 = s1 - x11.
Kuzeybatı köşe yönteminde her gönderi atamasında ya bir satır ya da bir sütun kapatılır. Bu süreç,
kapatılmamış satır ve sütunlardan oluşan tablodaki
kuzeybatı hücresine atama yapılarak devam edilir.
Sonuçta, tek bir atama yapılmamış hücre kalır. Bu
hücreye de satır kapasitesi veya sütun talebine eşit
olan değer atanır. Toplam m + n - 1 adet atama
yapılacağından, elde edilen çözümde atama yapılmamış hücre değerleri de 0 olacaktır.
Kuzeybatı köşe yöntemi ulaştırma tablosunun
ilk kuzeybatı köşesinden başlar ve yapılan atamaya
bağlı olarak kapatılan satır veya sütunlardan geriye kalan güncel tablonun yine kuzeybatı köşesine
atama yaparak devam edilir. Bazaraa vd. (2010)
105
4
Ulaştırma Problemleri
tarafından verilen temsili bir görselde, yöntemin her aşamada güncel tablonun kuzeybatı köşesine atama
yaptığı B sembolü ile gösterilmiştir (Şekil 4.11). Şekilde de görüldüğü üzere, ilk atama (1,1) hücresinden
başlamıştır. Bu yöntemde sizlerin de dikkat edeceği üzere, birim taşıma maliyetleri dikkate alınmaz.
B
s1
B
B
B
d1
d2
d3
B
s2
B
s3
B
B
d4
d5
s4
Şekil 4.11 Kuzeybatı köşe yönteminin temsili gösterimi
Kaynak: Bazaraa vd. (2010).
Kuzeybatı köşe yöntemine göre yapılan
her bir atama sonucunda kapasitesi kalmayan sütun veya talebi karşılanan satır
tablodan silinir ve geriye kalan henüz kullanılmamış hücrelerden oluşan tablo güncel tablo olarak adlandırılır.
dikkat
Kuzeybatı köşe yönteminde, birim taşıma maliyetleri dikkate alınmaz.
ÖRNEK 4.2 Üç fabrika ve dört müşterili örneğimizde her bir fabrikanın kapasitesi, her bir müşterinin
talebi ve birim taşıma maliyetleri verilmiş olsun. Hangi fabrikadan hangi müşteriye ne kadar miktarda
ürün gönderileceğini, kuzeybatı köşe yöntemi ile bulalım.
s1 = 50
d1 = 40
s2 = 100
d2 = 80
s3 = 45
s1 + s2 + s3 = 195
d3 = 35
d4 = 40
d1 + d2 + d3 + d4 = 195
Müşteriler
Fabrikalar
1
2
3
6
3
3
2
1
2
4
8
5
6
9
4
6
2
1
40
80
35
Şekil 4.12 Örnek problem
106
4
50
100
45
40
cij
4
Yöneylem Araştırması
Kuzeybatı köşe yönteminde ilk adımda, ulaştırma tablosundaki Fabrika 1 ve Müşteri 1’e karşı gelen
“kuzeybatı”da yani sol üst köşede yer alan hücreye, fabrikanın kapasitesi ve müşterinin talebi dikkate alınarak atama yapılır. Bunun için, x11 = enk {s1, d1} olmalıdır. x11 = 50 olursa, Müşteri 1’in talebinden fazla
gönderi yapılacağı için uygun bir atama olmaz. Şekil 4.12’de de görüleceği gibi, tablonun ilk kuzeybatı
köşesine yapılacak atama değeri x11 = 40 olmaldır. Tüm müşteri talebi karşılandığı için ilk sütun kapatılır.
Şekil üzerinde kapatılan sütun, gri ile renklendirilerek belirtilmiştir.
Müşteri 1’in talebi de tam karşılandığı için güncel Müşteri 1 talep değeri d1 = 40 - 40 = 0 olmuştur.
Fabrika 1’in kalan kapasitesi s1 = 50 - 40 = 10 olarak güncellenir.
Bu atamanın ardından elde edilen güncel tabloda (beyaz renkli hücreler ile temsil edilen) ilk kuzeybatı
köşe hücresi de (1, 2) hücresi olacaktır.
Müşteriler
1
3
Fabrikalar
1
3
2
4
6
2
4
5
6
9
s1 = 50 - 40 = 10
50 10
40
8
2
100
4
3
2
6
40
80
1
35
45
40
Şekil 4.13 Kuzeybatı köşe yönteminde ilk atama
Güncel tablonun kuzeybatı köşesi olan (1, 2) hücresine yapılabilecek atama x12 = enk {s1, d2} olmalıdır.
Fabrika 1’in mevcut kapasitesi 10 adet, Müşteri 2’nin talebi 80 adettir (Şekil 4.13). Dolayısıyla Fabrika
1, 80 adetlik talebin hepsini karşılayamadığından ancak kapasitesi kadar olan 10 adet ürünü göndermek
zorundadır. x12 = 10 ataması yapılır. Fabrika 1’in tüm kapasitesi kullanıldığı için bu adımda da birinci satır
kapatılır. s1 = 10 - 10 = 0 ve Müşteri 2’nin karşılanmamış talep miktarı d2 = 80 - 10 = 70 olarak güncellenir
(Şekil 4.14).
Bu atamanın ardından elde edilen güncel tabloda ilk kuzeybatı köşe hücresi de (2, 2) hücresi olacaktır.
Müşteriler
1
Fabrikalar
1
2
3
3
2
6
3
40
2
4
6
9
50
10
5
8
4
10
100
4
2
6
40
80
1
35
45
d2 = 80 - 10 = 70
40
70
Şekil 4.14 Kuzeybatı köşe yönteminde ikinci atama
107
4
Ulaştırma Problemleri
Güncel tablonun kuzeybatı köşesi olan (2, 2) hücresine yapılabilecek atama x22 = enk {s2, d2} olmalıdır.
Fabrika 2’in mevcut kapasitesi 100 adet, Müşteri 2’nin henüz karşılanmamış talebi 70 adettir (Şekil 4.14).
Dolayısıyla Fabrika 2, kapasitesi yettiği için tüm talebi karşılayabilir ve x22 = 70 ataması yapılır. Müşteri
2’nin tüm talebi karşılandığı için bu adımda da ikinci sütun kapatılır. d2 = 70 - 70 = 0 olur ve Fabrika 2’nin
kalan kapasite miktarı s2 = 100 - 70 = 30 olarak güncellenir (Şekil 4.15).
Bu atamanın ardından elde edilen güncel tabloda ilk kuzeybatı köşe hücresi de (2, 3) hücresi olacaktır.
Müşteriler
1
Fabrikalar
6
3
1
3
2
40
2
4
6
9
2
1
10
5
8
2
4
70
4
3
6
40
80
50
10
100
30
s2 = 100 - 170 = 30
45
35
40
70
Şekil 4.15 Kuzeybatı köşe yönteminde üçüncü atama
Güncel tablonun kuzeybatı köşesi olan (2, 3) hücresine yapılabilecek atama x23 = enk {s2, d3} olmalıdır.
Fabrika 2’in mevcut kapasitesi 30 adet, Müşteri 3’ün henüz karşılanmamış talebi 35 adettir (Şekil 4.15).
Dolayısıyla Fabrika 2, kapasitesi yetmediği için ancak elindeki miktar kadar olan talebi karşılayabilir ve
x23 = 30 ataması yapılır. Müşteri 3’ün 30 birimlik talebi karşılandığından, talep miktarı olarak güncellenir.
Fabrika 2 elindeki tüm ürünü gönderdiğinden s2 = 30 - 30 = 0 olur ve Fabrika 2’ye ait ikinci satır kapatılır
(Şekil 4.16).
Bu atamanın ardından elde edilen güncel tabloda ilk kuzeybatı köşe hücresi de (3, 3) hücresi olacaktır.
Müşteriler
1
Fabrikalar
1
2
3
3
2
6
3
40
2
4
6
9
10
5
8
70
4
30
2
6
40
4
1
80
35
70
5
50
10
100
30
d3 = 35 - 30 = 5
45
40
Şekil 4.16 Kuzeybatı köşe yönteminde dördüncü atama
Beşinci atamanın yapılacağı güncel tablonun kuzeybatı köşesi olan (3, 3) hücresine yapılabilecek atama x33 = enk {s3, d3} olmalıdır. Fabrika 3’ün mevcut kapasitesi 45 adet, Müşteri 3’ün henüz karşılanma-
108
4
Yöneylem Araştırması
mış talebi ise 5 adettir (Şekil 4.16). Dolayısıyla Fabrika 3, kapasitesi yettiği için tüm talebi karşılayabilir
ve x33 = 5 ataması yapılır. Müşteri 3’ün tüm talebi karşılandığı için bu adımda da üçüncü sütun kapatılır.
d3 = 5 - 5 = 0 olur ve Fabrika 3’ün kalan kapasite miktarı s3 = 45 - 5 = 40 olarak güncellenir (Şekil 4.17).
Bu atamanın ardından elde edilen güncel tabloda ilk ve tek kuzeybatı köşe hücresi de (3, 4) hücresi
olacaktır.
Müşteriler
1
Fabrikalar
6
3
1
40
4
2
4
6
9
10
5
8
2
3
2
70
4
3
30
2
6
50
10
100
30
45
40
1
5
40
80
35
70
5
s3 = 45 - 5 = 40
40
Şekil 4.17 Kuzeybatı köşe yönteminde beşinci atama
Son atamanın yapılacağı güncel tablonun kuzeybatı köşesi olan (3, 4) hücresine yapılabilecek atama
x23 = enk {s3, d4} olmalıdır. Fabrika 3’ün mevcut kapasitesi 40, Müşteri 4’ün de henüz karşılanmamış
talebi 40 adettir (Şekil 4.15). Dolayısıyla x34 = 40 ataması yapılır. Müşteri 4’ün 40 birimlik talebi karşılandığından, Fabrika 4’ün de elindeki tüm ürün gönderildiğinden d4 = 40 - 40 = 0, s3 = 40 - 40 = 0 olur
ve Fabrika 3’e ait satır ve aynı zamanda Müşteri 4’e ait sütun kapatılır (Şekil 4.18).
Müşteriler
1
Fabrikalar
1
2
3
3
2
6
3
40
2
4
6
9
10
5
8
70
4
4
30
2
6
1
5
40
80
35
70
5
40
50
10
100
30
45
40
40
Şekil 4.18 Kuzeybatı köşe yönteminde altıncı atama
Şekil 4.18’de elde edilen nihai ulaştırma tablosuna göre kuzeybatı köşe yöntemi ile elde edilen çözüm
x11 = 40, x12 = 10, x22 = 70, x23 = 30, x33 = 5 ve x34 = 40 olarak elde edilmiştir. Bu çözüm Fabrika 1’den
Müşteri 1’e 40, Fabrika 1’den Müşteri 2’ye 10, Fabrika 2’den Müşteri 2’ye 70, Fabrika 2’den Müşteri 3’e
30, Fabrika 3’ten Müşteri 3’e 5 ve Fabrika 3’ten Müşteri 4’e 40 adet ürün gönderisi yapılması gerektiğini
söylemektedir (Şekil 4.19).
109
4
Ulaştırma Problemleri
Müşteriler
1
1
3
6
Fabrikalar
40
2
3
8
3
2
2
4
6
9
10
5
70
4
4
6
30
2
1
5
40
Şekil 4.19 Kuzeybatı köşe yöntemi ile elde edilen sonuç
Çözümü aranan bu ulaştırma probleminde üç fabrika ve dört müşteri olduğu için toplam 7 kısıt vardır.
Buna göre uygun bir temel çözümde (7 - 1 = 6) 6 adet karar değişkeninin pozitif değer alması gerekiyordu.
Elde edilen x11 = 40, x12 = 10, x22 = 70, x23 = 30, x33 = 5 ve x34 = 40 çözümü bu koşulu da sağlamaktadır.
Atama yapılmamış diğer hücrelerin değeri de doğal olarak 0’dır. Örneğin x13 = 0’dır. Bu da Fabrika
1’den Müşteri 3’e gönderi yapılmayacağı anlamındadır. Elde edilen çözümde atama yapılmamış hücrelere
ait karar değişkenleri x13 = 0, x14 = 0, x21 = 0, x24 = 0, x31 = 0 ve x32 = 0 değerlerini almıştır.
Elde edilen çözüme göre, firma müşterilerinin taleplerini karşılamak için toplam 760 lira ulaştırma
maliyetine katlanacaktır (4.8).
Enk Z = c11 * x11 + ... + c1n x1n + ... + c21x21 + ... + c2nx2n + ... + cmnxmn(4.8)
= 3 * 40 + 6 * 10 + 2 * 0 + 4 * 0 + 8 * 0 + 5 * 70 + 6 * 30 + 9 * 0 + 4 * 0 + 6 * 0 +2 * 5 + 1 * 40 = 760
En Küçük Maliyet Yöntemi
Ulaştırma problemlerine bir başlangıç temel uygun çözüm bulma yöntemi olan kuzeybatı köşe yönteminde ulaştırma maliyetleri dikkate alınmadan çözüm elde edilmektedir. Bu sebeple, elde edilen çözüm, kısıtları
sağlamasına rağmen yüksek maliyetli bir çözüm olabilir. Dolayısıyla, hızlı bir uygun çözüm bulma yöntemi
olmasına rağmen maliyeti tamamen göz ardı eden kuzeybatı köşe yönteminin dışında maliyetleri dikkate
alan yöntemler de geliştirilmiştir. Bunların içinde en yaygın kullanılan yöntem En küçük maliyet yöntemidir.
En küçük maliyet yönteminde, ilk olarak ulaştırma tablosundaki en küçük maliyet değeri (en küçük cij)
belirlenir. Toplam maliyeti en küçüklemek istediğimiz için, en küçük maliyetli (i, j) hücresine olabilecek
en büyük gönderi miktarı atanır. Olabilecek en büyük gönderi miktarı, kuzeybatı köşe yönteminde olduğu
gibi ilgili hücrenin bulunduğu satır ve sütuna ait en küçük kapasite ya da talep miktarı olacaktır. Dolayısıyla xij’in değeri, si ve dj değerlerinin en küçüğünden daha büyük olamaz.
xij ataması yapıldıktan sonra, kuzeybatı köşe yönteminde olduğu gibi, i. fabrika kapasitesi tam kullanıldıysa i. satır; j. müşteri talebi tam karşılandıysa j. sütun kapatılır. Ardından, ilgili kapasite ve talep miktarları güncellenir. Güncellenen tabloda yine en küçük maliyetli hücre bulunur ve prosedür aynı şekilde
kapanmamış satır ve sütun kalmayana kadar devam eder.
Ulaştırma tablosunda her adımda en küçük maliyetli hücreyi belirlerken, en küçük birim maliyete
sahip birden fazla hücre belirlenebilir. Bu durumda hangi hücreye atama yapılmalıdır? Amacımız toplam
ulaştırma maliyetlerini en küçüklemek olduğundan, bu hücrelerden hangisine en yüksek miktarda atama
yapılabiliyorsa o hücreye atama yapılır.
110
4
Yöneylem Araştırması
ÖRNEK 4.3 Üç fabrika ve dört müşterili örneğimizi her bir fabrikanın kapasitesi, her bir müşterinin
talebi ve birim taşıma maliyetleri ile tekrar ele alalım. Hangi fabrikadan hangi müşteriye ne kadar miktarda
ürün gönderileceğini, en küçük maliyet yöntemi ile bulalım.
s1 = 50
d1 = 40
s2 = 100
d2 = 80
s3 = 45
s1 + s2 + s3 = 195
d3 = 35
d4 = 40
d1 + d2 + d3 + d4 = 195
Müşteriler
Fabrikalar
1
2
3
3
2
1
6
3
4
2
4
8
5
6
9
4
6
2
1
40
80
50
cij
100
45
35
40
Şekil 4.20 Müşteriler ve Gereksinimleri Tablosu
En küçük maliyet yönteminde ilk adımda, ulaştırma tablosundaki en küçük maliyet bulunur. Problemimize ait birim maliyetler c11 = 3, c12 = 6, c13 = 2, c14 = 4, c21 = 8, c22 = 5, c23 = 6, c24 = 9, c31 = 4, c32 = 6,
c33 = 2, c34 = 1, içinden en küçük maliyet c34 = 1’dir.
Buradan hareketle, ilk atama (3, 4) hücresine yapılacaktır. Atama miktarı, x34 = enk {s3, d4} = enk {45,
40} = 40 olmalıdır. Şekil 4.21’de de görüleceği gibi x34 = 40 olacak ve Müşteri 4 talebinin hepsi karşılandığı
için dördüncü sütun kapatılır. Şekil üzerinde kapatılan sütun, gri ile renklendirilerek belirtilmiştir.
Müşteri 4’ün talebi de tam karşılandığı için güncel Müşteri 4 talep değeri d4 = 40 - 40 = 0 olmuştur.
Fabrika 3’ün kalan kapasitesi s3 = 45 - 40 = 5 olarak güncellenir (Şekil 4.21).
Müşteriler
Fabrikalar
1
2
3
3
2
1
4
3
6
2
4
8
5
6
9
4
2
6
50
100
1
40
40
80
35
45
s3 = 45 - 5 = 40
5
40
Şekil 4.21 En küçük maliyet yönteminde ilk atama
Bu atamanın ardından Şekil 4.21’de elde edilen güncel tabloda (beyaz renkli hücreler ile temsil edilen)
en küçük maliyet c13 ve c33 için “2”dir. Ancak, hem (1, 3) hem de (3, 3) hücresinin birim maliyeti 2’dir.
Bu durumda atama hangi hücreye yapılacaktır?
111
4
Ulaştırma Problemleri
•
(1, 3) hücresine atama yapılırsa x13 = 35 olacak ve bu atamadan meydana gelecek ulaştırma maliyeti
2 * 35 = 70 lira olacaktır.
• (3, 3) hücresine atama yapılırsa x33 = 5 olacak ve bu atamadan meydana gelecek maliyet ise 2 * 5 = 10
lira olacaktır.
10 lira 70 liradan düşük olsa da Müşteri 3’e gönderiyi Fabrika 3 yaparsa Müşteri 3’ün karşılanmayan
30 adetlik talebi ise bir adedi 6 liradan taşınacak ve toplam maliyet (2 * 5) + (6 * 30) = 190 lira olacaktır.
Amacımız toplam ulaştırma maliyetlerini en küçüklemek olduğundan, bu hücrelerden hangisine en yüksek miktarda atama yapılabiliyorsa o hücreye atama yapılır.
İkinci aşamada yapılan atama x13 = 35 olacaktır. Müşteri 3 talebinin hepsi karşılandığı için üçüncü
sütun kapatılır (Şekil 4.22). Güncel Müşteri 3 talep değeri d3 = 35 - 35 = 0 olmuştur. Fabrika 1’in kalan
kapasitesi s1 = 50 - 35 = 15 olarak güncellenir (Şekil 4.22).
Müşteriler
Fabrikalar
1
2
3
3
2
1
6
3
4
2
s1 = 50 - 35 = 15
4
50
35
8
5
6
9
4
6
2
1
100
45
40
40
80
35
15
5
40
Şekil 4.22 En küçük maliyet yönteminde ikinci atama
İkinci atamanın ardından elde edilen güncel tabloda en küçük birim maliyet c11 = 3’tür. Fabrika 1’in
mevcut kapasitesi 15 adet, Müşteri 1’in henüz karşılanmamış talebi 40 adettir (Şekil 4.22). (1, 1) hücresine
yapılabilecek atama bu durumda x11 = enk {s1, d1} = {15, 40} = 15 olmalıdır (Şekil 4.23). Müşteri 1’in 15
birimlik talebi karşılandığından, talep miktarı d1 = 40 - 15 = 25 olarak güncellenir. Fabrika 1 elindeki tüm
ürünü gönderdiğinden s1 = 15 - 15 = 0 olur ve Fabrika 1’e ait birinci satır kapatılır (Şekil 4.23).
Müşteriler
Fabrikalar
1
2
3
3
2
1
6
3
4
2
4
15
50
35
8
5
6
9
4
6
2
1
100
40
40
80
35
40
25
Şekil 4.23 En küçük maliyet yönteminde üçüncü atama
112
15
45
5
d1 = 40 - 15 = 25
4
Yöneylem Araştırması
Güncel tabloda en küçük birim maliyet c31 = 4’tür. Fabrika 3’ün mevcut kapasitesi 5 adet, Müşteri 1’in
henüz karşılanmamış talebi 25 adettir (Şekil 4.23). (3, 1) hücresine yapılabilecek atama bu durumda
x31 = enk {s3, d1} = {5, 25} = 5 olmalıdır (Şekil 4.24). Müşteri 1’in 5 birimlik talebi karşılandığından, talep
miktarı d1 = 25 - 5 = 20 olarak güncellenir. Fabrika 3 elindeki tüm ürünü gönderdiğinden s3 = 5 - 5 = 0
olur ve Fabrika 3’e ait üçüncü satır kapatılır (Şekil 4.24).
Müşteriler
Fabrikalar
1
2
3
3
2
1
6
3
2
4
15
8
4
4
50
35
5
6
9
6
2
1
100
5
40
40
80
35
15
45
5
d1 = 25 - 5 = 20
40
25
20
Şekil 4.24 En küçük maliyet yönteminde dördüncü atama
Yapılan bu işlemlerin ardında henüz talebi karşılanmamış iki müşteri bulunmaktadır. Güncel tabloda
en küçük birim maliyet c22 = 5’tir. Fabrika 2’nin mevcut kapasitesi 100 adet, Müşteri 2’in henüz karşılanmamış talebi 80 adettir (Şekil 4.24). (2, 2) hücresine yapılabilecek atama bu durumda x22 = enk {s2,
d2} = {100, 80} = 80 olmalıdır (Şekil 4.25). Müşteri 2’nin 80 birimlik tüm talebi karşılandığından, talep
miktarı d2 = 80 - 80 = 0 olarak güncellenir ve Müşteri 2’ye ait sütun kapatılır. Fabrika 2’nin de kapasitesi
s2 = 100 - 80 = 20 olarak güncellenir (Şekil 4.25).
Müşteriler
Fabrikalar
1
2
3
3
2
1
6
3
2
s2 = 100 - 80 = 20
4
15
35
5
8
4
6
9
2
1
80
4
6
5
40
40
80
35
50
15
80
20
45
5
40
25
20
Şekil 4.25 En küçük maliyet yönteminde beşinci atama
113
4
Ulaştırma Problemleri
Çözümün bu son aşamasında atama ulaştırma tablosunda henüz kapanmamış tek bir hücre kalmıştır.
(2, 1) hücresine yapılabilecek atama bu durumda x21 = enk {s2, d1} = {20, 20} = 20 olmalıdır (Şekil 4.25).
Müşteri 1’in 20 birimlik tüm talebi karşılandığından, talep miktarı d1 = 20 - 20 = 0 olarak; Fabrika 2’nin
elindeki 20 adet ürün gönderileceğinden kalan kapasitesi s2 = 20 - 20 = 0 olarak güncellenir (Şekil 4.26).
Bu son aşamada ikinci satır ve birinci sütunda kapatıldığından en küçük maliyet yönteminin aşamaları
sonlanmış olur.
Müşteriler
1
Fabrikalar
1
2
3
3
2
6
3
2
4
15
35
5
8
6
9
2
1
80
20
4
4
6
5
40
40
80
35
50
15
80
20
45
5
40
25
20
Şekil 4.26 En küçük maliyet yönteminde altıncı atama
Şekil 4.26’de elde edilen nihai ulaştırma tablosuna göre en küçük maliyet yöntemi ile elde edilen çözüm
x11 = 15, x13 = 35, x21 = 20, x22 = 80, x31 = 5 ve x34 = 40 olarak elde edilmiştir. Bu çözüm Fabrika 1’den
Müşteri 1’e 15, Fabrika 1’den Müşteri 3’e 35, Fabrika 2’den Müşteri 1’e 20, Fabrika 2’den Müşteri 2’ye
80, Fabrika 3’ten Müşteri 1’e 5 ve Fabrika 3’ten Müşteri 4’e 40 adet ürün gönderisi yapılması gerektiğini
söylemektedir. Bu sonucu Şekil 4.27’de verilen ulaştırma ağı üzerinde de inceleyebiliriz.
Müşteri 1
15
Fabrika 1
35
Müşteri 2
20
Fabrika 2
80
Müşteri 3
5
Fabrika 3
40
Müşteri 4
Şekil 4.27 En küçük maliyet yöntemi ile elde edilen ulaştırma ağı
114
4
Yöneylem Araştırması
Çözümü aranan bu ulaştırma probleminde üç fabrika ve dört müşteri olduğu için toplam 7 kısıt olduğunu biliyoruz. Buna göre de uygun bir temel çözümde (7-1) 6 adet karar değişkeninin pozitif değer
alması gerekiyordu. Elde edilen x11 = 15, x13 = 35, x21 = 20, x22 = 80, x31 = 5 ve x34 = 40 çözümü bu
koşulu sağlamaktadır.
Atama yapılmamış diğer hücrelerin değeri de doğal olarak 0’dır. Örneğin x14 = 0’dır. Bu da, Fabrika
1’den Müşteri 4’e gönderi yapılmayacağı anlamındadır. Elde edilen çözümde atama yapılmamış hücrelere
ait karar değişkenleri x12 = 0, x14 = 0, x23 = 0, x24 = 0, x32 = 0 ve x33 = 0 değerlerini almıştır.
Elde edilen çözüme göre, firma müşterilerinin taleplerini karşılamak için toplam 735 lira ulaştırma
maliyetine katlanacaktır (4.8).
Enk Z = c11 * x11 + ... + c1n x1n + ... + c21x21 + ... + c2nx2n + ... + cmnxmn(4.8)
= 3 * 15 + 6 * 0 + 2 * 35 + 4 * 0 + 8 * 20 + 5 * 80 + 6 * 0 + 9 * 0 + 4 * 5 + 6 * 0 + 2 * 0 + 1 * 40 = 735
Aynı örnek kuzeybatı köşe yöntemi ile çözüldüğünde toplam ulaştırma maliyeti 760 lira olarak elde
edilmişti. En küçük maliyet yöntemi ile elde edilen çözümün toplam maliyeti ise 735 lira olmuş ve daha
düşük bir maliyet elde edilmiştir. Birim taşıma maliyetlerini dikkate alarak geliştirilen bir çözüm yöntemi
olduğundan, en küçük maliyet yöntemi ile kuzeybatı köşe yöntemine göre daha düşük maliyetli bir çözüm
elde edilebilir. Ancak, kuzeybatı köşe yöntemi de her adımda en küçük maliyetli hücre kontrolü yapmadığı
için uygun bir temel çözüme daha hızlı ulaşır.
Bu bölümde, ulaştırma problemleri için bir uygun temel çözüm bulmak için iki yöntemi detaylı bir
şekilde inceledik. Her iki yöntem de verdiği çözümün en iyi çözüm olduğunu garanti etmez. Bundan
sonraki aşamada, verilen bir başlangıç uygun temel çözüm üzerinden devam ederek en iyi çözümü bulan
algoritmalar uygulanır. Bu algoritmalar, kitabımız kapsamında ele alınmamıştır, ancak ilgi duyanlar kaynakçalarda yer alan kitaplara başvurabilirler.
Yaşamla İlişkilendir
Havayolu Taşımacılığında Maliyetlerin
Düşürülmesinde Ulaştırma Modelleri Tekniklerinin Kullanım ve Analizi
“Taşımacılık sektörü, tüm ülke ve şehirlerde
ekonomik ve kültürel gelişimde etkili olmaktadır.
Havayolu Taşımacılığı, yolcu veya yük taşımacılığında kullanılan karayolu, demiryolu, denizyolu
taşımacılığından teknolojik gelişiminde etkisiyle
fiyat dezavantajını da günden güne kapatarak, en
yaygın kullanıma sahip olmaya yolunda ilerlemektedir. Günümüzde rekabet koşullarına firmaların uyum sağlayabilmeleri ve büyüme yolunda
ilerleyebilmeleri için, özellikle üretim yapan firmalar ulaştırma maliyetleri maliyet kalemlerinin
içinde çok önemli bir yere sahip olmasından
dolayı bu konuya daha hassas bakmalarını sağlamaktadır. Özellikle geniş dağıtım ağına sahip
işletmelerin nasıl bir dağıtım planıyla en düşük
ulaştırma maliyetini elde edebileceklerini ulaştırma modellerini kullanarak ulaşabilirler. Böylelikle, maliyetlerin düşürülmesiyle, bulundukları pazarda rekabet şansları artırmış dolayısıyla
da şirket ömrünü hem uzatmış hem de büyüme
yolunda ilerlemiş olacaklardır. Türkiye’de son yıllara gelinceye kadar devlet katsayısıyla büyüme
sağlayan havayolu taşımacılığı, sivil havacılığın
gelişmesi ve kanunların yürürlüğe sokulmasıyla
çağdaş anlamda bir rekabet ortamında büyüme
şansı yakalamıştır. Havayolunun taşımacılığının
ilerlemesi, ihracatımız dolayısıyla da ekonomimizin daha güçlenmesine imkân verecektir. Nitekim
ihracatı desteklemek adına verilen bazı teşviklerle
de örneğin havayoluyla taşınan malların navlun
iadesi gibi hem ihracatı büyük ölçüde destekleyecek hem de şirketlerin maliyetlerini büyük
ölçüde etkileyeceği için ürünlerimizin yurtdışı
115
4
Ulaştırma Problemleri
pazarlarında rekabet gücünü artıracaktır. Geçmiş
yıllarda Türkiye’de Havayolu Taşımacılığı denince akla ilk ve tek olarak Türk Hava Yolları gelmekteydi. Bu da THY’nin havayolu taşımacılığında Türkiye’de oligopol piyasa haline gelmesine
neden olmaktaydı. İlerleyen yıllarda havayolu taşımacılığına artan talebin, gelişen teknolojinin ve
uluslararası artan rekabetin, ithalat ve ihracatın,
uluslararası ticaretin, turizmin de gelişmesiyle
sektöre farklı şirketlerde katılmış olup pazardaki
paylarını her gecen gün artırma yolunda ilerlemektedir. 89 Geçmişten gelen güven ve alışkanlıkların devam etmesi, diğer havayolu şirketleri-
nin uçuş yapmadığı birçok ülkeye ve şehre uçuş
seferleri düzenlemesi, bir THY çalışanı olarak da
hem uçuş emniyetine verdiğimiz önem hem de
hizmet kalitesi ile öncelikle tercih edilen Havayolu Şirketi olmaya devam etmekteyiz.”
Kaynak: Kaynar, N. (2011). Havayolu Taşımacılığında Maliyetlerin düşürülmesinde Ulaştırma
Modelleri Tekniklerinin Kullanım ve Analizi.
T.C. Haliç Üniversitesi Sosyal Bilimleri Enstitüsü İşletme Anabilim Dalı Bankacılık ve Finans
Programı Yüksek Lisans Tezi.
Öğrenme Çıktısı
2 Kuzeybatı köşe ve en küçük maliyet yöntemlerini uygulayabilme
Araştır 2
Aşağıda verilen ulaştırma tablosu için hem
kuzeybatı köşe hem de en küçük maliyet yöntemleri ile çözümü araştırdığımızda, ilk atama
yapılacak hücreler hangileri olacaktır?
8
Müşteriler
3
2
10
9
14
8
11
12
9
14
12
9
10
1
1
Fabrikalar 2
3
40
80
35
4
50
Anlat/Paylaş
Hangi işin hangi çalışan tarafından yapılacağını belirleyen
atama problemi ile
ulaştırma problemini ilişkilendirin.
Ulaştırma problemlerinin
çözümünde kullanılan diğer
yöntemleri de inceleyiniz. Yöntemlerin
birbirine göre üstünlüklerini paylaşınız.
100
45
40
ULAŞTIRMA PROBLEMLERİNDE
ÖZEL DURUMLAR
Ünitemizde ele aldığımız ulaştırma problemleri, toplam talebin toplam tedarik miktarına eşit
olduğu varsayımı altında incelenmiştir. Bu koşullar
altındaki problemler dengeli ulaştırma problemleri
olarak da adlandırılmaktadır. Peki, ele alınan ulaştırma problemi dengeli değilse? Denge durumu iki
şekilde bozulabilir. Ya toplam tedarik miktarı toplam talep miktarından fazladır, ya da toplam talep
miktarı toplam tedarik miktarından fazladır.
116
İlişkilendir
Toplam tedarik miktarının toplam talep miktarından fazla olması durumu matematiksel olarak
∑si >∑ d j ile ifade edilir. Bu durumda, her bir
talep noktasının talebini karşılamak mümkündür.
Ancak, tüm talepler karşılandıktan sonra en az bir
tedarik noktasının elinde ürün kalacaktır. Elde kalan ürünler, firmalar için fazladan stok tutma maliyeti getireceği için istenen bir durum değildir.
Toplam talep miktarının toplam tedarik miktarından fazla olması durumu da matematiksel olarak
∑ si < ∑ d j ile ifade edilir. Bu durumda, ne yazık ki
4
Yöneylem Araştırması
her bir talep noktasının talebini karşılamak mümkün olmayacaktır. Talebinin tamamı karşılanmayan müşteriler için bir ceza maliyetine katlanmak gerekir. Ayrıca, doğru ürünü doğru zamanda ve doğru miktarda
alamamak müşteri açısından bir memnuniyetsizlik yaratacak ve belki de müşteri kaybına sebep olacaktır.
Toplam ulaştırma maliyetlerini en küçüklemek için kullanılan yöntemler, dengeli ulaştırma tablosu üzerinde çalışabilir. Bu sebeple, denge durumunun bozulduğu her iki durumda tabloya sanal merkezler eklenir.
Toplam tedarik miktarı toplam talep miktarından fazla ise, dengeli problemi elde edebilmek için bir
sanal talep noktası eklenir. Bu sanal talep noktasının talep miktarı da ∑si >∑ d j kadar olacaktır. Seçilen
herhangi bir yöntemin uygulanmasının ardından elde edilen çözümde bu sanal noktaya yapılan atama
miktarı, hangi tedarik noktasının elinde ne kadar ürün kalacağını gösterir. Çünkü, sanal nokta sadece çözüm yöntemlerini uygulayabilmek için eklenen, gerçekte olmayan bir noktadır. Gerçekte böyle bir nokta
olmadığı için de ulaştırma tablosu oluşturulurken tüm tedarik noktalarından bu sanal noktaya olan birim
taşıma maliyetleri “0” olarak belirlenir.
Karşılanamayan talep miktarının belirlendiği, toplam talep miktarının toplam tedarik miktarından
fazla olması dengesiz durumunda da karşılanmayan talep miktarı ∑ d j >∑si kadar kapasitesi olan bir
sanal tedarik noktası eklenir. Seçilen herhangi bir yöntemin uygulanmasının ardından elde edilen çözümde bu sanal noktadan herhangi bir talep noktasına yapılan atama miktarı, hangi talep noktasının
ne kadarlık talebinin karşılanmadığını gösterir. Çünkü, bu durumda da sanal tedarik noktası sadece çözüm
yöntemlerini uygulayabilmek için eklenen, gerçekte
olmayan bir noktadır. Gerçekte böyle bir nokta olmadikkat
dığı için de ulaştırma tablosu oluşturulurken bu sanal Dengeli ulaştırma problemini elde etmek için
tedarik noktasından tüm talep noktalarına olan birim eklenen sanal noktanın tedarik ya da talep miktaşıma maliyetleri “0” olarak belirlenir. Bazı durumlarda tarı, toplam tedarik ile toplam talep arasındaki
ise, talebi karşılayamama sonucu müşteriye belli bir ceza fark kadardır. Sanal noktalara karşı gelen birim
ödenir. Bu durumda, sanal tedarik noktasından her bir taşıma maliyetleri “0” olarak belirlenir.
talep noktasına olan birim taşıma maliyetleri sıfır yerine,
ceza maliyetleri olarak da alınabilir.
ÖRNEK 4.4 Üç fabrika ve dört müşterili örneğimizde her bir fabrikanın kapasitesi, her bir müşterinin
talebi ve birim taşıma maliyetleri izleyen şekilde verilmiş olsun.
s1 = 50
d1 = 40
s2 = 100
d2 = 80
s3 = 45
s1 + s2 + s3 = 195
d3 = 35
d4 = 20
d1 + d2 + d3 + d4 = 175
c11 = 3, c12 = 6, c13 = 2, c14 = 4, c21 = 8, c22 = 5
c23 = 6, c24 = 9, c31 = 4, c32 = 6, c33 = 2, c34 = 1
1
2
3
Müşteriler
2
3
6
2
4
8
5
6
9
4
6
2
1
3
1
40
80
35
4
50
100
45
20
Fabrikalar
Fabrikalar
Problem parametreleri incelendiğinde, toplam tedarik miktarının (50 + 100 + 45 = 195) toplam talep
miktarından (40 + 80 + 35 + 20 = 175) fazla olduğu (195 > 175) görülmektedir. Problemi dengelemek
için, aradaki 20 adet fark kadar talebi olan sanal müşteri ve ona ait sanal sütun eklenir ve bu sütundaki tüm
birim ulaştırma maliyetleri 0 olarak belirlenir (Şekil 4.28).
1
2
3
3
1
6
2
Müşteriler
3
2
4
4
Sanal
0
8
5
6
9
0
4
6
2
1
0
40
80
35
20
50
100
45
20
Şekil 4.28 Fazla tedarik durumunda ulaştırma tablosunun dengelenmesi
117
4
Ulaştırma Problemleri
ÖRNEK 4.5 Üç fabrika ve dört müşterili örneğimizde her bir fabrikanın kapasitesi, her bir müşterinin
talebi ve birim taşıma maliyetleri izleyen şekilde verilmiş olsun.
s1 = 50
d1 = 40
s2 = 70
d2 = 80
s3 = 45
s1 + s2 + s3 = 165
d3 = 35
d4 = 40
d1 + d2 + d3 + d4 = 195
c11 = 3, c12 = 6, c13 = 2, c14 = 4, c21 = 8, c22 = 5
c23 = 6, c24 = 9, c31 = 4, c32 = 6, c33 = 2, c34 = 1
2
3
4
8
5
6
9
4
6
2
1
3
40
80
35
4
50
70
1
Fabrikalar
1
Müşteriler
2
3
6
2
1
2
3
45
40
Sanal
Fabrikalar
Problem parametreleri incelendiğinde, toplam tedarik miktarının toplam talep miktarından az olduğu
(165 < 195) görülmektedir. Problemi dengelemek için, aradaki 30 adet fark kadar kapasitesi olan sanal
fabrika ve ona ait sanal satır eklenir ve bu satırdaki tüm birim ulaştırma maliyetleri aksi belirtilmediğinden
0 olarak belirlenir (Şekil 4.29).
3
1
6
2
Müşteriler
3
2
4
4
50
8
5
6
9
100
4
6
2
1
45
0
0
0
0
30
40
80
35
20
Şekil 4.29 Fazla talep durumunda ulaştırma tablosunun dengelenmesi
Her iki özel durumda da problem dengelendikten sonra, istenilen bir çözüm yaklaşımı uygulanarak bir
çözüm elde edilir.
Bazı durumlarda ilgili planlama döneminde bir tedarik noktasından bir talep noktasına taşıma yapamayabiliriz. Bu, fabrika ile müşteri arasında alınan bir karardan ya da fabrikadan müşteriye olan ulaşım
yolundaki bir problemden dolayı olabilir. Ulaştırma problemlerinde karşılaşılabilecek bir diğer özel durum
da işte bu önceden bilinen kısıtlamalardır. Eğer bir tedarik noktası bir talep noktasına gönderi yapamıyorsa
ya da yapmamalıysa, bu tedarik noktasından belirtilen talep noktasına olan birim taşıma maliyeti çok büyük bir sayı olarak güncellenir. Amaç, toplam taşıma maliyetlerini en küçüklemek olduğu için, M gibi çok
büyük bir birim taşıma maliyeti olan bağlantıya atama yapılmamaya çalışılır. Özellikle, en küçük maliyet
yöntemini hatırlayacak olursak, her iterasyonda ulaştırma tablosundaki en küçük maliyetli hücreye atama
yapılır. Şekil 4.28’de ilgili planlama dönemi için Fabrika 2’den Müşteri 3’e gönderi kararının alınması
hâlinde elde edilen ulaştırma tablosu verilmiştir. c23 = M olarak güncellenmiştir.
3
Müşteriler
2
6
2
8
5
M
9
4
6
2
1
1
Fabrikalar
1
2
3
40
80
3
4
4
35
50
70
45
40
Şekil 4.30 Gönderi yapılamama durumunun ulaştırma tablosunda belirtilmesi
118
4
Yöneylem Araştırması
Öğrenme Çıktısı
3 Dengeli olmayan ulaştırma problemlerini dengeli problem hâline getirebilme
Araştır 3
Aşağıda verilen ulaştırma tablosunu inceleyin.
İlgili ulaştırma problemi dengeli durumda mıdır? Değilse dengeli hâle getirin.
Müşteri 1
Depo 1
Depo 2
Depo 3
Müşteri 2
Müşteri 3
15
35
25
10
50
40
90
80
110
30
30
40
30
İlişkilendir
Anlat/Paylaş
Hava yolu firmalarının karşılaştığı arz
talep kısıtları ile özel
kısıtları, bu kısımda
öğrendiğiniz kısıtlar
ile ilişkilendirin.
Dengeli ve dengesiz
ulaştırma problemleri arasındaki farkı
anlatın.
10
30
119
4
öğrenme çıktıları ve bölüm özeti
Ulaştırma Problemleri
Ulaştırma problemi kavramını
anlama ve ulaştırma problemlerinin
doğrusal programlama modelini
geliştirebilme
1
Ulaştırma Problemleri
Ulaştırma problemi kavramını anlama ve ulaştırma problemlerinin doğrusal programlama modelini geliştirebilme
Ulaştırma problemi, mal veya malzeme stoklarının birden fazla kaynaktan (tedarik noktasından) birden
fazla varış yerine (talep noktasına) dağıtılması için en düşük maliyetli planı bulmayı içerir. Örneğin, bir
firmanın hepsi aynı ürünün özdeş birimlerini üretebilen üç fabrikası ve bu ürünleri stoklayan veya talep
eden dört depoya sahip olabilir. Ulaştırma modeli, çeşitli fabrikalardan temin edilebilen malzemelerin,
bu malları stoklayan veya talep eden depolara, toplam nakliye maliyeti en aza indirilecek şekilde nasıl
atanacağını belirlemek için kullanılabilir.
Toplam tedarik miktarının toplam talep miktarına eşit olduğu dengeli ulaştırma probleminin doğrusal
programlama modeli aşağıda verilmiştir:
n
∑ xij = si
∀i
:Tedarik kısıtları
∀j
:Talep kısıtları
j=1
m
∑ xij = d j
i=1
k.a.
Enk Z = ∑
120
m
i
n
∑ j cij xij :Toplamulaştırma maliyetlerininen küçüklenmesi
4
Yöneylem Araştırması
2
öğrenme çıktıları ve bölüm özeti
Kuzeybatı köşe ve en
küçük maliyet yöntemlerini
uygulayabilme
Başlangıç Temel Uygun Çözüm
Bulma Yöntemleri
Kuzeybatı köşe ve en küçük maliyet yöntemleri, ulaştırma problemlerine bir başlangıç temel uygun çözüm bulma
yöntemleridir. Kuzeybatı köşe yöntemi birim taşıma maliyetlerini dikkate almazken, en küçük maliyet yöntemi
birim taşıma maliyetleri odaklı bir yöntemdir. Her iki yöntemde de işlemleri ilgili probleme ait ulaştırma tablosu
üzerinde yapılır. Üç fabrika ve dört müşteriye ait ulaştırma tablosu verilen şekilde oluşturulur:
Müşteriler
1
1
2
c11
c12
d1
x22
c33
x31
x14
x24
s2
c34
x32
d2
s1
c24
x22
c32
c31
x12
c23
x21
3
c14
x12
c22
c21
4
c13
x11
Fabrikalar 2
3
x32
d3
x34
s3
d4
Kuzeybatı köşe yöntemi ulaştırma tablosunun ilk kuzeybatı köşesinden başlar ve yapılan atamaya bağlı olarak kapatılan satır veya sütunlardan geriye kalan güncel tablonun yine kuzeybatı köşesine atama yaparak devam edilir.
En küçük maliyet yönteminde, ilk olarak ulaştırma tablosundaki en küçük maliyet değeri (en küçük cij) belirlenir. En küçük maliyetli (i, j) hücresine olabilecek en büyük gönderi miktarı atanır. xij ataması yapıldıktan
sonra, i. fabrika kapasitesi tam kullanıldıysa i. satır; j. müşteri talebi tam karşılandıysa j. sütun kapatılır.
Ardından, ilgili kapasite ve talep miktarları güncellenir. Güncellenen tabloda yine en küçük maliyetli hücre
bulunur ve prosedür aynı şekilde kapanmamış satır ve sütun kalmayana kadar devam eder.
3
Dengeli olmayan ulaştırma
problemlerini dengeli problem
hâline getirebilme
Ulaştırma Problemlerinde Özel
Durumlar
Toplam tedarik miktarının toplam talep miktarına eşit olmadığı ulaştırma problemleri dengeli ulaştırma
problemi değildir. Problemi dengeli hâle getirmek önemlidir çünkü, ulaştırma problemlerini çözen yöntemler problemin dengeli olmasını gerektirir. Denge durumuna ulaşmak için toplam arz ya da talepten
hangisi fazla ise aradaki fark kadar talebi ya da kapasitesi olan sanal nokta oluşturulur. Eklenen sanal (i, j)
bağlantılarının birim taşıma maliyetleri, aksi belirtilmedikçe, 0’dır.
121
4
Ulaştırma Problemleri
1
Ulaştırma problemlerinin amacı aşağıdakilerden hangisini en küçüklemektir?
neler öğrendik?
A. Sürücü maliyetleri
B. Yakıt giderleri
C. Bakım giderleri
D. Toplam ulaştırma maliyetleri
E. Toplam nakliye sayısı
2
Bir dengeli ulaştırma problemine ait uygun çözümde toplam atama (nakliye) sayısı kaç olmalıdır?
A. m
C. m*n
E. m + n -1
B. n
D. m + n
3 Kuzeybatı köşe kuralı, ulaştırma tablosu üzerindeki aşağıdaki hücrelerden hangisine atama yapılmasını gerektirir?
A. Orta hücre
C. Sağ alt köşe hücre
E. Sol alt köşe hücre
B. Sağ alt köşe hücre
D. Sol üst köşe hücre
4 Aşağıda her iki fabrikasından beş farklı müşterisine ürün gönderen bir firmanın ulaştırma problemine ait çözüm verilmiştir. Buna göre aşağıdakilerdenhangisi kesinlikle doğrudur?
1
Fabrikalar
2
3
6
4
4
5
4
250
40
8
180
5
40
30
9
6
180
A. Uygun olmayan çözüm
C. Sınırsız çözüm
E. Dengesiz çözüm
5
Müşteriler
3
2
2
1
130
160
9
120
120
400
150
150
B. Uygun çözüm
D. En iyi çözüm
Aşağıda verilen temsili çözüm görsellerinin hangisinde döngü oluşmamıştır?
A. B.C.
D.E.
122
4
Yöneylem Araştırması
6 Aşağıda bir ulaştırma problemine ait ulaştırma tablosu verilmiştir. Buna göre, kuzeybatı köşe
yöntemi ile elde edilen uygun temel çözüm hangisidir?
neler öğrendik?
Müşteriler
1
2
3
15
20
25
18
10
16
40
Fabrikalar
1
30
2
3
14
17
30
21
30
20
30
A.B.
Müşteriler
1
2
1
3
20
25
Fabrikalar
30
18
10
20
16
20
10
21
17
30
18
30
14
20
30
1
25
Fabrikalar
18
10
16
30
14
21
17
20
30
30
Müşteriler
30
1
2
3
15
20
25
10
Fabrikalar
10
16
10
40
18
30
2
30
3
14
21
17
20
20
30
30
30
40
1
18
25
30
20
E.
20
40
30
3
3
1
30
2
30
2
15
40
10
20
Müşteriler
3
1
21
17
30
Fabrikalar
15
20
20
30
2
16
10
3
20
10
Müşteriler
C.D.
1
40
30
2
20
30
25
10
30
14
3
1
10
2
3
2
15
40
1
Fabrikalar
15
Müşteriler
30
16
30
2
30
3
14
21
17
20
20
30
30
30
123
4
Ulaştırma Problemleri
7
neler öğrendik?
Aşağıda üç farklı fabrikadan dört müşterisine
ürün gönderen bir firmaya ait ulaştırma tablosu verilmiştir. Buna göre, en küçük maliyet yöntemi ile
çözüm araştırıldığında atama yapılacak ilk hücre ve
atama değeri nedir?
Müşteriler
1
2
3
4
60
40
28
10
50
30
30
20
43
20
20
10
120
Fabrikalar
1
150
2
3
100
100
100
160
8 İki fabrikasından üç deposuna ürün gönderen bir firmanın ulaştırma probleminin çözümü
aşağıda verilmiştir. Buna göre aşağıdaki ifadelerden
hangisi doğrudur?
Depolar
2
Fabrikalar
5
3
4
4
200
1
150
1
3
50
2
150
2
100
100
50
150
100
A. Çözüm bir döngü oluşturmuştur.
B. Problem dengeli bir ulaştırma problemi değildir.
C. Bu çözüme göre ulaştırma maliyeti 1000 liradır.
D. Bu çözüm kuzeybatı köşe yöntemi ile elde
edilmiştir.
E. Her iki fabrikadan ikinci depoya gönderi yapılmıştır.
124
A. Problem dengelidir.
B. Problemin çözümü yoktur.
C. 50 palet talebi olan sanal bir talep noktasına
ihtiyaç vardır.
D. 50 palet kapasitesi olan sanal bir tedarik noktasına ihtiyaç vardır.
E. 50’şer palet kapasiteli sanal tedarik ve talep
noktalarına ihtiyaç vardır.
10 Bir ulaştırma problemini dengeli hâle getirmek için aşağıdakilerden hangisinin kullanılması
gerekir?
130
A. (1,1) - 100 adet
B. (1,1) - 120 adet
C. (1,4) - 120 adet
D. (3,4) - 130 adet
E. (2,2) - 100 adet
1
9 Üç arz noktasına ait tedarik miktarları sırasıyla 80, 60 ve 60 palettir. Dört talep noktasının
talepleri ise sırasıyla 40, 20, 50, 40 palettir. Üç arz,
dört talep noktasından oluşan bu ulaştırma probleminin çözümüne ilişkin aşağıdaki ifadelerden
hangisi kesinlikle doğrudur?
A. Çok büyük birim maliyetler
B. Çok küçük birim maliyetler
C. Sıfır değerli birim maliyetler
D. Sanal tedarik satırı ya da talep sütunu
E. Herhangi bir işlem yapmaya gerek yoktur.
4
Yöneylem Araştırması
Yanıtınız yanlış ise “Ulaştırma Problemleri”
konusunu yeniden gözden geçiriniz.
6. A
Yanıtınız yanlış ise “Başlangıç Temel Uygun
Çözüm Bulma Yöntemleri” konusunu yeniden gözden geçiriniz.
2. E
Yanıtınız yanlış ise “Ulaştırma Problemleri”
konusunu yeniden gözden geçiriniz.
7. D
Yanıtınız yanlış ise “Başlangıç Temel Uygun
Çözüm Bulma Yöntemleri” konusunu yeniden gözden geçiriniz.
3. D
Yanıtınız yanlış ise “Başlangıç Temel Uygun
Çözüm Bulma Yöntemleri” konusunu yeniden gözden geçiriniz.
8. C
Yanıtınız yanlış ise “Başlangıç Temel Uygun
Çözüm Bulma Yöntemleri” konusunu yeniden gözden geçiriniz.
4. B
Yanıtınız yanlış ise “Başlangıç Temel Uygun
Çözüm Bulma Yöntemleri” konusunu yeniden gözden geçiriniz.
9. C
Yanıtınız yanlış ise “Ulaştırma Problemlerinde Özel Durumlar” konusunu yeniden gözden geçiriniz.
5. B
Yanıtınız yanlış ise “Başlangıç Temel Uygun
Çözüm Bulma Yöntemleri” konusunu yeniden gözden geçiriniz.
10. D
Yanıtınız yanlış ise “Ulaştırma Problemlerinde Özel Durumlar” konusunu yeniden gözden geçiriniz.
Araştır Yanıt
Anahtarı
4
Araştır 1
Problemde iki arz noktası (2 rezerv) ve 3 talep noktası (3 şehir) bulunmaktadır. Toplama maliyetleri en küçüklemek için geliştirilecek ulaştırma modeline
ait karar değişkenleri:
xij : i.rezervden şehre gönderilen su miktarı (milyon galon) i = 1,2 ve j =1,2,3
x11 : Rezerv 1’den Şehir 1’e gönderilen su miktarı (milyon galon)
x12 : Rezerv 1’den Şehir 2’ye gönderilen su miktarı (milyon galon)
x13 : Rezerv 1’den Şehir 3’e gönderilen su miktarı (milyon galon)
x21 : Rezerv 2’den Şehir 1’e gönderilen su miktarı (milyon galon)
x22 : Rezerv 2’den Şehir 2’ye gönderilen su miktarı (milyon galon)
x23 : Rezerv 2’den Şehir 3’e gönderilen su miktarı (milyon galon)
125
neler öğrendik yanıt anahtarı
1. D
4
Ulaştırma Problemleri
Araştır Yanıt
Anahtarı
4
Her iki yöntemde de atama yapılacak ilk hücre aynıdır. Kuzeybatı köşe yönteminde ilk atama tablonun kuzeybatı köşesindeki (1,1) hücresine yapılır. En küçük
maliyet yönteminde de önce tablodaki en küçük maliyet bulunur. Verilen tablonun en küçük maliyeti 8’dir. Ancak bu birim maliyet hem (1,1) hem de (2,1) hücrelerine aittir. Bu durumda, en büyük atama hangisine yapılabilir? Müşteri 1’in
talebi 40 adettir. Fabrika 1’in kapasitesi 50, Fabrika 2’nin de kapasitesi 100’dür.
Dolayısıyla, Müşteri 1 talebi her iki tedarik noktası tarafından karşılanabilir. Bu
durumda ister (1,1), ister (2,1) hücresine 40 birimlik atama yapılabilir.
1
Araştır 2
1
Fabrikalar 2
3
2
Depo 3
9
14
8
11
12
9
14
12
9
10
80
100
45
Müşteri 3
15
35
25
10
50
40
90
80
110
30
40
30
10
30
Depoların toplam kapasitesi 80, müşterilerin toplam talebi 90 adettir. Toplam
kapasitenin toplam talepten az olduğu ulaştırma problemi dengeli durumda
değildir. Aradaki fark kadar (90-80=10) kapasiteye sahip sanal 4. depo eklenmelidir. Sanal depoya ait sanal satırdaki birim maliyetler de 0 olmalıdır.
Müşteri 2
Müşteri 1
Depo 1
Depo 2
Depo 3
Sanal
Depo
Müşteri 3
15
35
25
40
10
50
40
30
90
80
110
10
0
0
0
10
30
126
50
40
35
Müşteri 2
30
Araştır 3
4
10
Müşteri 1
Depo 2
3
8
40
Depo 1
Müşteriler
30
30
4
Yöneylem Araştırması
Kaynakça
Bazaraa, M. S., Jarvis, J. J. ve Sherali, H. D. (2010).
Linear Programming and Network Flows (Fourth
Edition). John Wiley & Sons, Inc., Hoboken,
New Jersey.
Chen, D. S., Batson, R. G. ve Dang, Y. (2010). Applied
Integer Programming: Modeling and Solution. John
Wiley & Sons, Inc., Hoboken, New Jersey.
Kaynar, N. (2011). Havayolu Taşımacılığında
Maliyetlerin
düşürülmesinde
Ulaştırma
Modelleri Tekniklerinin Kullanım ve Analizi.
Yayınlanmamış Yüksek Lisans Tezi. İstanbul: T.C.
Haliç Üniversitesi, Sosyal Bilimleri Enstitüsü.
Winston, W. L. (2004). Operations Research:
Applications and Algorithms (Fourth Edition).
Belmont, Calif.: Brooks/Cole-Thomson Learning.
İnternet Kaynakları
https://ekonomihukuk.com/mikro-iktisat/arz-taleppiyasa-dengesi/
https://www.kargohaber.com/read.asp?id=2524
https://www.kargohaber.com/lojistikte-maliyetavantaji-yaratacak-uygulamalarin-onemi-artiyor2523h.htm
127
Bölüm 5
öğrenme çıktıları
Atama Problemleri
1
3
Atama Probleminin Tanımı ve Uygun
Çözümleri
1 Atama probleminin tanımını ve uygun
çözümlerini açıklayabilme
Atama Problemlerinin Çözümü İçin Macar
Algoritması
2
Atama Problemlerinin Matematiksel
Modeli
2 Atama probleminin matematiksel modelini
açıklayabilme
3 Atama probleminin en iyi çözümünü
bulabilmek için Macar algoritmasını
açıklayabilme
Anahtar Sözcükler: • Atama Problemi • Atama Probleminin Matematiksel Modeli
• 0 –1 Tamsayılı Programlama • Macar Algoritması
128
5
Yöneylem Araştırması
GİRİŞ
Atama probleminin ilk matematiksel modeli,
muhtemelen ilk kez Leonid Vitalyevich Kantorovich tarafından 1939 yılında yazdığı “Mathematical Methods of Organization and Planning
Production” kitabında verilmiştir. Bu kitabında
Kantorovich, üretim atama problemini ilk kez bir
matematiksel (doğrusal) programlama problemi
olarak tanımlamış, matematiksel modelini formüle
etmiş ve hatta bu problem için bir hesapsal algoritma bile sunmuştur.
Atama problemleri ile ilgili bir sonraki çalışma,
14 –16 Haziran 1951 tarihlerinde Washington DC
’de (ABD) düzenlenen ve Matematiksel Programlama alanında ilk sempozyum olarak tarihe geçen
“Symposium on Linear Inequalities and Programming” sempozyumunda, Votaw ve Orden tarafından sunulan “Personel Atama Problemi” (The
personnel assignment problem) başlıklı bildiride
sunulmuştur.
Atama ve ulaştırma problemlerini tanımlayan
doğrusal denklemlerin özel yapısı sayesinde, bu
problemleri çözmek için simpleks yöntemi kullanmayan özel çözüm algoritmaları geliştirilmiştir.
Atama problemlerinin çözümü için geliştirilen ve Macar Algoritması olarak bilinen yöntem,
Macar matematikçiler D. König ve E. Egervary tarafından matrisler ve graflar teorisinde elde edilen
sonuçlara dayanmakta olup, Harold W. Kuhn tarafından 1955 yılında yayımlanmıştır. Bu yöntemin
ulaştırma problemlerinin çözümü için genişletilerek uyarlanmış versiyonu ise J. Munkres tarafından
1957 yılında yayımlanmıştır.
ATAMA PROBLEMİNİN TANIMI VE
UYGUN ÇÖZÜMLERİ
Kitabımızın GİRİŞ bölümünde atama problemleri, bir planlama periyodunda yapılması planlanan işleri, farklı fiyat veya verimlilik göstergesi ile
yapabilecek farklı kişilere veya şirketlere, toplam
verimliliği en büyükleyecek (veya toplam yapılma
maliyetini en küçükleyecek) atamanın gerçekleştirilmesi problemi olarak tanımlanmış ve küçük bir
örnek üzerinde yorumlanmıştı. Şimdi ise bu problem türüne yakından göz atalım.
Atama problemi, Yöneylem Araştırmasının çok
özel problemlerinden biri olup, işlerin çalışanlara
atanması, çalışanların iş yerlerine atanması, makinelerin uygun yerlere yerleştirilmesi, işlerin zamana
göre planlanması, derslerin dersliklere atanması, şoförlerin araçlara atanması ve bunun gibi birçok problemin çözülmesi için kullanılabilmektedir. Hem çok
sayıda uygulama alanına sahip olması hem de matematiksel modelinin ve çözüm yönteminin sadeliği,
bu problem türünü özel kılan özelliklerdir.
Atama problemleri, genellikle “Atanacaklar” ve
“Görevler” terimleri üzerine oluşturulmakta ve aşağıdaki özellikleri içermektedir:
1. Atanacakların sayısı görevlerin sayısına eşit
olmalıdır (bu sayı genellikle n ile ifade edilir).
2. Her atanacak sadece bir göreve atanmalıdır.
3. Her görev sadece bir atanacak tarafından gerçekleştirilmelidir.
4. i. atanacağın j. göreve atanmasından elde edilecek verimlilik değeri cij ile gösterilecektir. Bu
durumda problemin amaç fonksiyonunun en
büyüklenmesi istenecektir. cij sayıları problemin tanımlanma şekline göre faydalılığı (en
büyükleme), maliyeti (en küçükleme), zamanı,
uzaklığı da gösterebilmektedir. Toplam verimliliği en yüksek kılan bir uygun atama, problemin en iyi çözümü olarak kabul edilecektir.
dikkat
Atama problemi ile ulaştırma probleminin benzer ve farklı özellikleri bulunmaktadır. Ulaştırma problemlerinde toplam arz ve toplam talebin
eşit olması gerekirken, atama problemlerinde
de toplam atanan sayısının toplam görev sayısına eşit olması gerekmektedir. Bu iki problem
arasındaki en önemli farklardan biri ise işlerin
yapılış maliyetini gösteren cij sayıları, atama
problemlerinde bir işin tamamının yapılma maliyetini gösterirken, ulaştırma problemlerinde
yapılacak işin birim maliyetini göstermesidir.
Atama problemlerinde karar değişkenleri sadece
0 ve 1 değerlerini alan 0 – 1 tamsayılı değişkenlerle ifade edilir.
129
5
Atama Problemleri
Atama problemini küçük bir örnek üzerinde
açıklayalım.
Örnek 5.1: Askerî birliğine teslim olan askerlerden Ahmet, Mehmet ve Hasan’ın, yararlı olabilecekleri yazı işleri, haberleşme ve bilgisayar yazılımı
görevleri için yapılacak test sonuçlarına göre atamalarının gerçekleşmesi gerekmektedir. Öyle ki, her
görev için yapılan sınavda en yüksek puan alan askerin, o görev için uygun olacağı öngörülmektedir.
Test sonuçları aşağıdaki Tablo 5.1’de verilmiştir.
Tablo 5.2’de açıklanan atama planında, her asker sadece bir göreve ve her bir göreve de sadece bir
asker atandığından, bu atama planı, Örnek 5.1’ ait
bir uygun çözümü göstermektedir. Dolayısıyla bir
atama probleminin uygun çözümleri yukarıda açıklanan (örneğin Tablo 5.2) şeklinde gösterilebilir.
Atamayı farklı bir şekilde gerçekleştirirsek, Tablo
5.3’te açıklanan farklı bir atama örneği elde edilebilir:
Tablo 5.3 Örnek 5.1’ ait ikinci atama örneği
Yazı
İşleri
Haberleşme
Bilgisayar
Yazılımı
Ahmet
0
1
0
Mehmet
1
0
0
Hasan
0
0
1
Tablo 5.1 Örnek 5.1’e ait veri tablosu
Yazı
İşleri
Haberleşme
Bilgisayar
Yazılımı
Ahmet
5
4
7
Mehmet
6
7
3
Hasan
10
11
2
Tablo 5.1’e göre örneğin, Hasan haberleşme
alanında iyi, fakat bilgisayar yazılımı alanında ise
iyi bir aday değildir.
Yetkili, askeri birliğe faydalı olacak şekilde, her
adayın en iyi yapacağı göreve atanmasını istemektedir. Öyle ki, her aday sadece bir göreve atanmalı ve
her bir göreve de sadece bir asker atanmalıdır. Aldıkları puanlar, her adayın söz konusu görevlerin her
birinde ne kadar faydalı olabileceklerini göstermektedir. Yapılan atamanın toplam faydalılık değeri ise
atananların puanları toplamına eşittir. Örneğin;
eğer Ahmet yazı işlerine, Mehmet haberleşmeye,
Hasan da bilgisayar yazılımı görevine atanırsa, tablodaki değerlendirmelere göre atamanın faydalılık
değeri 5 + 7 + 2 = 14 olacaktır. Bu durum, tabloda her aday hangi göreve atanacaksa o kutucuğa
1, atanmadığı kutucuklara 0 değeri yazılarak Tablo
5.2’deki şekilde gösterilebilir.
Bu duruma göre ikinci atama planının faydalılığı: 4 + 6 + 2 = 12 olacaktır. Nihai atamanın, en
yüksek faydalılık değeri elde edilecek şekilde gerçekleştirilmek istenmesi göz önünde bulundurulursa, birinci atama örneğinin ikinci atama örneğine göre daha baskın olduğu, yani birinci atamanın
daha iyi bir uygun çözüm olduğu anlaşılmaktadır.
Benzer şekilde tüm uygun atama seçeneklerini tek tek deneyecek olursak, toplam 6 adet farklı
uygun çözüm örneği oluşturulabileceği görülmektedir. Bu 6 rakamının ortaya çıkış nedenini aşağıdaki şekilde araştırabiliriz. Ahmet’in atanabileceği
toplam 3 adet görev bulunmaktadır. Ahmet bu
görevlerden herhangi birisine atandığı durumda,
Mehmet için geriye sadece 2 adet seçenek kalacaktır. Mehmet bu iki seçenekten bir tanesine atandığında ise Hasan için atanabileceği bir tek seçenek
kalacaktır. Böylece, bu problem için toplam farklı
atama seçenekleri sayısı, dolayısı ile toplam uygun
çözüm sayısı 3 × 2 × 1 = 6 olacaktır.
Tablo 5.2 Örnek 5.1’ ait birinci atama örneği
Yazı
İşleri
Haberleşme
Bilgisayar
Yazılımı
Ahmet
1
0
0
Mehmet
0
1
0
Hasan
0
0
1
130
dikkat
Atanacak sayısı ve görev atanacak sayısı ve görev sayısı
n olan bir atama probleminde, toplam n! = 1 × 2 × ...
× n adet uygun çözüm bulunmaktadır. Burada kullanılan n! işareti,”n faktöriyel” şeklinde okunmaktadır.
5
Yöneylem Araştırması
Şimdi ise, sadece en yüksek faydalılık değerine karşı gelen atamayı değerlendirmeye çalışalım.
Acaba, bu şekilde oluşturulan bir atama seçeneği
her zaman en verimli veya en iyi atama örneği olabilir mi?
Bu amaçla, her bir adayın en yüksek puan aldığı
göreve atandığını gösteren atama seçeneğini araştıralım. Bu atama örneği Tablo 5.4’te verilmiştir.
Tablo 5.4 Örnek 5.1’e ait en yüksek faydalılık değerine
karşı gelen atama örneği
Yazı
İşleri
Haberleşme
Bilgisayar
Yazılımı
Ahmet
0
0
1
Mehmet
0
1
0
Hasan
0
1
0
Tablo 5.4’te verilen atama örneği gerçekten de
en yüksek faydalılık değerini sağlamaktadır. Tablo
5.1’den faydalılık değerlerini kullanacak olursak
bu atamaya karşı gelen toplam faydalılık değerinin 7 + 7+ 11 = 25 olduğu kolayca hesaplanabilir. Bu atama örneği en yüksek faydalılık değerine
karşı gelse de maalesef uygun bir çözüm olmadığı
da açıkça görülmektedir. Sebebi ise, bu atama örneğinde her ne kadar her asker sadece bir göreve atansa da, her göreve bir asker atanma kuralı
ihlal edilmektedir, çünkü “Haberleşme” görevine
iki askerin (Mehmet ve Hasan) atanmasını öngörmektedir. Dolayısıyla bu atama planı bir uygun
çözüm olmadığından, en iyi çözüm olarak kabul
edilememektedir.
dikkat
Bir atama probleminde en yüksek toplam faydalılık (veya verimlilik) değerine karşı gelen bir
atama örneği her zaman en iyi atama örneği olamayabilir. En iyi atamanın bulunabilmesi için
sadece uygun atamalar içerisinde amaç fonksiyonuna en iyi değeri sağlayan atamanın seçilmesi gerekmektedir.
Bu durumu göz önünde bulundurduğumuzda,
Örnek 5.1’e ait en iyi atama örneğini bulabilmek için
amaç fonksiyonu değerleri ile uygun atama örnekleri
arasında bir ödünleşim gerçekleştirmemiz gerektiğini
görüyoruz. Yani, her bir askerin en yüksek puan aldığı
görev türüne atanma kuralından, en az kayıpla vazgeçerek “her asker bir göreve ve her göreve bir asker” kuralını
sağlamaya çalışacağız. Böyle bir atama örneği, yani
Örnek 5.1’in en iyi çözümü, Tablo 5.5’te verilmiştir.
Tablo 5.5 Örnek 5.1’e ait en yüksek faydalılık değerine
karşı gelen uygun atama örneği
Yazı
İşleri
Haberleşme
Bilgisayar
Yazılımı
Ahmet
0
0
1
Mehmet
1
0
0
Hasan
0
1
0
Tablo 5.5’te verilen atamanın faydalılık değeri:
7 + 6 + 11 = 24
Tablo 5.1’deki veriyi incelediğimizde, en yüksek
faydalılık değerini sağlayan bir atamanın daha olduğu görülmektedir. Bu durum, en yüksek faydalılık değerini iki farklı atama örneği sağladığından,
bir alternatif çözüm olarak değerlendirilmektedir.
Örnek 5.1’e ait alternatif çözüm, yani alternatif en
iyi atama örneği Tablo 5.6’da açıklanmıştır.
Tablo 5.6 Örnek 5.1’e ait alternatif çözüm örneği
Yazı
İşleri
Haberleşme
Ahmet
0
0
Bilgisayar
Yazılımı
1
Mehmet
0
1
0
Hasan
1
0
0
dikkat
Bir atama probleminde en yüksek toplam faydalılık (veya verimlilik) değerine karşı gelen birden
fazla uygun atama örneği varsa, bunların her birine alternatif çözümler denir.
131
5
Atama Problemleri
Bu bölümde atama problemlerinin genel tanımını, tablo şeklindeki yorumunu, uygun çözümlerini ve en iyi çözümünün nasıl tanımlandığını ve
seçenek sayısının çok da büyük olmadığı problemlerin en iyi çözümlerinin deneme yöntemi ile nasıl
bulunabileceğini öğrendik. Daha önceki bölümlerde de defalarca, yöneylem araştırmasının en önemli ve üstün özelliklerinden biri olarak, yöneylem
araştırması kapsamında ele alınan problemlerin
matematiksel modelinin oluşturularak mümkünse
kesin çözüm yöntemleri de uygulanarak en iyi çözümlerinin bulunması şeklinde vurgulamıştık. Bu
kapsamda, önümüzdeki bölümlerde önce atama
probleminin matematiksel modelini, daha sonra
ise bu problem tipi için bir kesin çözüm yöntemini
öğreneceğiz.
Öğrenme Çıktısı
1 Atama probleminin tanımını ve uygun çözümlerini açıklayabilme
Araştır 1
Aşağıdaki problemi araştırınız. Bu problemin, neden
bir atama problemi olduğunu, toplam uygun çözüm
sayısını araştırınız. Sizce
amaç fonksiyonunu en büyük yapan bir uygun çözüm
belirleyiniz. Amaç fonksiyonuna, belirlemiş olduğunuz
bu uygun çözüm ile aynı
değeri sağlayan başka bir
uygun çözümün var olup
olmadığını araştırınız.
İlişkilendir
Anlat/Paylaş
Atama problemi ile Ulaştırma problemlerini ve bu
problemlerin uygun çözümlerini
karşılaştırınız,
benzerlik ve ve farklılıklarını yorumlayın.
Sınıfınızda eğitim gören
arkadaşlarınız ile atanabileceğiniz pozisyonları araştırarak bir atama problemi
oluşturun ve bu problem
için bir uygun çözüm bulun. Olası en iyi çözüm seçeneğini nasıl bulabileceğinizi tartışın.
Mert, Gül, Zeren ve Onur, eğitim gördükleri Lojistik Bölümünden mezun olmaya hazırlanıyorlar
ve bu sırada bir fabrikada boş bulunan 4 pozisyon için başvuruda bulunuyorlar. Bu pozisyonlar
sırası ile Planlama, Depo Yönetimi, İnsan Kaynakları ve Tedarik Zinciri Birimlerinde bulunmaktadır. Fabrika ve ilgili birimlerin yönetimi, başvuran öğrencilerin transkriptinde bulunan notlarını
kullanarak, her bir mezun adayının ilgili birimler için uygunluk göstergelerini hesaplıyorlar. Bu
göstergeler aşağıdaki tabloda yer almaktadır:
Tablo 5.1.1 Araştır 5.1’e ait veri tablosu.
Planlama (P)
Depo Yönetimi (DY)
İnsan Kaynakları (İK)
Tedarik Zinciri (TZ)
Mert
4
2
1
5
Gül
5
6
2
6
Onur
6
7
8
1
Zeren
3
7
6
3
132
5
Yöneylem Araştırması
ATAMA PROBLEMİNİN MATEMATİKSEL MODELİ
Ele alınan bir problem için aşağıdaki kurallara uyulması, bu problemin matematiksel modelinin oluşturulmasında kolaylık sağlayacak ve dahası bu modelin kolay anlaşılmasını da sağlayacaktır.
• Probleme ait verilerin bir parametre kümesi şeklinde tanımlanması ve parametrelerin tanımlanması
için kullanılan indis kümelerinin belirlenmesi.
• Karar değişkenlerinin belirlenmesi ve açık bir şekilde tanımlanması.
• Parametre ve karar değişkenlerini tanımlarken, aynı indislerin hep aynı parametre ve aynı karar
değişkenleri için kullanılması.
• Problemin sözel tanımının kullanılarak, amaç fonksiyonu veya amaç fonksiyonlarının ve kısıtlarının, karar değişkenleri ve parametreler kullanılarak matematiksel olarak formüle edilmesi.
Şimdi bu kuralları uygulayalım ve atama probleminin matematiksel modelini oluşturalım.
Atama problemine ait indis kümeleri ve parametreler:
• Atanacaklar: i = 1, ..., n;
• Görevler: j = 1, ..., n;
• cij = i . atanacağın j. göreve atanmasının maliyeti. Örneğin, i. atanacağın j. görevi yapma maliyeti
Atama problemine ait karar değişkenleri:
• xij = {1, eğer i. atanacak j. göreve atanırsa; 0, diğer durumlardan}
Problemin sözel tanımında, cij parametreleri, i atanacağın j görevi yapma
dikkat
maliyeti olarak tanımlandığından, amaç fonksiyonumuz toplam maliyetin Atama problemin karar deen küçüklenmesi olarak ifade edilmelidir. Bu sebepten, problemin amaç fonk- ğişkenleri sadece 0 veya 1
siyonu aşağıdaki şekilde formüle edilecektir:
değeri alabildiğinden, bu
En küçükle f (x) = ∑
n
i=1
cij xij
Şimdi ise, atama problemin tanımında talep edilen, “her atanacak sadece
bir göreve atanmalı” ve “her bir görev sadece bir atanacak tarafından yapılmalı” koşullarını matematiksel olarak ifade edelim.
Her atanacak sadece bir göreve atanmalı:
n
∑ xij =1, her j =1,...,n .
i=1
Bu eşitlik, her bir j = 1, ..., n görevi için, tüm atanacaklar içinde sadece
bir tane i indisine karşı gelen xij değişkeninin 1 değeri almasına izin verecek,
diğerlerinin değeri 0 olacaktır.
Her bir görev sadece bir atanacak tarafından yapılmalı koşulu aşağıdaki
şekilde ifade edilebilir:
problem bir doğrusal programlama problemi değildir,
sebebi ise bir doğrusal programlama probleminin karar
değişkenlerinin sağlaması
gereken
“Bölünebilirlik
Varsayımının” sağlanmaması (bakınız, kitabımızın
2. bölümü, Doğrusal Programlamanın Varsayımları).
Karar değişkenlerinin bu
özelliğinden dolayı, Atama
problemi 0 – 1 programlama problemi olarak adlandırılmaktadır.
n
∑ x
ij =1, her i=1,...,n .
j=1
Bu eşitlik, her bir i = 1, ..., n atanacağı için, tüm görevler içinde sadece bir tane j indisine karşı gelen
xij değişkeninin 1 değeri almasına izin verecek, diğerlerinin değeri 0 olacaktır.
133
5
Atama Problemleri
Şimdi tüm formülasyonları bir araya getirerek, atama probleminin matematiksel modelini aşağıdaki
şekilde toparlayabiliriz:
n
∑i=1 xij =1, her j =1,...,n ,
n
∑ xij =1, her i=1,...,n
,
j=1
xij ∈
{0, 1} ,i=1,..., j =1,...,n ,
kısıtları altında
n
En küçükle f (x)= ∑
i=1
cij xij .
Tablo 5.7 Örnek 5.1’e ait veri tablosu
Atama probleminde herhangi bir “(atanacak-göYazı
Bilgisayar
Haberleşme
rev)” veya eşdeğer bir şekilde bir (i, j) çifti incelendiYazılımı
İşleri
ğinde, her bir i atanacağı için sadece bir j değerinde
5
4
7
ve tersine her bir j görevi için sadece bir i değerinde, Ahmet
xij karar değişkeni 1 değerini alacak ve sadece bu (i, j)
çiftlerine karşı gelen cij değerleri amaç fonksiyonuna Mehmet
6
7
3
katkı sağlayacaktır. Bu yüzden toplam “katkı” (faydalılık veya maliyet) sadece xij = 1 durumları için hesap- Hasan
10
11
2
lanmış olacaktır.
Şimdi, bu genel matematiksel modeli yukarıda incelediğimiz Örnek 5.1 üzerinde açıklayalım.
Önce problemin verilerinin açıklandığı tabloyu hatırlayalım:
Bu problemin matematiksel modelini daha kolay oluşturabilmek ve yorumlayabilmek için veri tablosunu, karar değişkenlerini de içerecek şekilde genişletelim:
Tablo 5.8 Örnek 5.1’e ait genişletilmiş veri tablosu
Ahmet
Mehmet
Hasan
Alınacak
atanacak
sayısı
134
Yazı işleri
Haberleşme
Bilgisayar Yazılımı
5
4
7
x11
x12
x13
6
7
3
x21
x22
x23
8
11
2
x31
x32
x33
1
1
1
Talip Olunacak
Görev Sayısı
1
1
1
5
Yöneylem Araştırması
Bu tablodaki xij değerleri i. adayın j. göreve atanması durumunu gösteriyor. Örneğin, tablodaki x21
değişkeni, Mehmet’in yazı işleri görevine atanıp atanmayacağı durumunu ifade ediyor. “Mehmet” atanacağı bu tablonun ikinci satırında, ”Yazı işleri” görevi ise birinci sütununda yer aldığından bu durumla ilgili
değişken x21 olarak ifade edilmiştir. Bu değişkenin 1’e eşit olması, Mehmet’in yazı işleri görevine atanması,
0 ise atanmaması durumunu ifade etmektedir. Dolayısıyla her aday tek bir göreve atanabilir ve her göreve
tek bir aday atana bilmektedir.
Söylediklerimizi toparlarsak, bu problemin matematiksel modelini aşağıdaki şekilde oluşturabiliriz.
x11 + x12 + x13 = 1 (Ahmet öngörülen üç görevden birine atanacak)
x21 + x22 + x23 = 1 (Mehmet öngörülen üç görevden birine atanacak)
x31 + x32 + x33 = 1 (Hasan öngörülen üç görevden birine atanacak)
x11 + x21 + x31 = 1 (Yazı işleri görevine, öngörülen üç adaydan sadece biri atanabilecek)
x12 + x22 + x32 = 1 (Haberleşme görevine, öngörülen üç adaydan sadece biri atanabilecek)
x13 + x23 + x33 = 1 (Bilgisayar yazılımı görevine, öngörülen üç adaydan sadece biri atanabilecek)
xij ∈ {0, 1} i = 1, 2, 3, j = 1, 2, 3,
kısıtları altında
En büyükle f (x) = 5x11 + 4x12 + 7x13 + 6x21 + 7x22 + 3x23 + 8x31 + 11x32 + 2x33
Tablo 5.9 Örnek 5.1’deki problemin en iyi çözümü
Yazı İşleri
Haberleşme
Bilgisayar Yazılımı
Ahmet
x11 = 0
x12 = 0
x13 = 1
Mehmet
x21 = 1
x22 = 0
x23 = 0
Hasan
x31 = 0
x32 = 1
x33 = 0
Bu durum, Ahmet’in bilgisayar yazılımı görevine (x13 = 1), Mehmet’in yazı işleri görevine (x21 = 1),
Hasan’ın da haberleşme görevine (x32 = 1) atanmasının uygun olduğunu gösteriyor. Böylece, en yüksek
faydalılık değeri de bu atamaya karlı gelmektedir:
7x13 + 6x21 + 11x32 = 7 × 1 + 6 × 1 + 11 × 1 = 24.
135
5
Atama Problemleri
Öğrenme Çıktısı
2 Atama probleminin matematiksel modelini açıklayabilme
Araştır 2
İlişkilendir
Anlat/Paylaş
Araştır 1’de tarif edilen ve
aşağıdaki hatırlatılan problemin matematiksel modelini oluşturunuz ve karar
değişkenlerine, bu probleme
uygun çözüm olacak örnek değerler atayınız. Amaç
fonksiyonuna, belirlemiş olduğunuz bu uygun çözüm
ile aynı değeri sağlayan başka
bir uygun çözümün var olup
olmadığını araştırınız.
Atama problemi ile Ulaştırma problemlerinin matematiksel
modellerini
karşılaştırın, benzerlik ve
farklılıklarını yorumlayın.
Sınıfınızda eğitim gören
arkadaşlarınız ile, atanabileceğiniz pozisyonları araştırarak bir atama problemi
oluşturun ve bu problemin
matematiksel
modelini
oluşturun.
Eğitim gördükleri Lojistik Bölümünden mezun olmaya hazırlanan Mert, Gül, Zeren ve Onur, bir
fabrikada boş bulunan 4 pozisyon için başvuruda bulunuyor. Bu pozisyonlar sırası ile Planlama,
Depo Yönetimi, İnsan Kaynakları ve Tedarik Zinciri Birimlerinde bulunmaktadır. Fabrika ve ilgili birimlerin yönetimi, başvuran öğrencilerin transkriptinde bulunan notlarını kullanarak, her bir
mezun adayının ilgili birimler için uygunluk göstergelerini hesaplıyorlar. Bu göstergeler aşağıdaki
tabloda yer almaktadır:
Tablo 5.1.1 Araştır 5.2’ye ait veri tablosu.
Planlama (P)
Depo Yönetimi (DY)
İnsan Kaynakları (İK)
Tedarik Zinciri (TZ)
Mert
4
2
1
5
Gül
5
6
2
6
Onur
6
7
8
1
Zeren
3
7
6
3
136
5
Yöneylem Araştırması
ATAMA PROBLEMİNİN ÇÖZÜMÜ
İÇİN MACAR ALGORİTMASI
Bu bölümde, atama probleminin en iyi çözümünü bulmak için geliştirilen Macar algoritmasını
öğreneceğiz.
Macar algoritması, bu bölümde açıklanan şekli ile amaç fonksiyonu en küçükleme olan atama
problemlerinin çözümünü bulmak için tasarlanmıştır. Fakat bu algoritmayı aşağıdaki geçiş formülü kullanılarak kolaylıkla enbüyükleme problemlerini çözmek için de uyarlayabiliriz.
En büyükleme ve en küçükleme problemleri
arasında eş değer dönüşüm formülü:
Enb f(x) = –Enk (– f (x))
veya
– Enb f(x) = Enk (– f (x))
Bu dönüştürme formülü şu anlama gelmektedir: en küçükleme algoritmasını, amaç fonksiyonu
en büyükleme olan bir probleme uygulamak için,
bu algoritmayı önce amaç fonksiyonunu (–1) ile
çarparak, amaç fonksiyonunu en küçükleyecek
şekilde uygulayacak, en sonda algoritma tamamlanınca da elde edilen en iyi amaç fonksiyonu değerini (–1) ile çarparak enbüyükleme probleminin en
iyi değerini elde edeceğiz.
Macar algoritması, problemin maliyet tablosu
(problemin vij değerlerinin yer aldığı veri tablosu)
üzerinde çalıştırılıyor. Maliyet tablosunda satır ve
sütun sayıları birbirine eşittir.
Macar Algoritması
1. Her satırdaki en küçük sayıyı (maliyeti) o
satırın tüm diğer sayılarından (maliyetlerinden) çıkartıyoruz. Bu işleme satır indirgeme
işlemi denir. Böylece, “0”lar içeren bir tablo
elde ediyoruz.
2. Eğer oluşmuş tablo her satır ve her sütununda
en az bir tane 0 elemana sahip değilse, o zaman
her sütundaki en küçük sayıyı o sütunun diğer
sayılarından çıkartıyoruz. Bu işleme sütun indirgeme denir. Bu şekilde her satırında ve her
sütununda “0”lar olan bir tablo elde ediyoruz.
3. Satır ve sütun indirgeme işlemi yapılmış tablodaki sıfırları en az sayıda yatay ve dikey çizgilerle kapatıyoruz. Eğer bu çizgilerin sayısı
satır veya sütun sayısına eşit ise, en iyi çözüme
ulaşılmıştır demektir. Eğer çizgi sayısı satır ve
sütun sayısından az ise algoritmaya aşağıdaki
adımla devam ediyoruz.
4. Doğrularla çizilmiş tablodaki çizilmemiş elemanlardan en küçük olanını diğer çizilmemiş
tüm elemanlardan çıkartıyoruz, üzeri tek
çizgi ile çizilen satır ve sütundaki elemanlar
değişmiyor, fakat bu en küçük sayı, çizgilerin kesiştiği kutucuktaki elemanlara ekleniyor. Böylece, yeni bir tablo elde ediyoruz ve
3. Adımdaki gibi sıfırları en az sayıda yatay
ve dikey çizgilerle kapatıyoruz. Bu şekilde,
tablodaki “0”lar satır veya sütuna eşit sayıda
çizgilerle kapatıldığında algoritma sonlandırılır. Algoritma sonlandırıldığında en iyi atama, sıfır elemanların bulunduğu kutucuklara
atama yapılarak gerçekleştirilir.
dikkat
Algoritma, önce satır indirgeme daha sonra da gerekirse, sütun indirgeme işleminin uygulanabileceği
gibi, önce sütun indirgeme işlemi, daha sonra da gerekirse satır indirgeme işlemi de uygulanabilmektedir.
Şimdi, atama probleminin çözümü için açıkladığımız Macar algoritmasını bir örnek üzerinde
gösterelim:
137
5
Atama Problemleri
Örnek 5.2: Bir fabrikadaki 4 adet makinanın,
bu makinalar için ayrılmış 4 farklı yere yerleştirilmesi istenmektedir. Fabrikada, bu makinalar
arasında sürekli iş akışı gerçekleştiğinden dolayı,
makinalar yerleştirilirken onlar arasındaki toplam
mesafenin olabildiğince küçük olması istenmektedir. Makinaların her birinin yerleştirilmesi gereken
yerler ile arasındaki uzaklıklar Tablo 5.10’da verilmiştir. En iyi yerleştirme şeklini Macar algoritması
ile bulunuz.
Tablo 5.10 Örnek 5.2’ye ait veri tablosu
Makina / Yer
1. Yer
2. Yer
3. Yer
4. Yer
M1
8
6
5
7
M2
6
5
3
4
M3
7
8
4
6
M4
6
7
5
6
Çözüm: Verilen mesafe tablosundaki tüm sayılar sıfırdan farklı pozitif sayılar olduğu için önce
satır indirgeme işlemini yapıyoruz: Her satırdaki
en küçük sayıyı, o satırdaki tüm sayılardan çıkarıyoruz.
• 1. satırın en küçük sayısı 5’i o satırın tüm
sayılarından;
• 2. satırın en küçük sayısı 3’ü 2. satırın tüm
sayılarından;
• 3. satırın en küçük sayısı 4’ü 3. satırın tüm
sayılarından;
• 4. satırın en küçük sayısı 5’i 4. satırın tüm
sayılarından çıkartarak Tablo 5.11’i elde
ediyoruz.
Tablo 5.11 Örnek 5.2’ye ait satır indirgeme işlemi
sonrasında elde edilen tablo
Makina / Yer
1. Yer
2. Yer
3. Yer
4. Yer
M1
3
1
0
2
M2
3
2
0
1
M3
3
4
0
2
M4
1
2
0
1
138
Tabloya göre her satırda 0 sayısı vardır, fakat
her sütunda 0 sayısı yoktur. Bu durumda sütun
indirgeme işlemini yapmamız gerekiyor. Bunun
için Tablo 5.11’de, her sütunun en küçük sayısını o
sütunun diğer sayılarından çıkarmamız gerekiyor.
• 1. sütunun en küçük sayısı 1’i 1. sütunun
tüm sayılarından;
• 2. sütunun en küçük sayısı olan 1’i 2. sütunun tüm sayılarından;
• 3. sütunun tüm elemanları 0 olduğu için 3.
sütun için işlem yapılmasına gerek yoktur
0 – 0 = 0;
• 4. sütunun en küçük sayısı olan 1’i 4. sütunun tüm sayılarından çıkartarak Tablo
5.12’yi elde ediyoruz.
Tablo 5.12 Örnek 5.2’ye ait sütun indirgeme işlemi
sonrasında elde edilen tablo
Makina / Yer
1. Yer
2. Yer
3. Yer
4. Yer
M1
2
0
0
1
M2
2
1
0
0
M3
2
3
0
1
M4
0
1
0
0
Elde ettiğimiz tabloda her satır ve her sütun 0
sayısına sahiptir. O zaman en az sayıda çizgilerle 0
olan satır ve sütunların üzerini çiziyoruz. Eğer çizdiğimiz çizgi sayısı satır veya sütun (satır ve sütun
sayısı birbirine eşittir) sayısına eşitse, o zaman en
iyi atamayı kolaylıkla bulabiliriz, değilse algoritmanın işlemlerine devam etmemiz gerekecekti, bakınız Tablo 5.13 veya 5.14.
Tablo 5.13 Örnek 5.2’ye ait sıfırların yatay çizgilerle
kapatıldığı tablo
Makina / Yer
1. Yer
2. Yer
3. Yer
4. Yer
M1
2
0
0
1
M2
2
1
0
0
M3
2
3
0
1
M4
0
1
0
0
veya
5
Yöneylem Araştırması
Tablo 5.14 Örnek 5.2’ye ait sıfırların dikey çizgilerle
kapatıldığı tablo
Makina / Yer
1. Yer
2. Yer
3. Yer
4. Yer
M1
2
0
0
1
M2
2
1
0
0
M3
2
3
0
1
M4
0
1
0
0
Tablo 5.13 veya eş değer şekilde Tablo 5.14’ te
sıfırların kapatıldığı çizgilerin sayısı satır veya sütun sayısına eşit olduğu için en iyi atamayı, sıfırların bulunduğu satır sütun kesişmesine atayacak
şekilde bulabiliriz. Yani,
• 1.Makina 2. yere,
• 2.Makina 4. yere,
• 3.Makina 3. yere,
• 4.Makina 1. yere atanmalıdır, bakınız Tablo 5.15.
Tablo 5.15 Örnek 5.2’ye ait atama tablosu
Şimdi de amaç fonksiyonunun en büyüklenme olduğu bir probleme, yukarıda açıkladığımız
en büyükleme – en küçükleme eş değer dönüşüm
formülünü kullanarak Macar algoritmasının nasıl
uygulanacağını öğrenelim.
Örnek 5.3: P1, P2, P3, P4 olarak adlandırılan
4 adet projeye talip olan 4 farklı yöneylem araştırması ekibi A, B, C, D olarak isimlendirilmiş ve bu
ekiplerin söz konusu projeler konusunda deneyimetkinlik dereceleri Tablo 5.16’da yer almaktadır.
Her projeye bir ekibin atanacağı ve her bir ekibin
sadece bir projede görev alacağı ve toplam etkinlik
göstergesini en büyükleyecek atamayı Macar algoritmasını kullanarak bulunuz.
Tablo 5.16 Örnek 5.3’e ait veri tablosu
P1
P2
P3
P4
A
4
1
9
3
B
6
3
4
5
Makina / Yer
1. Yer
2. Yer
3. Yer
4. Yer
C
6
7
8
1
M1
2
0
0
1
D
3
7
6
3
M2
2
1
0
0
M3
2
3
0
1
M4
0
1
0
0
Çözüm: “En büyükleme – en küçükleme” eş
değer dönüşüm formülüne göre:
Enb f (x) = –Enk (– f (x))
Toplam en küçük mesafe: 6 + 4 + 4 + 6 = 20.
dikkat
Sütun indirgeme işleminden sonra elde edilen
tabloda her satır ve sütunda birden fazla sıfır
olduğu durumlarda atamanın, problemin temel
koşullarından biri olan her makine bir yere ve
her bir yere de bir makine atanmalı koşulunu
dikkate alarak gerçekleştirilmesi gerekmektedir.
Örneğin, Tablo 5.15’te birinci satırda iki adet
sıfır bulunmaktadır. 1. makinanın 3. yere atanmasına karar verilmek istenseydi, 2. makine için
tek seçenek 4. yer olacaktı. Bu durumda 3. satırda tek sıfır 3. sütunda yer aldığından ve bir yere
iki makine atanamayacağından bu atama, uygun
bir çözüm olmadığından gerçekleşemezdi.
Buna göre, en küçükleme problemlerinin çözümü için tasarlanmış Macar algoritmasını bu probleme uygulamak için önce Tablo 5.16’da yer alan
verileri (–1) ile çarpalım. Yeni veriler Tablo 5.17’de
yer almaktadır.
Tablo 5.17 Örnek 5.3’e ait –1 ile çarpılmış veri tablosu
P1
P2
P3
P4
A
–4
–1
–9
–3
B
–6
–3
–4
–5
C
–6
–7
–8
–1
D
–3
–7
–6
–3
139
5
Atama Problemleri
Şimdi Tablo 5.17’de yer alan veri tablosuna Macar algoritmasının ilk aşaması olan satır indirgeme
işlemini uygulayalım:
• 1. satırın tüm elemanlarından bu satırın en
küçük elemanı olan (– 9)’i çıkartalım;
• 2. satırın tüm elemanlarından bu satırın en
küçük elemanı olan (– 6)’i çıkartalım;
• 3. satırın tüm elemanlarından bu satırın en
küçük elemanı olan (– 8)’i çıkartalım;
• 4. satırın tüm elemanlarından bu satırın en
küçük elemanı olan (– 7)’i çıkartalım.
Satır indirgeme işleminden sonra elde edilen
veriler Tablo 5.18’de yer almaktadır.
Tablo 5.18 Örnek 5.3’e ait satır indirgeme işleminden
sonra elde edilen veri tablosu
P1
P2
P3
P4
A
5
8
0
6
B
0
3
2
1
C
1
0
6
2
D
3
4
0
1
Görüldüğü üzere, Tablo 5.18’in 4. sütununda
sıfır eleman bulunmuyor. Bu yüzden şimdi de her
sütunun en küçük elemanını o sütunun tüm elemanlarından çıkartarak sütun indirgeme işlemini
de gerçekleştirmemiz gerekiyor. Sütun indirgeme
işlemi yapılmış veriler Tablo 5.18’de yer almaktadır. Kurala göre 1, 2, 3 sütunlarda sıfır eleman
bulunduğundan, bu işlem sadece 4. sütuna uygulanmalıdır.
Tablo 5.19 Örnek 5.3’e ait sütun indirgeme işleminden
Şimdi her satır ve sütunda en az bir tane sıfır
bulunduğundan bu sıfırları mümkün olan en az
sayıda çizgi ile kapatma işlemi yapılmalıdır. Tablo
5.19’dan görüldüğü üzere tüm sıfırları kapatacak
en az çizgi sayısı 4’e eşit olduğundan, algoritmayı
sonlandırabiliriz. En iyi atama: A – P3; B – P1;
C – P2; D – P4. Bu atamalara göre, en iyi amaç
fonksiyonu değeri:
–[– (9) + (– 6) + (– 8) + (– 7)] = –[– 30] = 30
Şimdi de Macar algoritması uygulandığında
hem satır indirgeme hem de sütun indirgeme işlemlerinden sonra tüm tablonun en küçük elemanının diğer elemanlardan çıkarılmasını gerektiren
bir adımın daha yapıldığı bir örnek inceleyelim.
Örnek 5.4: Beş tane atanacak ve beş tane de
görevin bulunduğu bir atama problemine ait maliyet verileri (her bir atanacağın her bir görevi yapma
maliyeti) Tablo 5.20’de yer almaktadır. Bu tabloda
atanacaklar A1, …, A5; görevler ise G1, …, G5
olarak işaretlenmiştir. Toplam maliyeti en küçükleyecek uygun atama seçeneğini Macar algoritması
uygulayarak bulunuz.
Tablo 5.20 Örnek 5.4’e ait veri tablosu
G1
G2
G3
G4
G5
A1
15
12
16
20
4
A2
14
11
13
19
5
A3
10
16
20
18
6
A4
9
17
21
17
7
A5
7
18
12
15
22
sonra elde edilen veri tablosu
140
P1
P2
P3
P4
A
5
8
0
5
B
0
3
2
0
C
1
0
6
1
D
3
4
0
0
Çözüm: Hatırlatalım ki, Macar algoritması uygulanırken, ilk olarak satır veya sütun indirgeme ile
başlamanın, en iyi çözüm açısından hiçbir önemi
bulunmamaktadır. Bu sefer ilk olarak sütun indirgeme işlemi ile başlayalım, yani her bir sütunda
bulunan en küçük sayı o sütunun tüm elemanlarından çıkartılıyor, bakınız, Tablo 5.21.
5
Yöneylem Araştırması
Tablo 5.21 Örnek 5.4’e ait sütun indirgeme işleminden
Tablo 5.23 Örnek 5.4’e ait 2. iterasyondan sonra
sonra elde edilen veri tablosu
sıfırların çizgilerle kapatıldığı veri tablosu
G1
G2
G3
G4
G5
A1
8
1
4
5
0
A2
7
0
1
4
A3
3
5
8
A4
2
6
A5
0
7
G1
G2
G3
G4
G5
A1
8
1
4
5
0
1
A2
7
0
1
4
1
3
2
A3
1
3
6
1
0
9
2
3
A4
0
4
7
0
1
0
0
18
A5
0
7
0
0
18
Tablo 5.21’i incelediğimizde her satır ve sütunda sıfır bulunmadığını görüyoruz. Bu durum,
satır indirgeme işleminin de yapılması gerektiğini göstermektedir. Yani, her bir satırın en küçük
elemanı o satırın tüm elemanlarından çıkartılıyor.
İlk iterasyonda sütun indirgeme işleminden sonra
sıfır eleman bulunan satıra (sıfır en küçük negatif olmayan sayı olduğundan) bu işlem uygulanmamaktadır. İlgili işlem sonrası Tablo 5.22 elde
edilir.
Tablo 5.22 Örnek 5.4’e ait 2. iterasyonda satır
indirgeme işleminden sonra elde edilen veri tablosu
G1
G2
G3
G4
G5
A1
8
1
4
5
0
A2
7
0
1
4
1
A3
1
3
6
1
A4
0
4
7
A5
0
7
0
Tablo 5.23’te sıfırların kapatılması için gereken
en az sayıda çizgi sayısı 5 olmadığından, bu tablo en iyi çözümü belirlemek için yeterli değildir.
Algoritmaya göre bir iterasyon daha yapılmalıdır.
Bu kez, Tablo 5.23’te, üzeri çizilmemiş tüm sayılar içerisinde en küçük olan sayı (bu sayı 1), yine
de üzeri çizilmemiş tüm sayılardan çıkartılıyor ve
üzeri iki kez çizilmiş (çizgilerin kesişim noktasında
bulunan) sayılara ise ekleniyor, tablodaki diğer sayılar değiştirilmiyor. Bu iterasyon sonucu elde edilen veriler Tablo 5.24’te yer almaktadır.
Tablo 5.24 Örnek 5.4’e ait 3. iterasyonda elde edilen
veri tablosu
G1
G2
G3
G4
G5
A1
7
1
3
4
0
A2
6
0
0
3
1
0
A3
0
3
5
0
0
0
1
A4
0
5
7
0
2
0
18
A5
0
8
0
0
19
Şimdi Tablo 5.22’nin her satır ve her sütununda en az bir tane sıfır bulunmaktadır. Algoritmaya
göre, bu sıfırları kapatacak en az sayıda doğru çizgi (yatay ve/veya dikey doğrular kullanılmaktadır)
bulma işlemi uygulandığında 4 adet çizgi ile tüm
sıfırların kapatılabileceğini görüyoruz. Bu ise henüz en iyi çözümü bulmak için yeterli olmadığını
göstermektedir, bakınız Tablo 5.23.
Bu iterasyondan sonra elde edilen Tablo 5.24’te
tüm sıfırları kapatacak en az sayıda çizgi sayısının
5 olduğunu görüyoruz. Bu durum, en iyi çözümün
belirlenmesi için yeterli olduğunu ve algoritmanın sonlandırılabileceğini göstermektedir. En iyi
çözüm seçeneklerinden bir tanesi, Tablo 5.24’te
kırmızı ile işaretlenmiş sıfırların bulunduğu atama
olabilir:
141
5
Atama Problemleri
x15 = 1, x22 = 1, x34 = 1, x41 = 1, x53 = 1.
Bu çözüme göre, A1 elemanı G5 görevine, A2 elemanı G2 görevine, A3 elemanı G4 görevine, A4 elemanı G1 görevine, A5 elemanı ise G3 görevine atanacak, bu atamanın maliyeti ise
4 + 11 + 18 + 9 + 12 = 54.
Tablo 5.24’deki sıfırlara dikkat edildiğinde bir alternatif (en iyi) çözümün daha var olduğunu görebiliriz. Bu çözümü gösteren sıfır elemanlar, Tablo 5.25’te kırmızı ile işaretlenmiştir.
Tablo 5.25 Örnek 5.4’e ait, alternatif çözüm seçeneği
G1
G2
G3
G4
G5
A1
7
1
3
4
0
A2
6
0
0
3
1
A3
0
3
5
0
0
A4
0
5
7
0
2
A5
0
8
0
0
19
Alternatif atama seçeneği aşağıda gösterilmiştir:
x15 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1.
Bu çözüme göre, A1 elemanı G5 görevine, A2 elemanı G2 görevine, A3 elemanı G1 görevine, A4
elemanı G4 görevine, A5 elemanı ise G3 görevine atanacak ve bu atamanın da maliyeti ilk çözümle aynı
olacaktır:
4 + 11 + 10 + 17 + 12 = 54.
142
5
Yöneylem Araştırması
Öğrenme Çıktısı
3 Atama probleminin en iyi çözümünü bulabilmek için Macar algoritmasını açıklayabilme
Araştır 3
İlişkilendir
Anlat/Paylaş
Araştır 1’de tarif edilen ve
aşağıdaki hatırlatılan problemin en iyi çözümünü Macar
algoritmasını uygulayarak
bulunuz.
Atama problemi ile Ulaştırma problemlerinin en iyi
çözümlerini bulmak için
öğrendiğiniz algoritmaları
karşılaştırın, benzerlik ve
farklılıklarını yorumlayın.
Sınıfınızda eğitim gören
arkadaşlarınız ile atanabileceğiniz pozisyonları araştırarak bir atama problemi
oluşturunuz ve bu problemin en iyi çözümünü Macar algoritmasını uygulayarak belirleyin.
Eğitim gördükleri Lojistik Bölümünden mezun olmaya hazırlanan Mert, Gül, Zeren ve Onur, bir
fabrikada boş bulunan 4 pozisyon için başvuruda bulunuyor. Bu pozisyonlar sırası ile Planlama,
Depo Yönetimi, İnsan Kaynakları ve Tedarik Zinciri Birimlerinde bulunmaktadır. Fabrika ve ilgili birimlerin yönetimi, başvuran öğrencilerin transkriptinde bulunan notlarını kullanarak, her bir
mezun adayının ilgili birimler için uygunluk göstergelerini hesaplıyorlar. Bu göstergeler aşağıdaki
tabloda yer almaktadır:
Tablo 5.1.1 Araştır 3’ye ait veri tablosu.
Planlama (P)
Depo Yönetimi (DY)
İnsan Kaynakları (İK)
Tedarik Zinciri (TZ)
Mert
4
2
1
5
Gül
5
6
2
6
Onur
6
7
8
1
Zeren
3
7
6
3
143
5
Atama Problemleri
öğrenme çıktıları ve bölüm özeti
1
Atama probleminin tanımını ve
uygun çözümlerini açıklayabilme
Atama Probleminin Tanımı ve
Uygun Çözümleri
Bu bölümde, yöneylem araştırmasında özel bir yere sahip ve 0 – 1 tamsayılı programlama problemlerinin
de özel bir türü olan atama problemleri öğrenilmiştir. Bu problemlerin uygulama alanları ve nasıl ortaya
çıkabilecekleri, çeşitli örnekler üzerinde aydınlatılmıştır. Atama problemi, bu problemin uygun çözümleri
ve en iyi çözümleri bilimsel olarak tanımlanmıştır. İllüstratif örnekler de kullanılarak, uygun çözümler
içerisinden eldeki çözüme göre daha iyi bir çözümün, en iyi çözümün ve alternatif çözümlerin nasıl seçilebileceği açıklanmıştır.
2
Atama probleminin matematiksel
modelini açıklayabilme
Atama Problemlerinin
Matematiksel Modeli
Bu bölümde, atama probleminin karar değişkenleri, parametre ve indis kümeleri, amaç fonksiyonu, fonksiyonel kısıtları ve karar değişkenlerinin alabileceği değerler için küme kısıtları tanımlanmış ve problemin
matematiksel modeli açıklanmıştır. Problemin uygun çözümleri ve en iyi çözüm kavramları, problemin
matematiksel modeli ile paralel bir şekilde yorumlanmıştır. Bu problem türü her ne kadar doğrusal amaç ve
kısıtlarla tarif edilse de karar değişkenleri sadece 0 – 1 tamsayı değerler alabilecek şekilde kısıtlandığından,
aslında bir doğrusal programlama problemi olmadığı özellikle vurgulanmıştır.
3
Atama probleminin en iyi çözümünü
bulabilmek için Macar algoritmasını
açıklayabilme
Atama Problemlerinin Çözümü
İçin Macar Algoritması
Atama probleminin amaç fonksiyonu ve fonksiyonel kısıtları doğrusal fonksiyonlarla ifade edilmiş olsa
da küme kısıtlarından dolayı, bir doğrusal programlama problemi olmaması vurgulanmış ve bu sebepten
direkt simpleks algoritma uygulanarak çözülemeyeceği ifade edilmiştir. Bu bölümde, atama problemlerinin
en iyi çözümünün bulunması için, bu problemin özel şeklini dikkate alan ve Macar algoritması olarak adlandırılan bir çözüm algoritması öğrenilmiştir. Bu algoritmanın değişik durumlarda nasıl uygulanacağı da
farklı illüstratif örneklerle açıklanmıştır. Sizler için tasarlanmış olan bu örnekler, konunun adım adım daha
iyi anlaşılmasını ve öğrenilmesini sağlayacak şekilde tasarlanmıştır.
144
5
Yöneylem Araştırması
A. Atama problemi
B. Ulaştırma problemi
C. Doğrusal programlama problemi
D. Doğrusal olmayan programlama problemi
E. En kısa yol problemi
2
Araç 1
Araç 2
Araç 3
Araç 4
Araç 5
Depo
2
Depo
3
Depo
4
Depo
5
14
15
12
10
9
13
12
17
19
18
17
14
18
17
13
19
17
16
15
12
7
8
9
10
15
Bir fabrikadaki lojistik yöneticisi, mevcut planlama
periyodunda, 5 tane depodaki ürünlerin farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını sağlamak
için filodaki 5 aracı kullanmak istemektedir. Her bir
depoya sadece bir araç hizmet verecek fakat her bir
araç hizmet verdiği depodan aldığı ürünleri 5 tane
dükkânın taleplerine göre hepsine dağıtımı sağlayacaktır. Her bir depo ile dükkânlar arasındaki mesafeleri ve araçların teknik kapasitelerini inceleyen yönetici her bir depodan taşınacak ürünler için sadece bir
araç kullanmak istemekte fakat bu araçları seçerken
de toplam ulaştırma maliyetinin en düşük olmasını
istemektedir. Her bir aracın her bir depodan gerçekleştireceği taşıma için ilgili maliyetler Tablo 5.26’da
verilmiştir. Mevcut mesafe, teknik imkânlar ve planlama periyodunun süresi de bir aracın iki farklı depoya hizmet vermesini mümkün kılmadığına göre
bu atama probleminin tablo şeklinde tanımlanmış
bir uygun çözümü aşağıdaki şıklardan hangisinde
doğru gösterilmiştir?
Depo
2
Depo
3
Depo
4
Depo
5
Araç 1
0
0
0
1
0
Araç 2
1
0
0
0
1
Araç 3
0
1
0
0
0
Araç 4
0
0
0
1
0
Araç 5
0
0
1
0
0
Depo
1
Depo
2
Depo
3
Depo
4
Depo
5
B.
Araç 1
0
0
0
1
0
Araç 2
1
0
0
0
0
Araç 3
0
1
0
0
0
Araç 4
0
0
0
0
1
Araç 5
0
0
1
0
0
Depo
1
Depo
2
Depo
3
Depo
4
Depo
5
C.
Tablo 5.26 Alıştırma 2’ye ait veri tablosu
Depo
1
Depo
1
neler öğrendik?
1 Bir fabrikadaki lojistik yöneticisi, mevcut planlama periyodunda, 5 tane depodaki ürünlerin farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını sağlamak için
filodaki 5 aracı kullanmak istemektedir. Her bir depoya
sadece bir araç hizmet verecek fakat her bir araç hizmet
verdiği depodan aldığı ürünleri 5 tane dükkânın taleplerine göre hepsine dağıtımı sağlayacaktır. Her bir depo
ile dükkânlar arasındaki mesafeleri ve araçların teknik
kapasitelerini inceleyen yönetici her bir depodan taşınacak ürünler için sadece bir araç kullanmak istemekte
fakat bu araçları seçerken de toplam ulaştırma maliyetinin en düşük olmasını istemektedir. Mevcut mesafe,
teknik imkânlar ve planlama periyodunun süresi de
bir aracın iki farklı depoya hizmet vermesini mümkün
kılmadığına göre bu problem türü aşağıdaki şıklardan
hangisinde doğru gösterilmiştir?
A.
Araç 1
0
0
0
1
0
Araç 2
1
0
0
0
0
Araç 3
0
1
0
0
1
Araç 4
0
0
0
1
0
Araç 5
0
0
1
0
0
Depo
1
Depo
2
Depo
3
Depo
4
Depo
5
0
0
0
1
0
D.
Araç 1
Araç 2
1
0
0
0
0
Araç 3
0
1
0
0
0
Araç 4
1
0
0
1
0
Araç 5
0
0
1
0
0
Depo
1
Depo
2
Depo
3
Depo
4
Depo
5
Araç 1
0
0
0
1
0
Araç 2
1
0
0
0
1
Araç 3
1
1
0
0
0
Araç 4
0
0
0
1
0
Araç 5
0
0
1
0
0
E.
145
5
Atama Problemleri
3
neler öğrendik?
Tablo 5.27 Neler Öğrendik Alıştırma 3’e ait
bir atama tablosu
Depo
1
Depo
2
Depo
3
Depo
4
Depo
5
Araç 1
0
0
1
0
0
Araç 2
1
0
0
0
0
Araç 3
0
1
0
0
0
Araç 4
0
0
0
0
1
Araç 5
0
0
0
1
0
Bir fabrikadaki lojistik yöneticisi, mevcut planlama
periyodunda, 5 tane depodaki ürünlerin farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını sağlamak
için filodaki 5 aracı kullanmak istemektedir. Her
bir depoya sadece bir araç hizmet verecek fakat her
bir araç hizmet verdiği depodan aldığı ürünleri 5
tane dükkânın taleplerine göre hepsine dağıtımı
sağlayacaktır. Her bir depo ile dükkânlar arasındaki mesafeleri ve araçların teknik kapasitelerini inceleyen yönetici her bir depodan taşınacak ürünler
için sadece bir araç kullanmak istemekte fakat bu
araçları seçerken de toplam ulaştırma maliyetinin
en düşük olmasını istemektedir. Her bir aracın her
bir depodan gerçekleştireceği taşıma için ilgili maliyetler Tablo 5.26’da verilmiştir. Mevcut mesafe,
teknik imkânlar ve planlama periyodunun süresi
de bir aracın iki farklı depoya hizmet verilmesinin
mümkün olmadığı bu atama probleminin bir uygun çözümü Tablo 5.27’de verilmiştir. Bu uygun
çözüme karşı gelen amaç fonksiyonu değeri aşağıdaki şıklardan hangisinde doğru gösterilmiştir?
A. 59
C. 70
E. 78
B. 65
D. 71
4 Tablo 5.28 Neler Öğrendik Alıştırma 4’e ait
veri tablosu
146
1.
2.
3.
4.
5.
Görev
Görev
Görev
Görev
Görev
1. eleman
3
7
8
4
6
2. eleman
4
8
7
5
6
3. eleman
5
7
9
10
7
4. eleman
4
6
8
6
8
5. eleman
6
9
10
7
9
Bir atölye yöneticisi, atölyedeki 5 elemanı 5 farklı
işi yapmak için görevlendirmek istemektedir. Elemanların her biri bu işleri yapabilmekte fakat her
bir işin, farklı elemanlar tarafından yapılış süreleri farklı olabilmektedir. Bu süreler Tablo 5.28’de
gösterilmiştir. Atölye yöneticisi bu 5 işin 5 eleman
tarafından toplam en kısa sürede, her bir eleman
sadece bir işi yapacak şekilde ve her bir işin sadece
bir elemana atanacak şekilde yapılmasını planlamak
istediğine göre bu problemin matematiksel modelini oluşturabilmek için gereken karar değişkenleri
aşağıdaki şıklardan hangisinde doğru gösterilmiştir?
A. xi = {1, eğer i. eleman bir işe atanırsa, 0, diğer
durumlarda.
B. xj = {1, eğer j. işe bir eleman atanırsa, 0, diğer
durumlarda.
C. xij = {1, eğer i. eleman j. işe atanırsa, 0, diğer
durumlarda.
D. xij = {1, eğer i. eleman j. işi 1 saatte yapıyorsa,
0, diğer durumlarda.
E. xij = i. elemanın j. işi yapma süresi.
5 Bir fabrikadaki lojistik yöneticisi, mevcut
planlama periyodunda, 5 tane depodaki ürünlerin
farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını sağlamak için filodaki 5 aracı kullanmak istemektedir. Her bir depoya sadece bir araç hizmet
verecek fakat her bir araç hizmet verdiği depodan
aldığı ürünleri 5 tane dükkânın taleplerine göre
hepsine dağıtımı sağlayacaktır. Her bir depo ile
dükkânlar arasındaki mesafeleri ve araçların teknik
kapasitelerini inceleyen yönetici her bir depodan
taşınacak ürünler için sadece bir araç kullanmak istemekte fakat bu araçları seçerken de toplam ulaştırma maliyetinin en düşük olmasını istemektedir.
Her bir aracın her bir depodan gerçekleştireceği taşıma için ilgili maliyetler TABLO 5.20’de verilmiştir. Mevcut mesafe, teknik imkânlar ve planlama
periyodunun süresi de bir aracın iki farklı depoya
hizmet vermesini mümkün kılmadığına göre bu
atama probleminin, karar değişkenleri cinsinden
yazılmış ve sadece değeri 1’e eşit olan değişkenlerin
belirtildiği bir uygun çözümü aşağıdaki şıklardan
hangisinde doğru gösterilmiştir?
A. x15 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1
B. x14 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1
C. x15 = 1, x23 = 1, x31 = 1, x44 = 1, x53 = 1
D. x15 = 1, x22 = 1, x33 = 1, x44 = 1, x53 = 1
E. x15 = 1, x22 = 1, x31 = 1, x44 = 1, x55 = 1
5
Yöneylem Araştırması
6
1. seçenek: x15 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1
Bir fabrikadaki lojistik yöneticisi, mevcut planlama
periyodunda, 5 tane depodaki ürünlerin farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını sağlamak
için filodaki 5 aracı kullanmak istemektedir. Her
bir depoya sadece bir araç hizmet verecek fakat her
bir araç hizmet verdiği depodan aldığı ürünleri 5
tane dükkânın taleplerine göre hepsine dağıtımı
sağlayacaktır. Her bir depo ile dükkânlar arasındaki
mesafeleri ve araçların teknik kapasitelerini inceleyen yönetici her bir depodan taşınacak ürünler için
sadece bir araç kullanmak istemekte fakat bu araçları seçerken de toplam ulaştırma maliyetinin en
düşük olmasını istemektedir. Her bir aracın her bir
depodan gerçekleştireceği taşıma için ilgili maliyetler Tablo 5.20’de verilmiştir. Mevcut mesafe, teknik imkânlar ve planlama periyodunun süresi de
bir aracın iki farklı depoya hizmet vermesini mümkün kılmadığına göre bu atama probleminin, karar
değişkenleri cinsinden yazılmış ve sadece değeri
1’e eşit olan değişkenlerin belirtildiği iki seçenek
hakkında yazılanlar aşağıdaki şıklardan hangisinde
doğruyu belirtmektedir?
A. 1. seçenek uygun çözümü, 2. seçenek ise uygun
olmayan çözümü göstermektedir.
B. 1. seçenek uygun olmayan çözümü, 2. seçenek
ise uygun çözümü göstermektedir.
C. Her iki seçenek uygun olmayan çözümü göstermektedir.
D. Her iki seçenek uygun çözümü göstermekte,
fakat 2. seçenek, 1. seçeneğe göre daha iyi bir
uygun çözümü göstermektedir.
E. Her iki seçenek uygun çözümü göstermekte,
fakat 1. seçenek, 2. seçeneğe göre daha iyi bir
uygun çözümü göstermektedir.
7 Bir fabrikadaki lojistik yöneticisi, mevcut
planlama periyodunda, 5 tane depodaki ürünlerin
farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını
sağlamak için filodaki 5 aracı kullanmak istemektedir. Her bir depoya sadece bir araç hizmet verecek fakat her bir araç hizmet verdiği depodan aldığı
ürünleri 5 tane dükkânın taleplerine göre hepsine
dağıtımı sağlayacaktır. Her bir depo ile dükkânlar
arasındaki mesafeleri ve araçların teknik kapasitelerini inceleyen yönetici her bir depodan taşınacak
A. Tablodaki tüm sıfırlar 4 adet çizgi ile kapatılabildiğinden, bu tablo en iyi çözümü göstermemektedir. Algoritmaya devam edilmelidir.
Araç 1
Araç 2
Araç 3
Araç 4
Araç 5
Depo Depo Depo
1
2
3
7
2
6
7
0
2
3
4
5
0
5
3
0
5
0
Depo
4
9
6
4
2
0
Depo
5
0
0
0
0
6
B. Tabloda tüm satır ve sütunlar sıfır eleman içerdiğinden bu tablo en iyi çözümü belirlemek
için yeterlidir. Algoritma sonlandırılabilir.
Araç 1
Araç 2
Araç 3
Araç 4
Araç 5
Depo
1
Depo
2
Depo
3
Depo
4
Depo
5
7
7
3
0
0
2
0
4
5
5
6
2
5
3
0
9
6
4
2
0
0
0
0
0
6
C. Tablodaki tüm sıfırlar 4 adet çizgi ile kapatılabildiğinden, bu tablo en iyi çözümü göstermemektedir. Algoritmaya devam edilmelidir.
Araç 1
Araç 2
Araç 3
Araç 4
Araç 5
Depo Depo Depo
1
2
3
5
1
4
6
0
1
1
3
3
0
6
3
0
6
0
Depo
4
7
5
2
2
0
Depo
5
0
1
0
2
8
147
neler öğrendik?
2. seçenek: x13 = 1, x21 = 1, x32 = 1, x45 = 1, x54 = 1
ürünler için sadece bir araç kullanmak istemekte
fakat bu araçları seçerken de toplam ulaştırma
maliyetinin en düşük olmasını istemektedir. Her
bir aracın her bir depodan gerçekleştireceği taşıma
için ilgili maliyetler Tablo 5.20’de verilmiştir. Mevcut mesafe, teknik imkânlar ve planlama periyodunun süresi de bir aracın iki farklı depoya hizmet
vermesini mümkün kılmadığına göre bu atama
probleminin, en iyi çözümünü bulmak için Macar
algoritmasının ilk iki iterasyonunu, önce satır indirgeme, sonra ise sütun indirgeme şeklinde uygulayınız. İkinci iterasyondan sonra ortaya çıkan veri
tablosu ve ilgili yorum aşağıdaki şıklardan hangisinde doğru belirtilmiştir?
5
Atama Problemleri
neler öğrendik?
D. Tabloda tüm satır ve sütunlar sıfır eleman içerdiğinden bu tablo en iyi çözümü belirlemek
için yeterlidir. Algoritma sonlandırılabilir.
Araç 1
Araç 2
Araç 3
Araç 4
Araç 5
Depo Depo Depo
1
2
3
5
1
4
6
0
1
1
3
3
0
6
3
0
6
0
Depo
4
7
5
2
2
0
Depo
5
0
1
0
2
8
E. Tablodaki tüm sıfırlar 5 adet çizgi ile kapatılabildiğinden, bu tablo en iyi çözümü göstermemektedir. Algoritma sonlandırılabilir.
Araç 1
Araç 2
Araç 3
Araç 4
Araç 5
Depo Depo Depo
1
2
3
0
1
0
6
0
1
1
3
3
0
6
3
0
6
0
Depo
4
7
5
2
2
0
8
Depo
5
0
1
0
2
8
Bir fabrikadaki lojistik yöneticisi, mevcut
planlama periyodunda, 5 tane depodaki ürünlerin
farklı şehirlerdeki 5 tane dükkâna ulaştırılmasını
sağlamak için filodaki 5 aracı kullanmak istemektedir. Her bir depoya sadece bir araç hizmet verecek fakat her bir araç hizmet verdiği depodan aldığı
ürünleri 5 tane dükkânın taleplerine göre hepsine
dağıtımı sağlayacaktır. Her bir depo ile dükkânlar
arasındaki mesafeleri ve araçların teknik kapasitelerini inceleyen yönetici her bir depodan taşınacak
ürünler için sadece bir araç kullanmak istemekte
fakat bu araçları seçerken de toplam ulaştırma maliyetinin en düşük olmasını istemektedir. Her bir
aracın her bir depodan gerçekleştireceği taşıma için
ilgili maliyetler Tablo 5.20’de verilmiştir. Mevcut
mesafe, teknik imkânlar ve planlama periyodunun
süresi de bir aracın iki farklı depoya hizmet vermesini mümkün kılmadığına göre Macar algoritmasını uygulayarak bu atama probleminin en iyi
çözümünü bulunuz. Bu çözüm aşağıdaki şıklardan
hangisinde doğru belirtilmiştir?
A. x15 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1
B. x15 = 1, x22 = 1, x34 = 1, x41 = 1, x53 = 1
C. x12 = 1, x23 = 1, x31 = 1, x44 = 1, x55 = 1
D. x13 = 1, x21 = 1, x32 = 1, x45 = 1, x54 = 1
E. x13 = 1, x22 = 1, x31 = 1, x45 = 1, x54 = 1
148
9
Bir atölye yöneticisi, atölyedeki 5 elemanı
5 farklı işi yapmak için görevlendirmek istemektedir. Elemanların her biri bu işleri yapabilmekte
fakat her bir işin, farklı elemanlar tarafından yapılış süreleri farklı olabilmektedir. Bu süreler Tablo
5.21’de gösterilmiştir. Atölye yöneticisi bu 5 işin
5 eleman tarafından toplam en kısa sürede, her
bir eleman sadece bir işi yapacak şekilde ve her bir
işin sadece bir elemana atanacak şekilde yapılmasını planlamak istediğine göre bu problemin en iyi
çözümünü Macar algoritmasını uygulayarak bulunuz. Bu çözüm aşağıdaki şıklardan hangisinde
doğru belirtilmiştir?
A. x15 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1
B. x15 = 1, x22 = 1, x34 = 1, x41 = 1, x53 = 1
C. x11 = 1, x23 = 1, x35 = 1, x42 = 1, x54 = 1
D. x13 = 1, x21 = 1, x32 = 1, x45 = 1, x54 = 1
E. x13 = 1, x22 = 1, x31 = 1, x45 = 1, x54 = 1
10
Atananlar
1
2
3
4
5
A
61
72
45
55
66
B
69
78
60
49
56
C
59
66
63
61
47
D
31
38
24
32
35
E
30
33
36
32
26
Maliyet tablosu yukarıda verilen atama probleminin en iyi çözümünü Macar Algoritması ile bulunuz. Bu çözüm hangi şıkta doğru belirtilmiştir?
A. x15 = 1, x22 = 1, x31 = 1, x44 = 1, x53 = 1
B. x15 = 1, x22 = 1, x34 = 1, x41 = 1, x53 = 1
C. x11 = 1, x23 = 1, x35 = 1, x42 = 1, x54 = 1
D. x13 = 1, x24 = 1, x35 = 1, x41 = 1, x52 = 1
E. x13 = 1, x22 = 1, x31 = 1, x45 = 1, x54 = 1
5
Yöneylem Araştırması
Yanıtınız yanlış ise “Atama Problemlerinin
Tanımı ve Uygun Çözümleri” konusunu yeniden gözden geçiriniz.
6. E
Yanıtınız yanlış ise “Atama Problemlerinin
Matematiksel Modeli” konusunu yeniden
gözden geçiriniz.
2. B
Yanıtınız yanlış ise “Atama Problemlerinin
Tanımı ve Uygun Çözümleri” konusunu yeniden gözden geçiriniz.
7. A
Yanıtınız yanlış ise “Atama Probleminin Çözümü İçin Macar Algoritması” konusunu
yeniden gözden geçiriniz.
3. D
Yanıtınız yanlış ise “Atama Problemlerinin
Tanımı ve Uygun Çözümleri” konusunu yeniden gözden geçiriniz.
8. B
Yanıtınız yanlış ise “Atama Probleminin Çözümü İçin Macar Algoritması” konusunu
yeniden gözden geçiriniz.
4. C
Yanıtınız yanlış ise “Atama Problemlerinin
Matematiksel Modeli” konusunu yeniden
gözden geçiriniz.
9. C
Yanıtınız yanlış ise “Atama Probleminin Çözümü İçin Macar Algoritması” konusunu
yeniden gözden geçiriniz.
5. A
Yanıtınız yanlış ise “Atama Problemlerinin
Matematiksel Modeli” konusunu yeniden
gözden geçiriniz.
10. D
Yanıtınız yanlış ise “Atama Probleminin Çözümü İçin Macar Algoritması” konusunu
yeniden gözden geçiriniz.
149
neler öğrendik yanıt anahtarı
1. A
5
Atama Problemleri
Araştır Yanıt
Anahtarı
5
Problemde 4 kişi 4 adet pozisyon için başvurduğundan, bu pozisyonlara sadece 1 kişi alınmak istendiğinden ve her bir aday sadece bir göreve atanabileceğinden dolayı, bu bir atama problemidir.
4 tane atanacak ve 4 tane de görev bulunduğundan dolayı toplam 4! = 1 × 2 ×
3 × 4 = 24 adet atama seçeneği, yani, uygun çözüm seçeneği bulunmaktadır.
Her göreve sadece bir öğrenci alınacağından ve her bir öğrenci de sadece bir
göreve atanabileceğinden dolayı, toplam atanma-uygunluk değerini en büyük
yapacak atamayı en azından yaklaşık da olsa belirlemeğe çalışalım. Bunun için,
örneğin ilk satırdan başlayacak olursak, Mert’in en yüksek uygunluk derecesi ile
atanabileceği pozisyonun Tedarik Zinciri birimine denk geldiğini düşünebiliriz.
İkinci satırdaki Gül için uygun seçeneklere bakılırsa sırası ile 5 ve 6 puanlara
sahip Planlama ve Depo Yönetimi birimleri olabileceğini düşünebiliriz. Eğer
Gül için 6 puanlık Depo Yönetimi birimine karar verilirse, bu sefer, Onur ve
Zeren’den hiç birisi 7’şer puana sahip oldukları Depo Yönetimi birimine atanamayacaklar ve toplam uygunluk derecesinin daha düşük olacağı bir seçenek
ortaya çıkmış olacak. Bu yüzden Gül için 5 puanlık Planlama, Onur için 8
puanlık İnsan Kaynakları ve Zeren için de 7 puanlık Depo Yönetimi birimlerine
karar verilirse, her bir satırında ve sütununda sadece bir adet 1, diğer elemanların 0 olduğu aşağıdaki uygun çözüm – atama tablosu ortaya çıkar:
Tablo 5.1.2 Araştır 1’e ait bir uygun çözüm.
Araştır 1
Planlama
(P)
Mert
Gül
Onur
Zeren
0
1
0
0
Depo Yönetimi
(DY)
0
0
0
1
İnsan Kaynakları
(İK)
0
0
1
0
Tedarik Zinciri
(TZ)
1
0
0
0
Bu atamaya karşı gelen uygunluk derecesi ise 5 + 5 + 8 + 7 = 25.
TABLO 5.1.2’deki uygun çözüme ve verilerin yer aldığı TABLO 5.1.1’e bakıldığında, Mert ve Gül için atanma-uygunluk dereceleri toplamının 10 olduğu ve bu
atamaları, Mert’i Planlama, Gül’ü de Tedarik Zinciri birimlerine atayarak, Onur
ve Zeren’in atanma yerlerini değiştirmezsek, yine de aynı uygunluk derecesine sahip fakat farklı bir atama – uygun çözüm elde edilecektir, bakınız TABLO 5.1.3:
Tablo 5.1.3 Araştır 1’e ait farklı bir uygun çözüm.
Planlama
(P)
Mert
Gül
Onur
Zeren
1
0
0
0
Depo Yönetimi
(DY)
0
0
0
1
İnsan Kaynakları
(İK)
0
0
1
0
Tedarik Zinciri
(TZ)
0
1
0
0
Bu atamaya karşı gelen uygunluk derecesi de 4 + 6 + 8 + 7 = 25 bir önceki
ile aynı olduğundan, bir öncekine alternatif bir uygun çözüm elde edilmiştir.
150
5
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
5
Probleme ait parametre ve veriler Tablo 5.1.1 ‘de verildiğinden, biz indis kümelerinin belirlenmesinden başlayabiliriz.
- İndis Kümeleri:
• Atanacaklar: i = 1, 2, 3, 4;
• Görevler: j = 1, 2, 3, 4.
- Matematiksel Model:
x11 + x12 + x13 + x14 = 1
x21 + x22 + x23 + x24 = 1
x31 + x32 + x33 + x14 = 1
x41 + x42 + x43 + x44 = 1
(Mert)
(Gül)
(Onur)
(Zeren)
x11 + x21 + x31 + x41 = 1
x12 + x22 + x32 + x42 = 1
x13 + x23 + x33 + x43 = 1
x14 + x24 + x34 + x44 = 1
(Planlama)
(Depo Yönetimi)
(İnsan Kaynakları)
(Tedarik Zinciri)
xij ∈ {0, 1} i = 1, 2, 3, 4, j = 1, 2, 3, 4
kısıtları altında
En büyükle
Araştır 2
f (x) = 4 x11 + 2 x12 + x13 + 5 x14 + 5 x21 + 6 x22 + 2 x23 + 6 x24 + 6 x31
+ 7 x32 + 8 x33 + x34 + 3x41 + 7 x42 + 6 x43 + 3 x44
Tablo 5.1.2 ‘de verilen bu probleme ait uygun çözüm aşağıdaki şekilde gösterilebilir:
x14 = 1, x21 = 1, x33= 1, x42 = 1 ve diğer tüm indisler için:
x1j = 0, j = 1, 2, 3;
x2j = 0, j = 2, 3, 4;
x3j = 0, j = 1, 2, 4;
x4j = 0, j = 1, 3, 4;
Bu uygun çözüm noktasını x1 ile işaretleyerek amaç fonksiyonunun bu noktadaki değerini aşağıdaki şekilde hesaplayabiliriz:
f (x1) = 5x14 + 5x21 + 8x33 + 7x42 = 5 + 5 + 8 + 7 = 25.
Tablo 5.1.3 ‘de verilen bu probleme ait alternatif uygun çözüm aşağıdaki şekilde gösterilebilir:
x11 = 1, x24 = 1, x33 = 1, x42 = 1 ve diğer tüm indisler için:
x1j = 0, j = 2, 3, 4;
x2j = 0, j = 1, 2, 3;
x3j = 0, j = 1, 2, 4;
x4j = 0, j = 1, 3, 4.
Bu uygun çözüm noktasını x2 ile işaretleyerek amaç fonksiyonunun bu noktadaki değerini aşağıdaki şekilde hesaplayabiliriz:
f (x2) = 4x11 + 6x24 + 8x33 + 7x42 = 4 + 6 + 8 + 7 = 25.
151
5
Atama Problemleri
Araştır Yanıt
Anahtarı
5
“Enbüyükleme – enküçükleme” eşdeğer dönüşüm formülüne göre:
Enb f (x) = – Enk (– f (x)).
Buna göre, en küçükleme problemlerinin çözümü için tasarlanmış Macar algoritmasını bu probleme uygulamak için önce Tablo 5.1.1’de yer alan verileri (-1)
ile çarpalım. Yeni veriler Tablo 5.1.4’te yer almaktadır.
Tablo 5.1.4 Araştır 3’e ait -1 ile çarpılmış veri tablosu.
Planlama
(P)
Mert
Gül
Onur
Zeren
Araştır 3
–4
–5
–6
–3
Depo Yönetimi
(DY)
–2
–6
–7
–7
İnsan Kaynakları
(İK)
–1
–2
–8
–6
Tedarik Zinciri
(TZ)
–5
–6
–1
–3
Şimdi Tablo 5.1.4’te yer alan veri tablosuna Macar algoritmasının ilk aşaması
olan satır indirgeme işlemini uygulayalım:
• 1. satırın tüm elemanlarından bu satırın en küçük elemanı olan (– 5)’i
çıkartalım;
• 2. satırın tüm elemanlarından bu satırın en küçük elemanı olan (– 6)’i
çıkartalım;
• 3. satırın tüm elemanlarından bu satırın en küçük elemanı olan (– 8)’i
çıkartalım;
• 4. satırın tüm elemanlarından bu satırın en küçük elemanı olan (– 7)’i
çıkartalım.
Satır indirgeme işleminden sonra elde edilen veriler Tablo 5.1.5’te yer almaktadır.
Tablo 5.1.5 Araştır 3’e ait problemin satır indirgeme işleminden sonra elde edilen
veri tablosu.
Planlama
(P)
Mert
Gül
Onur
Zeren
1
1
2
4
Depo Yönetimi
(DY)
3
0
1
0
İnsan Kaynakları
(İK)
4
4
0
1
Tedarik Zinciri
(TZ)
0
0
7
4
Görüldüğü üzere, Tablo 5.1.5’in 1. sütununda sıfır eleman bulunmuyor. Bu
yüzden şimdi de her sütunun en küçük elemanını o sütunun tüm elemanlarından çıkartarak sütun indirgeme işlemini de gerçekleştirmemiz gerekiyor.
Sütun indirgeme işlemi yapılmış veriler Tablo 5.1.6’da yer almaktadır. Kurala
göre 2, 3 ve 4. sütunlarda sıfır eleman bulunduğundan, bu işlem sadece 1.
sütuna uygulanmalıdır.
152
5
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
5
Tablo 5.1.6 Araştır 3’e ait sütun indirgeme işleminden sonra elde edilen veri
tablosu.
Planlama
(P)
Mert
Gül
Onur
Zeren
Araştır 3
0
0
1
3
Depo Yönetimi
(DY)
3
0
1
0
İnsan Kaynakları
(İK)
4
4
0
1
Tedarik Zinciri
(TZ)
0
0
7
4
Şimdi her satır ve sütunda en az bir tane sıfır bulunduğundan bu sıfırları mümkün olan en az sayıda çizgi ile kapatma işlemi yapılmalıdır. Tablo 5.1.6’dan
görüldüğü üzere tüm sıfırları kapatacak en az çizgi sayısı 4’e eşit olduğundan,
algoritmayı sonlandırabiliriz. En iyi atama: Mert – Planlama; Gül – Tedarik
Zinciri; Onur – İnsan Kaynakları; Zeren – Depo Yönetimi. Alternatif çözüm:
Mert – Tedarik Zinciri; Gül – Planlama; Onur – İnsan Kaynakları; Zeren –
Depo Yönetimi. Bu atamalara göre, en iyi amaç fonksiyonu değeri:
– [– (4) + (– 6) + (– 8) + (– 7)] = – [–25] = 25.
153
5
Atama Problemleri
Kaynakça
D. F. Votaw, Jr. ve Alex Orden (1952). The personnel
assignment problem, Proceedings: Symposium on
Linear Inequalities and Programming, Alex Orden
ve Leon Goldstein (Eds.), Headquarters, USAF,
Washington, April 1.
Gass, S. I. ve Assad, A. A. (2005). An Annotated
Timeline of Operations Research. An Informal
History, Springer Science + Business Media, Inc.,
Kluwer Academic Publishers.
Hillier, F. S. ve Lieberman, G. J. (2005). Introduction to
Operations Research (Eighth Edition), McGraw-Hill.
154
Kantorovich, L. V. (1939). Mathematical Methods of
Organization and Planning Production. Leningrad
State University.
Kuhn, H. W. (1955). The Hungarian method for
the assignment problem, Naval Research Logistics
Quarterly, 2(1), 83-97.
Munkres, J. (1957). Algorithms for the assignment
and transportation problems, Journal of the
Society for Industrial and applied Mathematics,
5(1), 32-38.
5
Yöneylem Araştırması
155
Bölüm 6
öğrenme çıktıları
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük
Kapsayan Ağaç Problemi
1
3
Ağ Problemlerinde Kullanılan Terminoloji
1 Ağ problemlerinin tanımında kullanılan
terminolojiyi açıklayabilme
En Küçük Kapsayan Ağaç Problemi
2
En Kısa Yol Problemi: Dijkstra Algoritması
2 En kısa yol probleminin en iyi çözümünü
bulmak için Dijkstra algoritmasını
açıklayabilme
3 En küçük kapsayan ağaç problemini ve
bu problemin en iyi çözümünü bulmak için
çözüm algoritmasını açıklayabilme
Anahtar Sözcükler: • Ağ Problemleri • En Kısa Yol Problemi • Dijkstra Algoritması
• En Küçük Kapsayan Ağaç Problemi
156
6
Yöneylem Araştırması
GİRİŞ
Yöneylem araştırmasının en yaygın kullanılan problemlerinden biri de ağ problemleridir. Ağ
problemleri, hayatımızın çeşitli alanlarında çok
farklı problem türleri şeklinde karşımıza çıkmaktadır. Ulaştırma, elektrik, internet, komünikasyon
ağları, petrol ve doğal gaz dağıtım hatları ve benzeri
ağlar hayatımızın alışılmış parçaları hâline gelmiş
durumdadır. Bu problem türü ile ilgili araştırmalar,
çeşitli problemlerin ağ problemi şeklinde modellenebilmesi ve bunlar için daha kolay uygulanabilir
çözüm yöntemlerinin bulunması, günümüz yöneylem araştırmasında önemli gelişmelere yol açmıştır. En basit hâli ile bir petrol örneğini inceleyecek
olursak bile ağ problemlerinin hayatımızdaki yerinin önemini görmek zor olmayacaktır. Örneğin;
ham petrolün farklı tedarikçilerden satın alınması,
onun rafinerilere ulaştırılması, rafinerilerde çeşitli
ürünlerin üretilmesi, bu ürünlerin satış için dağıtım merkezleri ve depolara gönderilmesi gibi problemlerin ağ problemleri olarak modellenebilmesi,
onların araştırılması ve çözümünün bulunması açısından büyük önem arz etmektedir.
Bu bölümde biz, ağ problemlerinin tanımı ve
iki problem tipini öğreneceğiz. Bunlar – en kısa yol
ve en küçük kapsayan ağaç problemleridir.
Şimdi çok kısaca bu problemlerin tarihine göz
atalım.
Edsger W. Dijkstra 1956 yılında tane düğüm
noktasına ve negatif olmayan kenarlık değerlerine sahip ağlar (graflar veya çizgeler) üzerinde tanımlanmış en kısa yol ve en küçük kapsayan ağaç
problemlerinin en iyi çözümünün bulunabilmesi için etkin bir algoritma yayınladı. Dijkstra ’ya
göre bu algoritma sadece gösteri amaçlı tasarlanmış olup, 1956 yılında ARMAC bilgisayarları için
Amsterdam’da düzenlenen resmî açılış töreninde
bu bilgisayarların gücünün gösterilmesi amacı
güdüyordu. 1957-1962 yılları arasında George J.
Minty, Richard Bellman, George B. Dantzig ve
başkaları tarafından da çeşitli en kısa yol algoritmaları yayımlandı.
En kısa yol problemi, tüm düğüm noktaları arasında bağlantı bulunan ve bu düğüm noktalarını birbirine bağlayan her bir kenara atanmış negatif olmayan
maliyet değerlerine sahip ağlarda, başlangıç olarak adlandırılan düğüm noktasından son düğüm noktasına
götürecek en düşük maliyet değerine sahip yolun bulunması problemi olarak tanımlanmaktadır. En küçük
kapsayan ağaç problemi ise böyle bir ağda en düşük
maliyetli kapsayan ağacın bulunması problemidir.
En küçük kapsayan ağacın bulunması için etkin
bir algoritma J. B. Kruskal (1956) ve R. C. Prim
(1957) tarafından önerilmiştir. Bu algoritmaların
her ikisi açgözlü algoritmalar olup en iyi çözümü
garantilemektedir.
AĞ PROBLEMLERİNDE
KULLANILAN TERMİNOLOJİ
Öncelikle, ağ problemlerinin tanımı ve araştırılmasında yoğun kullanılan terminoloji ile tanışalım. Bu terimleri, okuma kolaylığı açısından kalın
harflerle göstereceğiz.
Her bir ağ, noktalar kümesi ile bu kümedeki
bazı noktaları birleştiren çizgilerden oluşmaktadır.
Bu noktalara ağın düğüm noktaları veya tepe
noktaları denir. Bir ağdaki düğüm noktalarını
birleştiren çizgiler ise kenarlar veya arklar olarak
adlandırılmaktadır.
Düğüm noktaları genellikle çemberlerle gösterilir ve büyük harflerle işaretlenir. Kenarlar ise her
bir kenarın birleştirdiği düğüm noktaları ile isimlendirilir. Örneğin Şekil 6.1’de resimlenen ağ örneğinde, 4 tane düğüm noktası A, B, C ve D harfleri
ile işaretlenmiştir. Örneğin, A ve B düğüm noktalarını birleştiren kenar ise AB ile gösterilmiştir.
B
D
A
C
Şekil 6.1 4 düğüm noktalı ve 3 kenarlı ağ örneği
157
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Yönlü kenar, iki tepe noktası arasındaki kenar
boyunca sadece bir yönde akışa izin veren yönlü
çizgidir. Kenarın yönü okla belirtilir (→), ve AB
(veya A-B) şeklinde işaretlenmiş bir kenar, yönün
A noktasından B noktasına doğru yönlendirildiğini gösterir. Yönlü kenarlar, örneğin tek yön yolları
ve akışın sadece bir tek yönde olabileceği kenarları
göstermek için kullanılabilir.
Yönlendirilmiş yol, i. düğüm noktası ile j. düğüm noktası arasındaki yönlendirilmiş yol, yönleri j’ye doğru olan yönlendirilmiş kenarlar dizisine
denir. Örneğin Şekil 6.3’te, AB – BC – CD – DE
yolu (A → B → C → D → E), A düğüm noktasından
E düğüm noktasına bir yönlendirilmiş yol örneğini
gösterir, fakat FA – FC – EC yolu (A → F → C → E),
A düğüm noktasından E düğüm noktasına bir yönlendirilmiş yol değildir (veya, bir sonraki tanımda
göreceğimiz üzere, yönlendirilmemiş yoldur).
B
dikkat
D
B
A
C
A
A noktasından B noktasına doğru yönlü bir kenarı
göstermek için sadece AB işaretlemesi kullanılabilir,
böyle bir kenar için BA işaretlemesi kullanmak doğru
değildir. Eğer A ve B düğüm noktaları arasındaki bağlantı yönlendirilmemiş bir kenarla belirtilmişse bu
kenarın AB veya BA olarak işaretlenmesi fark etmez.
Yönlendirilmemiş kenar, bir kenar boyunca
her iki yönde akışa izin veren çizgidir. Yönlendirilmemiş kenarlar, üzerinde ok olmayan çizgilerle
veya birbirine ters yönlerde yönlendirilmiş bir çift
yönlü kenarla gösterilebilir.
Yönlü ağ, sadece yönlendirilmiş kenarlardan
oluşan ağa denir.
Yönlendirilmemiş ağ, sadece yönlendirilmemiş kenardan oluşan ağa denir.
İki düğüm arasındaki yönlendirilmemiş yol,
düğüm noktalarını bağlayan farklı yönlendirilmemiş
kenarlar dizisine denir. Örneğin, Şekil 6.2’de A ve D
düğüm noktalarını birleştiren yönlendirilmemiş yol
AB – BC – CD (veya A – B – C – D, veya A → B → C →
D) yönlendirilmemiş kenarlar dizisi ile gösterilebilir.
B
D
A
C
Şekil 6.2 A ve D düğüm noktalarını birleştiren
yönlendirilmemiş yol örneği
158
E
F
Şekil 6.3 Yönlü ağ örneği
Yönlendirilmemiş yol, i. noktadan j. noktaya
yönlendirilmemiş yol, yön farkı gözetmeksizin i ve
j noktaları arasındaki kenarlar dizisine denir. Örneğin Şekil 6.4’te AB – CB – DC yolu (A → B → C →
D), A düğüm noktasından D düğüm noktasına bir
yönlendirilmemiş yoldur.
B
D
A
C
Şekil 6.4 A noktasından D noktasına yönlendirilmemiş
yol örneği
dikkat
Yönlendirilmiş yol aynı zamanda yönlendirilmemiş yolun da tanımını sağladığından, yönlendirilmemiş yol
olarak da nitelendirilebilir, fakat tersi doğru değildir.
Döngü, başlangıç ve bitiş noktaları aynı noktada olan yola denir. Örneğin, Şekil 6.5’te AB – BC –
CD – DA yolu (A → B → C → D → A) bir döngüdür
(yönlendirilmiş döngüdür).
6
Yöneylem Araştırması
A
B
D
C
Şekil 6.5 Yönlendirilmiş döngü örneği
Şekil 6.3’te DB – BC – CD yolu (D → B → C →
D) bir yönlendirilmiş döngüdür, fakat aynı şekildeki AB – BC – FC – FA yolu (A → B → C → F →
A) bir yönlendirilmemiş döngüdür. Şekil 6.6’da
çok sayıda yönlendirilmemiş döngüler mevcuttur,
örneğin DB – BC – CD yolu (D → B → C → D) bir
yönlendirilmemiş döngüdür, fakat aynı şekildeki
CE – EC yolu (C → E → C) bir yönlendirilmemiş
döngü değildir, sebebi ise döngünün tanımında
kullanılan yolun, farklı kenarlardan oluşması
gerektiğidir. Buna karşın, Şekil 6.3’teki CE – EC
yolu (C → E → C) bir yönlendirilmiş döngüdür.
Bağlı ağ, Aralarında en az bir tane yönlendirilmemiş yol bulunan düğüm noktalarına bağlı
düğüm noktaları denir. Tüm düğüm noktaları
ikişer ikişer bağlı olan ağa, yani herhangi iki düğüm noktasının en az bir yönlendirilmemiş yol ile
bağlantılı olduğu ağa bağlı ağ denir. Örneğin Şekil
6.3 ve Şekil 6.6’daki ağların her ikisi bağlı ağlardır.
Şekil 6.3’te A – B ve F – C kenarları olmasaydı bu
şekildeki ağ bağlı bir ağ olmazdı.
Ağaç, Döngülerin olmadığı bir ağa ağaç denir.
Örneğin Şekil 6.6’daki ağda bazı kenarları kaldırırsak Şekil 6.7’de gösterildiği gibi bir ağaç elde ederiz. Eğer bir ağaç hem de bağlı bir ağ ise bu durumda ona kapsayan ağaç denir, örneğin Şekil 6.8’deki
ağaç aynı zamanda bir kapsayan ağaçtır.
B
D
A
C
E
B
D
F
A
C
E
Şekil 6.7 Ağaç örneği
F
Şekil 6.6 Yönlendirilmemiş ağ örneği
Bağlı düğüm noktaları, 2 düğüm noktası arasında, bu noktaları bağlayan en az bir yönlendirilmemiş
yol varsa, bunlara bağlı düğüm noktaları denir.
Şekil 6.8 Kapsayan ağaç örneği
159
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Öğrenme Çıktısı
1 Ağ problemlerinin tanımında kullanılan terminolojiyi açıklayabilme
Araştır 1
Aşağıdaki ağın türünü (yönlendirilmiş veya yönlendirilmemiş, bağlı veya bağlı
olmadığını) açıklayın. Bu
ağ üzerinde düğüm noktası,
kenar, yol, döngü terimlerini örneklerle açıklayın.
B
F
A
C
İlişkilendir
Anlat/Paylaş
Ağ problemini kendi deneyiminizden bildiğiniz bir
problem sınıfı (şehirlerarası
yollar veya bulunduğunuz
ilçedeki doğal gaz şebekesi)
üzerinden yorumlayın.
Evinizden okula gitmek için
olası tüm ulaşım seçeneklerini (otobüs, dolmuş, metro,
tramvay, metrobüs vb.) içeren bir ağ oluşturun. Ulaşım vasıtalarının duraklarını düğüm noktaları olarak
işaretleyiniz ve bu duraklar
arasındaki uzaklıkları yaklaşık olarak belirleyin. Tek yön
ve çift yönlü yolları da belirterek, okula ulaşım için olası
en iyi çözüm seçeneğini nasıl
bulabileceğinizi tartışın.
E
D
G
EN KISA YOL PROBLEMİ:
DİJKSTRA ALGORİTMASI
Bu bölümün Giriş kısmında en kısa yol problemini n tane düğüm noktası ve bu düğüm noktalarını birbirine bağlayan her bir kenara atanmış
negatif olmayan maliyet değerlerine sahip bağlı
ağlarda başlangıç düğüm noktasından son düğüm
noktasına, toplam maliyeti en küçük kılacak yolun
bulunması problemi olarak tanımlamıştık.
Bu problemler için çözüm algoritmasını öğrenmeye başlamadan önce bir hususu sizlerle tartışmak istiyoruz. Aslında bunun, ağ problemlerinin
muhtemelen hepsi için geçerli olan bir husus olduğunu düşünüyoruz.
Bir ağdaki düğüm noktalarını birbirine bağlayan kenarlara atanan sayılara farklı problemlerde
farklı anlamlar yüklenebilmektedir. En kısa yol
problemi olarak tabir edilen problemlerde her bir
kenara atanan sayılar bu kenar aracılığı ile birbirine
bağlanan düğüm noktaları arasındaki uzaklığı, bu
iki düğüm noktası arasındaki ulaşım süresini ve ya
ulaşım maliyetini gösterebilmektedir. Örneğin bir
ağın kenarlarına uzaklık ifade eden sayıların atanması durumunda, bizi “Başlangıç” düğüm noktasından “Son” düğüm noktasına en kısa yoldan
160
götürecek bir çözüm, bu ağın kenarlarına ulaşım
süreleri atandığı durumda elde edilecek çözümden farklı olabilmektedir. Dolayısıyla en kısa yol,
her zaman en kısa süreli yol olmaya bilmektedir.
Benzer şekilde uzaklık veya zaman anlamındaki
en kısa yol, en az maliyetli yol da olmayabilir. Bu
durum, örneğin şehir içi ulaşım söz konusu olduğunda, trafik ışıklarının fazlalığından dolayı en kısa
uzaklığa sahip bir yolun en kısa sürede gidilecek bir
yol olamayacağı gibi, belki daha kısa sürede otoyoldan gidilebilecek bir yolun da en düşük maliyetli yol olamayacağıdır. Dolayısıyla ağlarda en kısa
yol problemini tanımlarken bu durumların iyice
tartışılması ve duruma göre hangi maliyetlerin en
küçüklenmesi istendiğinin iyice düşünülerek karar
verilmesi gerekmektedir.
dikkat
Ağlar üzerinde en kısa yol problemi, aslında en kısa
uzaklığa sahip yol, en kısa süreli yol veya en düşük maliyetli yol olarak da tanımlanabilecek problemlerin ortak
adı olup probleme göre yorum farklılığı taşısa da çözüm
yöntemi açısından bir farklılık göstermemektedir.
6
Yöneylem Araştırması
Bu bölümün Giriş kısmında da belirtildiği üzere, ağlar üzerinde tanımlanmış en kısa yol problemlerinin
çözümü için çok sayıda algoritma geliştirilmiştir. Bu kitapta biz, bu algoritmaların muhtemelen en sadesi
olan ve bu problemleri ilk kez inceleyen bilim insanının adını taşıyan Dijkstra Algoritmasını öğreneceğiz.
Algoritmanın uygulanabilmesi için verilmiş ağdaki tüm düğüm noktaları arasındaki uzaklıkların (veya
ilgili maliyet değerlerinin) belirlenmiş olması gerekmektedir. Algoritmanın amacı, başlangıç düğüm noktasından son düğüm noktasına götürecek toplam en kısa uzaklığa sahip yolun bulunmasıdır.
Örneklere geçmeden önce, Dijkstra Algoritmasını açıklayalım.
Dijkstra Algoritması
Adım 1. Başlangıç düğüm noktasını seç, bu düğüm noktasını kalıcı kümeye al ve Adım 2’ye git.
Adım 2. Kalıcı kümeye en son alınan düğüm noktasına kalıcı kümede bulunanlar dışında bağlantısı bulunan düğüm noktalarını, bu noktalardan başlayan kenarları ve bu kenarlara karşı gelen uzaklıkları belirle.
Bu yeni kenara karşı gelen uzaklık değerini, bu kenarın bağlandığı ve kalıcı kümeye alınan düğüm noktasına
kadar daha önce hesaplanmış olan uzaklığa kümülatif olarak ekle. Uzaklıklar sütunundaki tüm uzaklıklar
içinde en küçük uzaklığı seç. Bu uzaklığa karşı gelen düğüm noktasını kalıcı kümeye ekle, mevcut listeden bu
düğüm noktasına gelen tüm diğer kenarları ve ilgili uzaklık bilgilerini kaldır ve Adım 3’e git.
Adım 3. Kalıcı kümeyi kontrol et. Eğer henüz tüm düğüm noktaları kalıcı kümeye alınmamışsa Adım
2’ye git, diğer durumda, yani eğer mevcut ağdaki son düğüm noktası da kalıcı kümeye alınmış ise algoritmayı
sonlandır ve toplam en küçük uzaklığı, en son kalıcı kümeye alınan düğüm noktasına bağlanan kenarın sahip
olduğu toplam uzaklık olarak belirle. Kalıcı kümeye alınan en küçük uzaklıklara sahip düğüm noktalarını
sondan başa doğru sıralayarak en kısa yolu belirle.
Şimdi Dijkstra algoritmasını örnekler üzerinde açıklayalım.
ÖRNEK 6.1 Başlangıç düğüm noktasının B, son düğüm noktasının S harfleri ile gösterildiği ve toplam
5 adet düğüm noktasına sahip, Şekil 6.9’da tanımlanmış olan bir ağ ele alalım. Bu ağda bazı düğüm noktalarını birbirine bağlayan kenarlara atanmış uzaklık
A
C
4
değerleri ilgili kenar üzerinde gösterilmiştir. B nok2
tasından S noktasına götürecek en kısa uzaklığa sahip yolun bulunması istenmektedir.
2
3
3
S
ÇÖZÜM: Problemin çözümü için Dijkstra Algoritmasını uygulayalım. Algoritmayı daha kolay
uygulayabilmek için iterasyonları, “Kalıcı küme”,
“Kenarlar” ve “Uzaklıkların” ayrı ayrı yer aldığı üç
sütunlu tablo şeklinde oluşturacağız.
Algoritmayı B başlangıç düğüm noktasından
başlatıyoruz. Başlangıç düğüm noktasına bağlı düğüm noktalarını belirleyip, bu düğüm noktaları ile B
arasındaki uzaklıkları belirliyoruz.
B düğüm noktasından A düğüm noktasına olan
uzaklık 2 birim, C düğüm noktasına olan uzaklık
3 birim, D düğüm noktasına olan uzaklık ise 1 birimdir. Dijkstra algoritmasının her bir iterasyonunu, adım adım aşağıda belirlenmiş ve “Kalıcı küme”,
“Kenarlar” ve “Uzaklıklar” olarak adlandırılan üç sütunlu tablolar üzerinde göstermek, algoritmayı daha
iyi anlamak açısından kolaylık sağlayacaktır.
3
B
1
1
2
D
Şekil 6.9 Örnek 6.1’e ait ağ
A
2
C
3
B
1
D
Şekil 6.10 Örnek 6.1’in çözümünün birinci iterasyonu
161
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Tablo 6.1 Örnek 6.1’in çözümü için uygulanan Dijkstra
algoritmasının 1. iterasyonu
Kalıcı küme
{B}
Kenarlar
Uzaklıklar
B–A
2
B–C
3
B–D
1*
ğüm noktaları C ve S ve ilgili uzaklıklar kümülatif
olarak (daha önce bu noktaya kadar hesaplanmış
olan 2 birimlik uzaklığa eklenerek) hesaplanacak ve
tabloya işlenecektir (D noktası kalıcı kümede bulunduğundan A – D bağlantısı eklenmeyecektir),
bakınız Tablo 6.3.
Tablo 6.3 Örnek 6.1’in çözümü için uygulanan Dijkstra
Birinci iterasyonda başlangıç düğüm noktası
B, kalıcı kümeye alınıyor ve bu noktayla bağlantılı
tüm düğüm noktaları, bu noktaları bağlayan kenarlar ve ilgili uzaklıklar tabloya işleniyor, bakınız
Tablo 6.1.
Tablo 6.1’in “Uzaklıklar” sütununda yer alan
tüm uzaklıklar içinde en küçük olan uzaklık “*”
ile işaretleniyor ve ilgili düğüm noktası D, kalıcı
kümeye alınıyor ve ikinci iterasyon başlatılıyor. Bu
iterasyona ait bilgiler Tablo 6.2’de gösterilmiştir. D
düğüm noktası kalıcı kümeye alındığından, Tablo
6.2’de B – D bağlantısı kaldırılacak ve onun yerine
D noktası ile bağlantılı olan kalıcı küme dışındaki
düğüm noktaları ile ilgili kenarlar ve ilgili uzaklıklar eklenecektir. Bu düğüm noktaları eklenirken de
yeni uzaklıklar kümülatif olarak daha önce belirlenmiş olan uzaklığa eklenerek yeni tabloya işlenecektir. Kalıcı küme dışından D düğüm noktası ile
bağlı tek nokta S düğüm noktasıdır. D noktasından
S noktasına olan 2 birimlik uzaklık değeri ikinci
iterasyonda, bir önceki iterasyonda belirlenmiş
olan B ile D arasındaki uzaklık değeri 1’e eklenecektir, bakınız Tablo 6.2.
Tablo 6.3’ün “Uzaklıklar “ sütunundaki en küçük uzaklık değeri 3 birim ve karşı gelen bağlantılar
B – C ve D – S bağlantılarıdır. Bu bağlantıları belirleyen C ve S noktalarından herhangi biri kalıcı kümeye alınarak algoritma devam ettirilmelidir. Biz C
noktasını seçerek kalıcı kümeye ekleyelim ve 4. iterasyonu başlatalım. C noktası kalıcı kümeye eklendiğinden, yeni iterasyona karşı gelen Tablo 6.4’te
B – C ve A – C bağlantıları kaldırılacak, “Kenarlar”
sütununa, kalıcı küme dışındaki C noktası ile bağlantılı düğüm noktalarına karşı gelen C – S kenarı,
“Uzaklıklar” sütununa da ilgili uzaklık değeri (1 ve
2 değerleri), kümülatif olarak (daha önceki uzaklık
değeri 3’e ) eklenecektir, bakınız Tablo 6.4.
Tablo 6.2 Örnek 6.1’in çözümü için uygulanan Dijkstra
Tablo 6.4 Örnek 6.1’in çözümü için uygulanan Dijkstra
algoritmasının 2. iterasyonu
Kalıcı küme
{B, D}
Kenarlar
Uzaklıklar
B–A
2*
B–C
3
D–S
1+2=3
Tablo 6.2’de “Uzaklıklar” sütununda yer alan
uzaklık değerleri arasında en küçüğü B – A kenarına karşı gelen 2 birimlik uzaklıktır. Bu nedenle,
A düğüm noktasının kalıcı kümeye alınması gerekiyor. Henüz tüm düğün noktaları kalıcı kümeye
alınmadığından 3. iterasyon başlatılıyor. Bu iterasyonda A noktası kalıcı kümeye alındığından yeni
iterasyona karşı gelen Tablo 6.3’te B – A bağlantısı
kaldırılacak ve A noktasının bağlı bulunduğu dü-
162
algoritmasının 3. iterasyonu
Kalıcı küme
{B, D, A}
Kenarlar
Uzaklıklar
A–C
2+4=6
A–S
2+3=5
B–C
3*
D–S
3
algoritmasının 4. iterasyonu
Kalıcı küme
{B, D, A, C}
Kenarlar
Uzaklıklar
A–S
5
C–S
3+2=5
D–S
3*
Tablo 6.4’te “Uzaklıklar” sütunundaki en küçük değer D – S kenarına karşı gelen 3 birimdir. Bu
nedenle S noktasının da kalıcı kümeye eklenmesi gerekiyor. S noktası da kalıcı kümeye eklenince
tüm noktalar kalıcı kümede yer aldığından dolayı
algoritma sonlandırılacaktır. Böylece en son eklenen nokta 3 birim uzaklığa karşı geldiğinden bu
problemin en kısa yol değeri 3 olarak belirlenmiş
olacaktır. Bu değere karşı gelen en kısa yolu be-
6
Yöneylem Araştırması
lirlemek için algoritmada belirtildiği üzere, sondan
başa hareket ederek en iyi değer olan 3 değerini ortaya çıkartan yolu belirlememiz gerekecek. Bunun
için sondan başa, yıldızlı düğüm noktalarını takip
edersek S – D – B veya baştan sona gidecek olursak
da en kısa yolu B – D – S şeklinde bulabiliriz.
Böylece Örnek 6.1’in çözümü tamamlanmış
oldu.
Şimdi de yönlendirilmemiş ağ üzerinde tanımlanmış en kısa yol problemi ile ilgili bir örnek inceleyelim ve çözüm algoritmasının yönlendirilmemiş
ağlarda da kolaylıkla uygulanabileceğini gösterelim.
ÖRNEK 6.2 Dijkstra algoritmasını uygulayarak, Şekil 6.11’de gösterilen ağ üzerinde B noktasından S noktasına götürecek en kısa yolu bulunuz.
A
E
2
3
B
6
1
7
1
C
3
2
5
4
D
S
4
3
ÇÖZÜM: Algoritmayı daha kolay uygulayabilmek için iterasyonları, “Kalıcı küme”, “Kenarlar”
ve “Uzaklıkların” ayrı ayrı yer aldığı üç sütunlu tablo şeklinde oluşturacağız.
Tablo 6.5 Örnek 6.2’nin çözümü için uygulanan
Dijkstra algoritmasının 1. iterasyonu
{B}
Tablo 6.6 Örnek 6.2’nin çözümü için uygulanan
Dijkstra algoritmasının 2. iterasyonu
Kalıcı küme
F
Şekil 6.11 Örnek 6.2’ye ait yönlendirilmemiş ağ
Kalıcı küme
Tablo 6.5’in “Uzaklıklar” sütununda yer alan
tüm uzaklıklar içinde en küçük olan uzaklık “*”
ile işaretleniyor ve ilgili düğüm noktası D, kalıcı
kümeye alınıyor ve ikinci iterasyon başlatılıyor.
Bu iterasyona ait bilgiler Tablo 6.6’da gösterilmiştir. D düğüm noktası kalıcı kümeye alındığından,
Tablo 6.6’da B – D bağlantısı kaldırılacak ve onun
yerine D noktası ile bağlantılı olan kalıcı küme dışındaki düğüm noktaları ile ilgili kenarlar ve ilgili
uzaklıklar eklenecektir. Bu düğüm noktaları eklenirken de yeni uzaklıklar kümülatif olarak daha
önce belirlenmiş olan uzaklığa eklenerek yeni tabloya işlenecektir. Kalıcı küme dışından D düğüm
noktası ile bağlı düğümler C ve F noktalarıdır. D
noktasından sırası ile C ve F noktalarına olan 4
ve 3 birimlik uzaklık değerleri ikinci iterasyonda,
bir önceki iterasyonda belirlenmiş olan B ile D
arasındaki uzaklık değeri 5’e eklenecektir, bakınız
Tablo 6.6.
Kenarlar
Uzaklıklar
B–A
7
B–D
5*
Birinci iterasyonda başlangıç düğüm noktası
B, kalıcı kümeye alınıyor ve bu noktayla bağlantılı
tüm düğüm noktaları, bu noktaları bağlayan kenarlar ve ilgili uzaklıklar tabloya işleniyor, bakınız
Tablo 6.5.
{B, D}
Kenarlar
Uzaklıklar
B–A
7*
D–C
5+4=9
D–F
5+3=8
Tablo 6.6’da “Uzaklıklar” sütununda yer alan
uzaklık değerleri arasında en küçüğü B – A kenarına karşı gelen 7 birimlik uzaklıktır. Bu nedenle, A
düğüm noktasının kalıcı kümeye alınması gerekiyor.
Henüz ağdaki tüm düğün noktaları kalıcı kümeye alınmadığından 3. iterasyon başlatılıyor. Bu
iterasyonda A noktası kalıcı kümeye alındığından
yeni iterasyona karşı gelen Tablo 6.7’de B – A bağlantısı kaldırılacak ve A noktasının kalıcı küme dışında bağlı bulunduğu düğüm noktaları C, E ve F
ve ilgili uzaklıklar kümülatif olarak (daha önce bu
noktaya kadar hesaplanmış olan 7 birimlik uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir
(B noktası kalıcı kümede bulunduğundan bağlantısı eklenmeyecektir), bakınız Tablo 6.7.
163
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Tablo 6.7 Örnek 6.2’nin çözümü için uygulanan
Dijkstra algoritmasının 3. iterasyonu
Kalıcı küme
{B, D, A}
Kenarlar
Uzaklıklar
A–C
7+1=8*
A–E
7+2=9
A–F
7+3=10
D–C
9
D–F
8
Tablo 6.7’da “Uzaklıklar” sütununda yer alan
uzaklık değerleri arasında en küçüğü A – C ve D – F
kenarlarına karşı gelen 8 birimlik uzaklıktır. Bu nedenle, C veya F düğüm noktalarından herhangi biri
kalıcı kümeye alınarak iterasyonlara devam ettirilebilir. Bu iterasyonda hangi düğüm noktasının kalıcı kümeye eklenmesi sonucu değiştirmeyecek olup
belki alternatif çözüm türetilmesiyle sonuçlanabilmektedir. Biz, C noktasını kalıcı kümeye ekleyerek
4. iterasyonu başlatalım.
Henüz ağdaki tüm düğün noktaları kalıcı kümeye alınmadığından 4. iterasyon başlatılıyor. Bu
iterasyonda C noktası kalıcı kümeye alındığından
yeni iterasyona karşı gelen Tablo 6.8’de, A – C ve
D – C kenarlarının ikisi de kaldırılacak ve C noktasının kalıcı küme dışında bağlı bulunduğu düğüm
noktaları E, F ve S ve ilgili uzaklıklar kümülatif
olarak (daha önce bu noktaya kadar hesaplanmış
olan 8 birimlik uzaklığa eklenerek) hesaplanacak ve
tabloya işlenecektir (A ve D noktaları kalıcı kümede bulunduğundan C – A ve C – D kenarları yeni
tabloya eklenmeyecektir), bakınız Tablo 6.8.
Tablo 6.8 Örnek 6.2’nin çözümü için uygulanan
Dijkstra algoritmasının 4. iterasyonu
Kalıcı küme
{B, D, A, C}
Kenarlar
Uzaklıklar
C–E
8+6=14
C–F
8+2=10
C–S
8+3=11
A–E
9
A–F
10
D–F
8*
Tablo 6.8’de “Uzaklıklar” sütununda yer alan
uzaklık değerleri arasında en küçüğü D – F kenarına karşı gelen 8 birimlik uzaklıktır. Bu nedenle, F
düğüm noktası kalıcı kümeye alınarak iterasyonlara devam ettirilebilir.
164
Henüz ağdaki tüm düğün noktaları kalıcı kümeye alınmadığından 5. iterasyon başlatılıyor. Bu
iterasyonda F noktası kalıcı kümeye alındığından
yeni iterasyona karşı gelen Tablo 6.9’da, A – F, C
– F ve D – F kenarları kaldırılacak ve F noktasının
kalıcı küme dışında bağlı bulunduğu tek düğüm
noktası S ve ilgili uzaklık değeri kümülatif olarak
(daha önce bu noktaya kadar hesaplanmış olan 8
birimlik uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir, bakınız Tablo 6.9.
Tablo 6.9 Örnek 6.2’nin çözümü için uygulanan
Dijkstra algoritmasının 5. iterasyonu
Kalıcı küme
{B, D, A, C, F}
Kenarlar
Uzaklıklar
C–E
14
C–S
11
A–E
9*
F–S
8+4=12
Tablo 6.9’da “Uzaklıklar” sütununda yer alan
uzaklık değerleri arasında en küçüğü, A – E kenarına karşı gelen 9 birimlik uzaklıktır. Bu nedenle, E
düğüm noktası kalıcı kümeye alınarak iterasyonlara devam ettirilebilir.
Henüz ağdaki tüm düğün noktaları kalıcı kümeye alınmadığından 6. iterasyon başlatılacaktır. Bu
iterasyonda E noktası kalıcı kümeye alındığından
yeni iterasyona karşı gelen Tablo 6.10’da, A – E ve
C – E kenarları kaldırılacak ve E noktasının kalıcı
küme dışında bağlı bulunduğu tek düğüm noktası S ve ilgili uzaklık değeri kümülatif olarak (daha
önce bu noktaya kadar hesaplanmış olan 9 birimlik
uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir, bakınız Tablo 6.10.
Tablo 6.10 Örnek 6.2’nin çözümü için uygulanan
Dijkstra algoritmasının 6. iterasyonu
Kalıcı küme
{B, D, A, C, F, E}
Kenarlar
Uzaklıklar
E–S
9+1=10*
C–S
11
F–S
12
Tablo 6.10’da “Uzaklıklar” sütunundaki en küçük değer E – S kenarına karşı gelen 10 birimlik
uzaklıktır. Bu nedenle S noktasının da kalıcı kümeye eklenmesi gerekiyor. S noktası da kalıcı kümeye
eklenince tüm noktalar kalıcı kümede yer alacağın-
6
Yöneylem Araştırması
dan dolayı algoritma sonlandırılacaktır. Böylece en
son eklenen nokta 10 birim uzaklığa karşı geldiğinden bu problemin en kısa yol değeri 10 olarak belirlenmiş olacaktır. Bu değere karşı gelen
en kısa yolu belirlemek için algoritmada belirtildiği
üzere, sondan başa hareket ederek en iyi değer olan
10 değerini ortaya çıkartan yolu belirlememiz gerekecek. Bunun için sondan başa, yıldızlı düğüm
noktalarını takip edersek E – S (bakınız Tablo
6.10), A – E (bakınız Tablo 6.9) ve B – A (bakınız
Tablo 6.6) kenarlarının oluşturduğu S – E – A – B
yolunu veya baştan sona düzeltecek olursak da en
kısa yolu B – A – E – S şeklinde bulabiliriz:
A
E
2
3
B
6
1
7
1
C
3
2
5
4
D
S
4
3
F
Böylece Örnek 6.2’nin çözümü tamamlanmış oldu.
Öğrenme Çıktısı
2 En kısa yol probleminin en iyi çözümünü bulmak için Dijkstra algoritmasını açıklayabilme
Araştır 2
Aşağıdaki verilen ağ üzerinde, Dijkstra algoritmasını
uygulayarak, B noktasından
S noktasına götürecek en
kısa yolu bulun.
A
6
3
E
5
4
2
B
3
C
4
S
5
6
D
2
2
8
4
F
İlişkilendir
Anlat/Paylaş
En kısa yol problemini
kendi deneyiminizden bildiğiniz bir problem sınıfı
(şehirlerarası yollar veya
bulunduğunuz ilçedeki /
mahalledeki doğal gaz şebekesi) üzerinden yorumlayın.
Evinizden okula gitmek
için olası tüm ulaşım seçeneklerini (otobüs, dolmuş,
metro, tramvay, metrobüs
vb.) içeren bir ağ oluşturun.
Ulaşım vasıtalarının duraklarını düğüm noktaları
olarak işaretleyin ve bu duraklar arasındaki uzaklıkları
yaklaşık olarak belirleyin.
Tek yön ve çift yönlü yolları
da belirterek, okula ulaşım
için en kısa yol seçeneğini,
Dijkstra algoritmasını uygulayarak nasıl bulabileceğinizi tartışın.
EN KÜÇÜK KAPSAYAN AĞAÇ PROBLEMİ
Ağlar üzerinde tanımlanan ve en sık kullanılan ağ problemlerinden biri de “En Küçük Kapsayan Ağaç”
Problemidir.
Bu bölümün Giriş kısmında en küçük kapsayan ağaç problemini, n tane düğüm noktası ve düğüm
noktalarını birbirine bağlayan her bir kenara atanmış negatif olmayan maliyet değerlerine sahip bağlı ağaçlarda en düşük maliyetli ağacın bulunması problemi şeklinde tanımlamıştık.
Bu problemin amacı, belirlenmiş keyfi bir düğüm noktasından, ağdaki tüm düğüm noktalarına erişim
sağlanacak şekilde bir ağ oluşturmak ve bu ağı belirleyecek kenarlara atanmış uzaklıkların toplamını en
küçük kılacak kapsayan ağacı bulmaktır.
165
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Aslında bu tanıma dikkat edilirse, en küçük
kapsayan ağaç problemi ile en kısa yol problemi
arasında bazı benzerliklerin olduğunu görmek o
kadar da zor değil. Her iki problem yönlendirilmemiş ve bağlı bir ağ üzerinde tanımlanabilir ve her
iki durumda ağdaki kenarlara pozitif uzunluk (mesafe, maliyet zaman ve b.) değerleri tanımlanmıştır.
Her iki problemde toplam maliyeti en küçükleyecek şekilde belirli özelliğe sahip kenarların seçilmesi talep edilmektedir. En kısa yol probleminde
bu özelliğin başlangıç ve son olarak nitelendirilen
düğüm noktaları arasındaki bir yol için sağlanması
istenirken, en küçük kapsayan ağaç probleminde
tüm düğüm noktalarını birbirine bağlayan yollar
için sağlanması istenmektedir.
En küçük kapsayan ağaç problemini aşağıdaki
şekilde özetleyebiliriz.
a) Size şimdilik sadece düğüm noktaları kümesi verilmekte ve kenarlar kümesi verilmemektedir, fakat bu düğümler arasındaki
olası kenarlara atanmış pozitif uzaklık (veya
maliyet, zaman vb.) değerleri verilmektedir.
b) Herhangi iki düğüm noktasının birbirine
bir yol ile bağlanmış olacağı bir ağ tasarlanmak istenmektedir.
c) Yukarıdaki kısıtlar altında tasarlanması istenen bu ağın kenar uzunlukları toplamının
en küçük olması amaçlanmaktadır.
Bu kısıtları sağlayacak ve n adet düğüm noktasına sahip bir ağın tasarlanabilmesi için (tüm düğüm
noktalarını birbirine bağlayacak yolların oluşturulabilmesi için) sadece n – 1 adet kenara ihtiyaç duyulmaktadır. Bu yüzden de problemi, toplam kenar
uzunluklarının en küçük olduğu bir kapsayan ağacın oluşturulması problemi olarak tanımlıyoruz.
Şimdi, Örnek 6.2’de incelediğimiz ve Şekil 6.11’de
gösterilen ağ üzerinde kapsayan ağaç kavramını açıklayalım, bakınız Şekil 6.12-a, 6.12-b, 6.12-c.
A
E
7
B
6
3
C
3
5
D
F
Şekil 6.12-a Kapsayan ağaç değil, çünkü bağlı bir
ağaç değil
166
S
A
E
7
6
B
3
1
C
S
2
5
3
D
F
Şekil 6.12-b Kapsayan ağaç değil, çünkü döngü içeriyor
A
E
7
B
6
3
1
C
S
5
4
D
F
Şekil 6.12-c Kapsayan ağaç
Bu bölümde, en küçük kapsayan ağaç probleminin en iyi çözümünü, dolayısıyla düğüm noktaları ve olası kenar uzunluklarının belirli olduğu
bir durumda en küçük kapsayan ağacın bulunması
için bir algoritma öğreneceğiz.
En Küçük Kapsayan Ağaç Algoritması
Adım 1. Bize verilen düğüm noktalarından herhangi birini ve bu düğüm noktasına en yakın düğüm
noktasını belirleyerek bu iki düğüm noktasını bir kenarla birleştir.
Adım 2. Henüz bağlantı kurulmamış tüm düğüm noktaları içinden, bir birine bağlanmış tüm
düğüm noktalarına en kısa uzaklık değerine sahip
olanı seç ve aralarındaki uzaklık değerinin en kısa
olduğu düğümleri bir kenarla birleştir. Aralarındaki
uzaklık değerlenin en küçük olduğu düğüm noktaları
çifti birden fazla olabildiği durumlarda bu çifti keyfi
olarak seçebilirsiniz. Bu seçim en iyi çözüm değerini
değiştirmez ama belki alternatif en küçük kapsayan
ağaç oluşmasına olanak sağlayabilir.
Adım 3. Eğer henüz bağlantı kurulmamış düğüm
noktası varsa Adım 2’ye git, diğer durumda algoritmayı sonlandır: en iyi çözüm bulunmuştur.
6
Yöneylem Araştırması
Algoritma Üzerinde Tartışma
En küçük kapsayan ağaç algoritması herhangi bir
düğümden başlatılarak aralarındaki uzaklık değerinin
en küçük olduğu düğüm noktasını tespit eder ve bu
düğümler arasında yeni bir kenar oluşturur. Bu algoritma hakkında bölüm başında bilgi verirken de açıkladığımız gibi, en başta bize sadece düğüm noktaları
ve bu düğüm noktaları arasındaki uzaklık değerleri
verilmekte, fakat ağı oluşturacak kenarlar verilmemektedir. Kenarları bizim oluşturmamız gerekmektedir.
Algoritma her iterasyonda tüm düğüm noktalarını
“bağlantı kurulmuş” ve “henüz bağlantı kurulmamış”
olarak sınıflandırıyor ve henüz bağlantı kurulmamış
düğüm noktası kalmayıncaya kadar devam eder. En
başta doğal olarak tüm düğüm noktaları henüz bağlantı kurulmamış sınıfta bulunmaktadır. Algoritmayı,
ilk düğüm noktasını keyfi seçerek bu düğüm noktasına
“en yakın”, yani uzaklık değeri en küçük olan düğüm
noktasını belirleyip bu iki düğüm noktasını bir kenarla birleştirerek başlatıyoruz. Dolayısıyla ilk adımdan
sonra elimizde iki tane, aralarında bağlantı oluşturulmuş düğüm noktası bulunacaktır. Bir sonraki adımda,
geri kalan tüm düğüm noktaları içerisinden, bu iki
(aralarında bağlantı oluşturulmuş) düğüm noktasının
her birine olan uzaklık değeri en küçük olan düğüm
noktası seçilip belirleniyor. Belirlenmiş olan bu düğüm
noktası ona en yakın düğüm noktası ile (aralarında
bağlantı bulunan iki düğüm noktasından biri ile)
bir kenarla birleştiriliyor. Şimdi aralarında bağlantı
bulunan elimizde üç adet düğüm noktası bulunuyor.
Eğer henüz bağlantı kurulmamış düğüm noktası yoksa
algoritma sonlandırılıyor, diğer durumda yukarıdaki
prosedür tekrarlanıyor. Bu şekilde en küçük kapsayan
ağacın oluşturulacağı garantilenmektedir.
dikkat
En küçük kapsayan ağaç algoritmasının her bir iterasyonunda, henüz bağlantı kurulmamış düğüm
noktaları incelenirken, problem verileri kapsamında uzaklık değerleri tanımlı olan düğüm noktaları
arasından seçim yapılabilmektedir. Dolayısı ile henüz bağlantı kurulmamış düğüm noktaları içerisinden herhangi biri değil, sadece bağlantı kurulmuş
düğüm noktaları ile bağlanma potansiyeli olan düğüm noktaları araştırılabilmektedir.
Örnek 6.3. Örnek olarak, daha önce Örnek 6.2’de
tanımlanmış ve Şekil 6.11’de resimlenmiş ağı kullanalım. Bu örneğin araştırılması, en kısa yol problemi
ile en küçük kapsayan ağaç problemi arasındaki farkı
ve benzerlikleri de bariz şekilde ortaya koyacaktır. Bu
örnekte başlangıçta sadece düğüm noktalarının ve onlardan bazıları arasındaki uzaklık değerlerinin verildiğini varsayarak algoritmayı başlatalım.
Birinci iterasyon. Başlangıç olarak B düğüm
noktasını seçelim.
B’ye en yakın düğüm noktasının 5 birimlik
uzaklık değeri ile D düğüm noktasını belirliyoruz.
B ile D noktalarını bir kenarla birleştiriyoruz, bakınız Şekil 6.13’te bu yeni kenar kalın siyah çizgi ile
gösterilmiştir.
A
7
6
1
3
B
1
C
3
2
5
4
S
4
3
D
F
Şekil 6.13 Örnek 6.3’e ait birinci iterasyon
İkinci iterasyon. Şimdi B ve D bağlı düğüm
noktaları kümesini, A, C, E, F, S ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır. Bu düğüm noktaları içerisinden B ve D
noktalarına uzaklığı en küçük olan düğüm noktasını
seçmeliyiz. B ve D ile bağlantısı olabilecek düğüm
noktaları A, C ve F noktaları, bunların içinde en yakını ise D’ye uzaklığı 3 birim olan F noktasıdır. F
noktası ile D noktası arasında bir kenar ekleyerek bir
sonraki iterasyona geçiyoruz, bakınız Şekil 6.14.
A
E
2
7
6
1
3
B
1
C
3
2
5
4
D
Şimdi bu algoritmayı bir örnek üzerinde açıklayalım.
E
2
S
4
3
F
Şekil 6.14 Örnek 6.3’e ait ikinci iterasyon
167
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Üçüncü iterasyon. Şimdi B, D ve F bağlı düğüm noktaları kümesini; A, C, E, S ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır. Bu düğüm noktaları içerisinden B,
D ve F noktalarına uzaklığı en küçük olan düğüm
noktasını seçmeliyiz. B, D ve F ile bağlantısı olabilecek düğüm noktaları A, C ve S noktaları, bunların içinde en yakını ise F’ye uzaklığı 2 birim olan
C noktasıdır. F noktası ile C noktası arasında bir
kenar ekleyerek bir sonraki iterasyona geçiyoruz,
bakınız Şekil 6.15.
A
E
2
7
A
6
1
3
B
1
C
3
4
3
6
1
3
B
1
C
S
3
2
4
D
E
2
7
2
5
Beşinci iterasyon. Şimdi B, D, F, C ve A, bağlı
düğüm noktaları kümesini; E ve S ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır. Bu düğüm noktaları içerisinden potansiyel bağlantı kurulabilecek düğüm noktaları A,
C ve F noktalarıdır. Bunlardan uzaklığı en küçük
olan düğüm noktasını seçmeliyiz. E ve S noktalarından A, F ve C ‘ye en yakını ise A’ya uzaklığı
2 birim olan E noktasıdır. A noktası ile E noktası
arasında bir kenar ekleyerek bir sonraki iterasyona
geçiyoruz, bakınız Şekil 6.17.
5
F
4
S
4
3
D
F
Şekil 6.15 Örnek 6.3’e ait üçüncü iterasyon
Şekil 6.17 Örnek 6.3’e ait beşinci iterasyon
Dördüncü iterasyon. Şimdi B, D, F ve C, bağlı düğüm noktaları kümesini; A, E ve S ise henüz
bağlantı kurulmamış düğüm noktaları kümesini
oluşturmaktadır. Bu düğüm noktaları içerisinden
B, D, F ve C noktalarına uzaklığı en küçük olan
düğüm noktasını seçmeliyiz. B, D, F ve C ile bağlantısı olabilecek düğüm noktaları A, E ve S noktaları, bunların içinde en yakını ise C’ye uzaklığı
1 birim olan A noktasıdır. A noktası ile C noktası
arasında bir kenar ekleyerek bir sonraki iterasyona
geçiyoruz, bakınız Şekil 6.16.
Altıncı iterasyon. Şimdi B, D, F, C, A ve E,
bağlı düğüm noktaları kümesini; S ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır. Bu düğüm noktaları içerisinden potansiyel bağlantı kurulabilecek düğüm noktaları
E, C ve F noktalarıdır. Bunlardan S noktalarına en
yakını ise E noktasıdır. S noktası ile E noktası arasında bir kenar ekliyoruz ve bağlantı kurulmamış
düğüm noktası kalmadığından algoritmayı sonlandırıyoruz, bakınız Şekil 6.18.
A
A
7
7
C
3
4
D
3
2
S
5
4
4
4
3
D
F
Şekil 6.16 Örnek 6.3’e ait dördüncü iterasyon
168
1
C
1
2
5
3
B
3
6
1
6
1
B
E
2
E
2
3
F
Şekil 6.18 Örnek 6.3’e ait altıncı iterasyon
S
6
Yöneylem Araştırması
A
Son iterasyonda elde edilen en küçük kapsayan
ağaç Şekil 6.19’da ayrıca gösterilmiştir. Bu şekilden, tüm düğün noktaları arasında onları bağlayan
bir yolun olduğu görülmekte, ayrıca bu yol çözüm
algoritması ile elde edildiğinden en küçük kapsayan ağaç olduğu da garanti edilebilmektedir.
Böylece Örnek 6.3’ün çözümü tamamlanmış
oldu.
E
2
1
B
1
C
2
S
5
D
3
F
Şekil 6.19 Örnek 6.3’e ait en küçük kapsayan ağaç
Öğrenme Çıktısı
3 En küçük kapsayan ağaç problemini ve bu problemin en iyi çözümünü bulmak için çözüm
algoritmasını açıklayabilme
Araştır 3
Aşağıdaki verilen ağ üzerindeki düğüm noktalarını
ve potansiyel kenar uzunluk değerlerini kullanarak
en küçük kapsayan ağacı
oluşturun.
A
E
6
4
5
3
2
B
2
3
2
C
4
6
5
D
S
İlişkilendir
Anlat/Paylaş
En küçük kapsayan ağaç
problemini kendi deneyiminizden bildiğiniz bir
problem sınıfı (şehirlerarası
yollar veya bulunduğunuz
ilçedeki /mahalledeki doğalgaz, internet şebekesi)
üzerinden yorumlayın.
Kendi okulunuzda tüm
fakültelerin (veya bölümlerin) binalarını kapsayan
bir telefon şebekesi ağı oluşturun. En küçük kapsayan
ağacı nasıl bulabileceğinizi
tartışın.
8
4
F
169
6
öğrenme çıktıları ve bölüm özeti
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
1
Ağ problemlerinin tanımında kullanılan
terminolojiyi açıklayabilme
Ağ Problemlerinde Kullanılan
Terminoloji
Bu bölümde, ağ problemlerine genel bir bakış açısı incelenmekte ve özellikle bu problemlerden iki tanesi: en
kısa yol problemi ve en küçük kapsayan ağaç problemi kapsamlı bir şekilde öğrenilmektedir. Öncelikle ağ problemlerinde kullanılan terminoloji ve temel kavramların tanımları açıklanmış, daha sonra bu bölüm kapsamında
öğrenilen problemlerin tanımları verilerek örnekler üzerinde yorumlanmıştır.
2
En kısa yol probleminin en iyi çözümünü
bulmak için Dijkstra algoritmasını
açıklayabilme
En Kısa Yol Problemi: Dijkstra
Algoritması
Bu bölümde, en kısa yol problemi ile ilgili kısa tarihî bilgiye de yer verilerek bu problemin ilk kez ortaya çıkış
tarihçesi ve bu problem türü için geliştirilen çözüm yöntemleri hakkında da bilgi verilmiştir. En kısa yol problemlerinin çözümü için literatürde de yoğun kullanılan Dijkstra algoritması anlatılmış ve illüstratif örnekler
üzerinde algoritmanın farklı durumlarda nasıl kullanılması gerektiği açıklanmıştır.
3
En küçük kapsayan ağaç problemini ve
bu problemin en iyi çözümünü bulmak
için çözüm algoritmasını açıklayabilme
En Küçük Kapsayan Ağaç
Problemi
Bu bölümde, en küçük kapsayan ağaç problemi ile ilgili kısa tarihî bilgiye de yer verilerek bu problemin ilk
kez ortaya çıkış tarihçesi ve bu problem türü için geliştirilen çözüm yöntemleri hakkında bilgi verilmiştir. En
küçük kapsayan ağaç probleminin tanımı ve özel çözüm yöntemi de çeşitli örnekler üzerinde yorumlanarak en
ince ayrıntılarına kadar anlatılmıştır. Bölüm sonuna eklenmiş alıştırmalar, ağ problemlerinin doğasının ve bu
problem türlerinin en iyi çözümlerini bulmak için açıklanan çözüm yöntemlerinin öğrenilebilmesine yardımcı
olacak şekilde tasarlanmıştır.
170
6
Yöneylem Araştırması
A. Atama problemi
B. Ulaştırma problemi
C. Doğrusal programlama problemi
D. En küçük kapsayan ağaç problemi
E. En kısa yol problemi
4
A
6
5
B
Bu ağda, kenarlar üzerindeki sayılar, bu kenarların bağladığı düğüm noktaları arasındaki uzaklık
değerlerini göstermektedir. B noktasından S noktasına götürecek en kısa yolu bulmak için uygulanacak Dijkstra algoritmasının birinci iterasyonuna
karşı gelen tablo aşağıdakilerden hangisinde doğru
verilmiştir?
A.
Kalıcı küme
{A}
Kalıcı küme
{B}
Kenarlar
Uzaklıklar
A–S
6
A–C
3
Kenarlar
Uzaklıklar
B–A
5
B–C
4
Kenarlar
Uzaklıklar
C–A
2
C–S
8
Kenarlar
Uzaklıklar
C–A
2
C–S
8
B–C
4
Kenarlar
Uzaklıklar
A–S
6
C–S
8
C.
Kalıcı küme
A
{C}
6
S
D.
B
Kalıcı küme
8
{C}
C
A. Yönlendirilmemiş ağ
B. Bağlı olmayan ağaç
C. Kapsayan ağaç
D. Bu ağda bir yönlendirilmiş döngü vardır.
E. Bu ağda bir yönlendirilmemiş döngü vardır.
8
4
B.
3 Aşağıda verilen ağ ile ilgili aşağıdaki ifadelerden hangisi doğrudur?
4
S
Yukarıda bir ağ verilmiştir.
A. Atama problemi
B. Ulaştırma problemi
C. Doğrusal programlama problemi
D. En küçük kapsayan ağaç problemi
E. En kısa yol problemi
2
2
C
2 Bir kargocu, dağıtması gereken kargoları
bulundukları depodan alıp mahalledeki adreslere
teslim ettikten sonra depoya döndüğünde teslim
edilmemiş bir kargonun daha depoda bulunduğunu fark eder. Kargocu bu son kargoyu da belirtilen
adrese en kısa sürede teslim etmek istemektedir.
Mahalledeki tüm adresler arasındaki ulaşım süreleri belirtildiğine göre bu problem türü aşağıdakilerden hangisinde doğru verilmiştir?
5
3
neler öğrendik?
1 Bir kargocu, dağıtması gereken kargoları
bulundukları depodan alıp mahalledeki adreslere
en kısa sürede teslim etmek istemektedir. Elindeki kargoların ulaştırılması gereken tüm adresler
arasındaki ulaşım süreleri belirtildiğine göre bu
problem türü aşağıdakilerden hangisinde doğru
verilmiştir?
E.
Kalıcı küme
{S}
171
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
neler öğrendik?
5
D.
Aşağıda bir ağ verilmiştir.
Kalıcı küme
A
Kenarlar
Uzaklıklar
C–A
4+2=6
6
5
3
2
C–S
4 + 8 = 12
A–C
4+3=7
B–A
5
Kenarlar
Uzaklıklar
A–S
5 + 6 = 11
C–S
4 + 8 = 12
B–A
5
{B, C}
S
B
4
8
E.
C
Kalıcı küme
Bu ağda, kenarlar üzerindeki sayılar, bu kenarların
bağladığı düğüm noktaları arasındaki uzaklık değerlerini göstermektedir. B noktasından S noktasına götürecek en kısa yolu bulmak için uygulanacak
Dijkstra algoritmasının birinci iterasyonuna karşı
gelen tablo aşağıda verilmiştir:
Kalıcı küme
{B}
Kenarlar
Uzaklıklar
B–A
5
B–C
4
{B, S}
6
A
6
Buna göre bir sonraki iterasyona karşı gelen tablo
aşağıdakilerden hangisinde verilmiştir?
5
3
2
S
B
A.
Kalıcı küme
{B, A}
Kenarlar
Uzaklıklar
A–S
5 + 6 = 11
A–C
5+3=8
C–A
2
Kenarlar
Uzaklıklar
A–S
5 + 6 = 11
A–C
5+3=8
B–C
4
Kenarlar
Uzaklıklar
B–A
5
C–S
4 + 8 = 12
C–A
4+2=6
B.
Kalıcı küme
{B, A}
C.
Kalıcı küme
{B, C}
172
Aşağıda bir ağ verilmiştir.
8
4
C
Bu ağda, kenarlar üzerindeki sayılar, bu kenarların
birleştirdiği düğüm noktaları arasındaki uzaklık
değerlerini göstermektedir. Dijkstra algoritmasını
uygulayarak B noktasından S noktasına götürecek
en kısa yolu bulunuz. Bu yol, aşağıdakilerden hangisinde doğru verilmiştir?
A. B – A – S
B. B – C – S
C. B – A – C – S
D. B – C – A – S
E. C – A – S
6
Yöneylem Araştırması
B.
Aşağıdaki ağ verilsin:
B
4
B
6
A
D
7
3
F
F
10
E
7
C
10
8
E
3
C
3
A
7
5
8
D
5
5
6
5
neler öğrendik?
7
C.
Bu ağda, kenarlar üzerindeki sayılar, bu kenarların
birleştirdiği düğüm noktaları arasındaki uzaklık
değerlerini göstermektedir. Dijkstra algoritmasını
uygulayarak A noktasından F noktasına götürecek
en kısa yolu bulunuz. Bu yol, aşağıdakilerden hangisinde doğru verilmiştir?
A. A – D – E – F
B. A – B – F
C. A – B – C – E – F
D. A – B – C – F
E. A – E – F
B
8
5
D
6
F
A
9
8
E
C
D.
B
8
8
Aşağıdaki ağ üzerinde bulunan düğüm noktaları ve potansiyel kenar uzunluk değerleri kullanılarak oluşturulan seçeneklerin hangisinde bir
kapsayan ağaç verilmiştir?
5
D
6
3
F
A
8
3
B
E
C
4
5
8
5
D
6
A
7
9
8
F
3
2
E.
B
3
8
5
10
D
E
C
F
2
A
8
E
A.
B
C
D
5
3
F
2
A
8
E
C
173
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
neler öğrendik?
9
C.
B
4
5
8
8
5
D
6
5
F
3
9
E
E
C
C
Yukarıda verilen ağ üzerindeki düğüm noktalarını
ve potansiyel kenar uzunluk değerlerini kullanarak
oluşturulan en küçük kapsayan ağaç aşağıdakilerden hangisidir?
A.
F
9
8
10
3
D
6
A
7
2
A
8
B
D.
B
5
D
6
F
3
A
B
8
D
5
3
3
F
C
2
A
7
8
E.
E
B
C
B.
D
2
5
B
5
D
5
A
E
C
3
8
3
F
C
3
F
4
A
4
174
E
E
6
Yöneylem Araştırması
10
4
1
5
6
2
K
4
5
A
K
1
C
2
8
4
F
F
D
Yukarıda verilen ağ üzerindeki düğüm noktalarını
ve potansiyel kenar uzunluk değerlerini kullanarak
oluşturulan en küçük kapsayan ağaç aşağıdakilerden hangisidir?
B
K
C
5
4
B
E
1
6
4
K
C
2
6
4
6
E.
A
E
5
A
6
1
D
A.
E
4
1
C
5
B
6
4
A
D.
E
neler öğrendik?
B
5
F
D
4
F
D
B.
4
B
E
6
K
4
6
A
C
5
4
F
D
C.
4
B
E
1
K
6
A
C
5
8
5
F
D
175
neler öğrendik yanıt anahtarı
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
1. D
Yanıtınız yanlış ise “En Kısa Yol Problemi”
ve “En Küçük Kapsayan Ağaç Problemi” konusunu yeniden gözden geçiriniz.
6. A
Yanıtınız yanlış ise “En Kısa Yol Problemi.
Dijkstra Algoritması” konusunu yeniden
gözden geçiriniz.
2. E
Yanıtınız yanlış ise “En Kısa Yol Problemi. Dijkstra
Algoritması” ve “En Küçük Kapsayan Ağaç
Problemi” konusunu yeniden gözden geçiriniz.
7. B
Yanıtınız yanlış ise “En Kısa Yol Problemi.
Dijkstra Algoritması” konusunu yeniden
gözden geçiriniz.
3. E
Yanıtınız yanlış ise “Ağ Problemlerinde Kullanılan Terminoloji” konusunu yeniden gözden geçiriniz.
8. C
Yanıtınız yanlış ise “Ağ Problemlerinde Kullanılan Terminoloji” ve “En Küçük Kapsayan Ağaç
Problemi” konusunu yeniden gözden geçiriniz.
4. B
Yanıtınız yanlış ise “En Kısa Yol Problemi.
Dijkstra Algoritması” konusunu yeniden
gözden geçiriniz.
9. E
Yanıtınız yanlış ise “En Küçük Kapsayan
Ağaç Problemi” konusunu yeniden gözden
geçiriniz.
5. C
Yanıtınız yanlış ise “En Kısa Yol Problemi.
Dijkstra Algoritması” konusunu yeniden
gözden geçiriniz.
10. E
Yanıtınız yanlış ise “En Küçük Kapsayan
Ağaç Problemi” konusunu yeniden gözden
geçiriniz.
Araştır Yanıt
Anahtarı
6
B
F
A
C
E
D
G
Araştır 1
Şekilde belirtilen ağ bir yönlendirilmiş ve bağlı bir ağ olup, 7 düğüm noktası
ve 13 yönlü kenara sahiptir. Olası A ile E noktalarını bağlayan yönlendirilmiş
yollardan bir tanesi AB – BC – CD – DE, aynı düğüm noktalarını bağlayan
yönlendirilmemiş yola örnek olarak AB – BF – EF yolunu gösterebiliriz. Yönlendirilmiş döngü örneği olarak AB – BC – CD – DA yolunu, yönlendirilmemiş döngüye ise BC – CF – BF yolunu örnek olarak gösterebiliriz.
Ayrıca, bazı kenarları kaldırarak, aşağıdaki şekilde gösterilen bir kapsayan ağaç
elde edilebilir:
B
F
A
C
E
D
G
176
6
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
6
A
6
E
5
3
2
B
2
3
4
8
C
S
5
4
6
D
4
1
F
Algoritmayı B başlangıç düğüm noktasından başlatıyoruz. Başlangıç düğüm
noktası B, kalıcı kümeye alınıyor ve bu noktayla bağlantılı tüm düğüm noktaları, bu noktaları bağlayan kenarlar ve ilgili uzaklıklar tabloya işleniyor, bakınız Tablo 6.20.
A
3
C
B
Araştır 2
2
Tablo 6.11 Araştır 2’nin çözümü için uygulanan Dijkstra algoritmasının 1. iterasyonu
Kalıcı küme
{B}
Kenarlar
Uzaklıklar
B–A
3
B–C
2*
Tablo 6.11’in “Uzaklıklar” sütununda yer alan tüm uzaklıklar içinde en küçük olan uzaklık “*” ile işaretleniyor, ilgili düğüm noktası C kalıcı kümeye
alınıyor ve ikinci iterasyon başlatılıyor. Bu iterasyona ait bilgiler Tablo 6.12’de
gösterilmiştir. D düğüm noktası kalıcı kümeye alındığından, Tablo 6.12’de
B – C bağlantısı kaldırılacak ve onun yerine C noktası ile bağlantılı olan kalıcı
küme dışındaki düğüm noktaları ile ilgili kenarlar ve ilgili uzaklıklar eklenecektir. Bu düğüm noktaları eklenirken de yeni uzaklıklar kümülatif olarak
daha önce belirlenmiş olan uzaklığa eklenerek yeni tabloya işlenecektir. Kalıcı
küme dışından C düğüm noktası ile bağlı düğüm noktaları D, E ve S düğüm
noktalarıdır, bakınız Tablo 6.12.
Tablo 6.12 Araştır 2’nin çözümü için uygulanan Dijkstra algoritmasının 2. iterasyonu
Kalıcı küme
{B,C}
Kenarlar
Uzaklıklar
B–A
3*
C–D
2+5=7
C–E
2+4=6
C–S
2+8=10
177
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Araştır Yanıt
Anahtarı
6
Tablo 6.12’de “Uzaklıklar” sütununda yer alan uzaklık değerleri arasında en
küçüğü B – A kenarına karşı gelen 3 birimlik uzaklıktır. Bu nedenle, A düğüm
noktasının kalıcı kümeye alınması gerekiyor. Henüz tüm düğün noktaları kalıcı kümeye alınmadığından 3. iterasyon başlatılıyor. Bu iterasyonda A noktası
kalıcı kümeye alındığından yeni iterasyona karşı gelen Tablo 6.13’te B – A bağlantısı kaldırılacak ve A noktasının bağlı bulunduğu düğüm noktası E ve ilgili
uzaklık değeri kümülatif olarak (daha önce bu noktaya kadar hesaplanmış olan
3 birimlik uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir. C noktası
kalıcı kümede bulunduğundan A – C bağlantısı tabloya eklenmeyecektir, bakınız Tablo 6.13.
Tablo 6.13 Araştır 2’nin çözümü için uygulanan Dijkstra algoritmasının 3. iterasyonu
Kalıcı küme
{B,C,A}
Araştır 2
Kenarlar
Uzaklıklar
A–E
3+6=9
C–D
7
C–E
6*
C–S
10
Tablo 6.13’ün “Uzaklıklar “ sütunundaki en küçük uzaklık değeri 6 birim ve
karşı gelen bağlantı da C – E bağlantısı. Bu nedenle, E düğüm noktasının kalıcı
kümeye alınması gerekiyor. Henüz tüm düğün noktaları kalıcı kümeye alınmadığından 4. iterasyon başlatılıyor. Bu iterasyonda E noktası kalıcı kümeye
alındığından yeni iterasyona karşı gelen Tablo 6.14’te C – E bağlantısı ve bununla birlikte E noktasına daha kötü bir yol belirlemiş olan A – E bağlantısı da
kaldırılacak ve E noktasından çıkış yönünde tek bağlantılı düğüm noktası F ve
ilgili uzaklık değeri kümülatif olarak (daha önce bu noktaya kadar hesaplanmış
olan 6 birimlik uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir, bakınız
Tablo 6.14.
Tablo 6.14 Araştır 2’nin çözümü için uygulanan Dijkstra algoritmasının 4. iterasyonu
Kalıcı küme
{B,C,A,E}
Kenarlar
Uzaklıklar
C-D
7*
E-F
6+3=9
C-S
10
Tablo 6.14’ün “Uzaklıklar “ sütunundaki en küçük uzaklık değeri 7 birim ve
karşı gelen bağlantı da C – D bağlantısı. Bu nedenle, D düğüm noktasının
kalıcı kümeye alınması gerekiyor. Henüz tüm düğün noktaları kalıcı kümeye
alınmadığından 5. iterasyon başlatılıyor. Bu iterasyonda D noktası kalıcı kümeye alındığından yeni iterasyona karşı gelen Tablo 6.15’te C – D bağlantısı
kaldırılacak ve D noktasından çıkış yönünde bağlantılı düğüm noktaları F ve
S, ve ilgili uzaklık değerleri de kümülatif olarak (daha önce bu noktaya kadar
hesaplanmış olan 7 birimlik uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir, bakınız Tablo 6.15.
178
6
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
6
Tablo 6.15 Araştır 2’nin çözümü için uygulanan Dijkstra algoritmasının 5. iterasyonu
Kalıcı küme
{B,C,A,E,D}
Kenarlar
Uzaklıklar
D–F
7+4=11
D–S
7+6=13
E–F
9*
C–S
10
Tablo 6.15’ün “Uzaklıklar “ sütunundaki en küçük uzaklık değeri 9 birim ve
karşı gelen bağlantı da E – F bağlantısı. Bu nedenle, F düğüm noktasının kalıcı
kümeye alınması gerekiyor. Henüz tüm düğün noktaları kalıcı kümeye alınmadığından 6. iterasyon başlatılıyor. Bu iterasyonda F noktası kalıcı kümeye
alındığından yeni iterasyona karşı gelen Tablo 6.16’da E – F bağlantısı ve bununla birlikte F noktasına daha kötü bir yol belirlemiş olan D – F bağlantısı da
kaldırılacak ve F noktasından çıkış yönünde tek bağlantılı düğüm noktası S ve
ilgili uzaklık değerleri de kümülatif olarak (daha önce bu noktaya kadar hesaplanmış olan 9 birimlik uzaklığa eklenerek) hesaplanacak ve tabloya işlenecektir,
bakınız Tablo 6.16.
Araştır 2
Tablo 6.16 Araştır 2’nin çözümü için uygulanan Dijkstra algoritmasının 6. iterasyonu
Kalıcı küme
{B,C,A,E,D,F}
Kenarlar
Uzaklıklar
D–S
13
F–S
9+1=10*
C–S
10*
Tablo 6.16’da “Uzaklıklar” sütunundaki en küçük değer F – S ve C – S kenarlarına karşı gelen 10 birimlik uzaklıktır. Bu nedenle S noktasının da kalıcı kümeye eklenmesi gerekiyor. S noktası da kalıcı kümeye eklenince ağdaki tüm noktalar kalıcı kümede yer alacağından dolayı algoritma sonlandırılacaktır. Böylece
en son eklenen nokta 10 birim uzaklığa karşı geldiğinden bu problemin en
kısa yol değeri 10 olarak belirlenmiş olacaktır. Bu değere karşı gelen en kısa
yolu belirlemek için algoritmada belirtildiği üzere, sondan başa hareket ederek
en iyi değer olan 10 değerini ortaya çıkartan yolu belirlememiz gerekecek. Son
tabloda bu değere iki adet kenar karşı geldiğinden bu, iki adet alternatif en
kısa yol çözümünün var olabileceğini göstermektedir. Bu yolları bulmak için
sondan başa, yıldızlı düğüm noktalarını takip edelim. Birinci çözüm için S – F
(bakınız Tablo 6.16), F – E (bakınız Tablo 6.15), E – C (bakınız Tablo 6.13)
ve C – B (bakınız Tablo 6.11) kenarlarının oluşturduğu S – F – E – C – – B
yolunu veya baştan sona düzeltecek olursak da en kısa yolu B – C – E – F – S
şeklinde bulabiliriz.
Alternatif en kısa yol çözümü için S – C (bakınız Tablo 6.16) ve C – B (bakınız Tablo 6.11) kenarlarının oluşturduğu S – C – B yolunu, veya baştan sona
düzeltecek olursak da alternatif en kısa yolu B – C – S şeklinde bulabiliriz.
179
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Araştır Yanıt
Anahtarı
6
A
6
E
5
3
4
2
B
2
3
2
C
S
5
4
6
4
D
8
F
Birinci iterasyon. Başlangıç olarak B düğüm noktasını seçelim. B’ye en yakın
düğüm noktasının 2 birimlik uzaklık değeri ile C düğüm noktasını belirliyoruz.
B ile C noktalarını bir kenarla birleştiriyoruz, bakınız Şekil 6.21’de bu yeni kenar kalın siyah çizgi ile gösterilmiştir.
A
6
E
5
3
4
2
B
2
3
2
C
Araştır 3
S
5
4
6
4
D
8
F
Şekil 6.3.1 Araştır 6.3’e ait birinci iterasyon.
İkinci iterasyon. Şimdi B ve C bağlı düğüm noktaları kümesini, A, D, E, F, S
ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır. Bu
düğüm noktaları içerisinden B ve C noktalarına uzaklığı en küçük olan düğüm
noktasını seçmeliyiz. B ve C ile bağlantısı olabilecek düğüm noktaları A, D, E
ve S noktaları, bunların içinde en yakını ise C’ye uzaklığı 2 birim olan S noktasıdır. S noktası ile C noktası arasında bir kenar ekleyerek bir sonraki iterasyona
geçiyoruz, bakınız Şekil 6.3.2.
A
6
E
5
3
4
2
B
3
2
2
C
S
5
4
6
D
4
8
F
Şekil 6.3.2 Araştır 6.3’e ait ikinci iterasyon.
180
6
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
6
Üçüncü iterasyon. Şimdi B, C ve S bağlı düğüm noktaları kümesini, A, D, E, F
ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır. Bu
düğüm noktalarının içerisinden B, C ve S noktalarına uzaklığı en küçük olan
düğüm noktasını seçmeliyiz. Bunların içinde en yakını S’ye uzaklığı 2 birim
olan E noktasıdır. S noktası ile E noktası arasında bir kenar ekleyerek bir sonraki
iterasyona geçiyoruz, bakınız Şekil 6.3.3.
A
6
E
5
3
4
2
B
2
3
2
C
S
5
4
6
4
D
8
F
Şekil 6.3.3 Araştır 6.3’e ait üçüncü iterasyon.
Araştır 3
Dördüncü iterasyon. Şimdi B, C, S ve E bağlı düğüm noktaları kümesini, A, D,
F ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır.
Bu düğüm noktalarının içerisinden B, C, S ve E noktalarına uzaklığı en küçük
olan düğüm noktasını seçmeliyiz. Bunların içinde en yakını B’ye uzaklığı 3 birim olan A noktasıdır (aslında F ile E arasındaki uzaklık da 3 birimdir, biz bu
iterasyonda keyfi olarak A noktasını seçtik). B noktası ile A noktası arasında bir
kenar ekleyerek bir sonraki iterasyona geçiyoruz, bakınız Şekil 6.3.4.
A
6
E
5
3
4
2
B
3
2
2
C
S
5
4
6
D
4
8
F
Şekil 6.3.4 Araştır 6.3’e ait dördüncü iterasyon.
Beşinci iterasyon. Şimdi B, A, C, S ve E bağlı düğüm noktaları kümesini, D,
F ise henüz bağlantı kurulmamış düğüm noktaları kümesini oluşturmaktadır.
Bu düğüm noktalarının içerisinden B, A, C, S ve E noktalarına uzaklığı en küçük olan düğüm noktasını seçmeliyiz. Bunların içinde en yakını E’ye uzaklığı 3
birim olan F noktasıdır. E noktası ile F noktası arasında bir kenar ekleyerek bir
sonraki iterasyona geçiyoruz, bakınız Şekil 6.3.5.
181
6
Ağ Problemleri: En Kısa Yol Problemi ve En Küçük Kapsayan Ağaç Problemi
Araştır Yanıt
Anahtarı
6
A
6
E
5
3
4
2
B
2
3
2
C
S
5
4
6
4
D
8
F
Şekil 6.3.5 Araştır 6.3’e ait beşinci iterasyon.
Altıncı iterasyon. Şimdi geriye henüz bağlantı kurulmamış bir tek D düğüm
kalmıştır. Bu düğüm noktası ile bağlı noktalara en kısa uzaklık olarak iki tane
kullanılabilir. B – D veya F – D kenarlarının her ikisi de 4 birim uzaklığa sahip
olduğundan her hangi birisi seçilerek algoritma sonlandırılabilir, diğer seçenek
alternatif çözüm olarak değerlendirilebilir, bakınız Şekil 6.3.6, 6.3.7 ve 6.3.8.
A
Araştır 3
6
E
5
3
4
2
B
2
3
2
C
S
5
4
6
4
D
8
F
Şekil 6.3.6 Araştır 6.3’e ait altıncı iterasyon.
Araştır 6.3’e ait en küçük kapsayan ağaç Şekil 6.3.7’de ayrıca gösterilmiştir.
B
4
3
A
D
2
C
2
S
2
3
F
E
Şekil 6.3.7 Araştır 6.3’e ait en küçük kapsayan ağaç.
182
6
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
6
Araştır 6.3’e ait alternatif en küçük kapsayan ağaç, Şekil 6.3.8’de gösterilmiştir.
B
3
Araştır 3
2
A
C
E
2
S
2
D
3
4
F
Şekil 6.3.8 Araştır 6.3’e ait en küçük kapsayan ağaç örneği için alternatif çözüm.
Kaynakça
R. Bellman, On a routing problem, Quarterly Applied
Mathematics, 16, 87–90, 1958.
G. B. Dantzig, Discrete variable extremum problems,
Operations Research, 5, 2, 266–277, 1957.
S.I. Gass and A.A. Assad, An Annotated Timeline
of Operations Research. An Informal History,
Springer Science + Business Media, Inc., Kluwer
Academic Publishers, 2005.
F.S. Hillier, G.J. Lieberman, Introduction to
Operations Research, Eighth Edition, McGrawHill, 2005.
J. B. Kruskal, On the shortest spanning subtree of
a graph and the traveling salesman problem,
Proceedings of the American Mathematical Society,
7, 1956, 48–50
G. J. Minty, A comment on the shortest-route
problem, Operations Research, 5, 5, p. 724, 1957.
G. J. Minty, A variant of the shortest route problem,
Operations Research, 6, 6, 882–883, 1958.
R. C. Prim, Shortest connection networks and some
generalizations, Bell System Technical Journal,
36,1389–1401, 1957.
183
Bölüm 7
öğrenme çıktıları
Tamsayılı Programlama Modelleri
Tamsayılı Programlama Türleri
1
3
1 Tamsayılı programlama türlerini
açıklayabilme
2 Tamsayılı Programlamanın Doğrusal
Programlamadan farkını kavrayabilme
Tamsayılı Programlama Problemlerinde
Özel Kısıtlar
4 Tamsayılı programlama problemlerinde
karşılaşılan özel kısıtları anlayabilme ve
formüle edebilme
2
4
Temel Tamsayılı Programlama
Problemleri
3 Temel tamsayılı programlama
problemlerini tanıma ve bu problemler için
matematiksel modelleri geliştirebilme
Tamsayılı Programlama Problemleri
Çözüm Yaklaşımları
5 Tamsayılı programlama problemleri çözüm
yaklaşımları hakkında bilgi sahibi olabilme
Anahtar Sözcükler: • 1-1 Tamsayı • Karma Tamsayı • Sırt Çantası • Sermaye Bütçeleme
• Tesis Yeri Seçimi • Sabit Maliyetler • Küme Kapsama • Ya-Ya da Kısıtları
184
7
Yöneylem Araştırması
GİRİŞ
Yöneylem Araştırması kitabınızın ilk ünitelerinde doğrusal programlama problemleri (DP) modelleri ve çözümlerini ele aldınız. DP’nin varsayımlarını hatırlayacak olursak; bölünebilirlik varsayımına
göre karar değişkenleri ondalıklı değerler alabilmektedir. Ancak, üretim ve reklam gibi alanlarda
karar değişkenlerinin alacağı günlük 8.3 adet üretim miktarı veya bir adet reklam ile erişilecek 920.5
adet müşteri gibi değerler uygulamada mümkün
değildir. Bu değerler tamsayı olmalıdır. Gerçek hayat problemlerinin bir kısmında da hangi üründen
ne kadar üretileceği kararının yanı sıra, hangi ürünün üretileceği kararı da verilmektedir. Evet/hayır,
üret/üretme gibi bu tarz kararların alındığı problemlerin karar değişkenleri de 0-1 tamsayı değerlerini almaktadır. 5. ünitede incelenen atama problemleri de karar değişkenleri 0-1 ikili değişkenler
olan tamsayılı programlama problemlerindendir.
Karar değişkenlerinin tamsayı değer alması gereken karar problemleri Tamsayılı Programlama
Problemi (TP) yerine bir DP problemi olarak ele
alınırsa ele edilen ondalıklı değerleri tamsayı değere yuvarlayarak çözümü gerçekçi bir çözüm hâline
getirebiliriz. Ancak saatte 8.3 adet bilgisayar üretme kararı 9 adet bilgisayar üretme kararına yuvarlandığında, bu tamsayı çözüm uygun çözüm alanı
dışına çıkabilir, yani yuvarlanan çözüm probleme
ait kısıtları sağlamayabilir. Önce uygun, sonra da
en iyi çözüme ulaşmak karar değişkenlerinin doğru tanımlanmasına oldukça bağlıdır. Bu ünite ile
önce, tamsayı programlamanın genel tanımı ve
türleri verilmiştir. Ardından sıklıkla karşılaşılan TP
problemleri ve örnek problemler için matematiksel
modelleri ile gerçek uygulamalarda karşılaşılan özel
kısıtlar verilmiştir. TP problemleri için geliştirilen
çözüm yaklaşımları, bu kitapta sizlere verilen DP
problemlerinin çözüm yaklaşımlarına göre oldukça karmaşıktır. Bu sebeple, son bölümde TP için
temel çözüm yaklaşımları farkındalık oluşturmak
için küçük bir örnek ile tanıtılmıştır.
TAMSAYILI PROGRAMLAMA
TÜRLERİ
Karar problemlerini bölünebilirlik varsayımı
kaldırılarak, yani karar değişkenlerinin tamsayı
değerler almaları sağlanarak birçok gerçek hayat
problemi daha gerçekçi bir şekilde ele alınmaktadır. Ancak, en iyileme problemlerini tamsayılı
programlama problemi olarak modellemek doğrusal programlamaya göre daha zor ve aynı zamanda
çözümü de daha zaman alıcı ve zordur.
TP’nin farklı türleri bulunmaktadır. Ancak,
bir problemin TP olup olmadığını belirleyen ortak unsur, karar değişkenlerinin tamsayı değer alıp
almamasıdır. Bir tamsayılı programlama modeli
parametreler yani amaç fonksiyonu katsayıları (cj),
kısıtlarda yer alan teknik katsayılar (aij) ve sağ taraf
sabitleri (bi) tamsayı olmak zorunda değildir. Aşağıda, bu duruma örnek olarak bir TP problemine
ait matematiksel model verilmiştir.
(TP1): 3.8 x1 + 2x2 ≤ 10
6 x1 - x2 ≤ 19.3
x1, x2 ≥ 0 ve tamsayı
k.a.
Enb Z = 8.4 x1 + 4x2
Örnekte de görüldüğü gibi, birinci kısıtta yer
alan 3.8 teknik katsayısı, ikinci kısıtın sağ taraf sabiti olan 19.3 ve amaç fonksiyonunda birinci karar
değişkeninin katsayısı olan 8.4 tamsayı değer değildir. Bu problemi tamsayılı programlama problemi
yapan unsur, karar değişkenlerinin “tamsayı” olarak tanımlanmasıdır.
Tamsayı programlama modeli, bir veya
daha fazla karar değişkeninin sadece tamsayı değerlerine sahip olması haricinde,
doğrusal bir programlama modeline özdeş olan matematiksel temsile sahip bir
modeldir.
dikkat
Bir problemi TP problemi yapan unsur,
karar değişkenlerinin “tamsayı” olarak
tanımlanmasıdır.
185
7
Tamsayılı Programlama Modelleri
Saf Tamsayılı Programlama
Problemleri
0-1 Tamsayılı Programlama
Problemleri
Karar değişkenlerinin tümünün alması gereken değerlerin tamsayı olduğu karar problemleridir. xj j. karar değişkeni olmak üzere, karar değişkenlerinin gösterimi izleyen şekildedir:
0-1 tams ayılı programlama problemleri, karar
değişkenlerinin tümünün ya “0” ya da “1” değerlerini aldığı karar problemleridir. 0 veya 1 değerini alan değişkenler aynı zamanda ikili değişken
olarak da adlandırılır. İkili değişkenler genellikle
Evet/Hayır kararlarını formüle etmek ve mantıksal koşulları uygulamak için kullanılır. Üret/Üretme, Al/Alma, Kur/Kurma gibi kararlar Evet/Hayır kararlarına örnek olarak verilebilir. xj j. karar
değişkeni olmak üzere, karar değişkenlerinin 0-1
tamsayılı programlama problemlerinde gösterimi
izleyen şekildedir:
xj ≥ 0 ve tamsayı ,∀j ( j = 1,n)
Üç farklı ürün üreten bir firmanın, önümüzdeki ay maliyetlerini en küçükleyecek üretim miktarlarını belirlemeyi amaçlayan bir TP’nin matematiksel modelinde, xj j. ürün üretim miktarı olmak
üzere, karar değişkenleri x1, x2, x3 ≥ 0 ve tamsayı
olarak tanımlanmalıdır. Probleme ait geliştirilen
matematiksel modelde başka türde bir karar değişkeni tanımlanmadıysa, bu problem bir saf tamsayı
programlama problemidir. (TP2) ile verilen matematiksel model, bir saf tamsayılı programlama
problemine örnek olarak verilebilir.
(TP2): 3x1 + 2x2 ≤ 10
6 x1 – x2 ≤ 19
x1, x2 ≥ 0 ve tamsayı
k.a.
Enb Z = 4 x1 + 5x2
Bir saf tamsayılı programlama probleminde karar değişkenlerinin alacağı değerlere bakacak olursak; örneğin, x1=2, x2 = 2 tamsayı değer olduğu
için uygun bir çözüm iken x1=1, x2 = 2,78 kısıtları
sağlasa bile ikinci karar değişkeni tamsayı bir değer
almadığı için uygun çözüm olamaz.
Bu problem türünde, karar değişkenlerinin alacağı değerlerin tamsayı olduğu bilinmelidir. Örneğin, gazlı içecekler üreten bir firmanın üretim
miktarı 1.2 litre olabilir. Ancak üretim miktarı şişe
adedi olarak belirlendiyse, 1.2 adet şişe üretilemeyeceği için geliştirilecek model mutlaka saf tamsayılı programlama problemi modeli olmalıdır.
xj ∈ {0,1}, ∀j ( j = 1,n)
Bazı kaynaklarda xj = 0 veya 1 şeklindeki gösterim de kullanılmaktadır.
Bir 0-1 tamsayılı programlama problemi için
örneğin x1 = 1 uygun bir çözüm iken, x3 = 0,78 0
ya da 1 değeri almadığı için uygun çözüm olamaz.
Bu problem türünü bir örnek ile inceleyelim.
İkili Değişken: Sadece 0 veya 1 değerini
alan değişkenler.
ÖRNEK 7.1 Açıköğretim Fakültesi, her dönem
sonunda öğrencilerine not ortalamalarına göre ödül
puanı vermektedir. 100 puan toplayan öğrenciler
ödüllerden elde edecekleri faydayı en büyükleyecek
şekilde ödül seçimi yapmaktadır. Tablo 7.1’de her
bir ödülün puanı ve faydası verilmiştir. Buna göre,
100 puanı olan bir öğrencinin hangi ödülleri seçeceğini belirleyecek karar modelini kurunuz.
Tablo 7.1 Ödül-Puan-Fayda Tablosu
Burs AÖF yemeği Tablet
dikkat
Bir TP matematiksel modeli geliştirilirken, karar değişkenlerinin alacağı değerlerin tamsayı
olduğu bilinmelidir.
186
Ödül no 1
Puan
30
Fayda 8
2
20
10
3
60
12
Sertifika
programı
4
75
20
7
Yöneylem Araştırması
Her öğrencinin 100 puanlık bütçesini belirlenmiş dört ayrı ödül için kullanması gerekmektedir. Ancak
her bir ödülün puan ve fayda değeri farklıdır. Elde edilecek toplam faydayı en büyükleyecek şekilde, hangi
ödülün seçileceğini belirleyecek karar değişkeni xj izleyen şekilde belirlenmiştir.
⎧⎪ 1; j.ödül seçilirse
, j = 1,2,3,4
xj = ⎨
⎪⎩ 0;diğer durumda
Karar değişkeni tanımını açıkça yazacak olursak, bu problemde dört ödül olduğundan dört karar değişkeni bulunmaktadır.
⎧⎪ 1; burs ödülü seçilirse
,
x1 = ⎨
0;burs
ödülü
seçilmezse
⎩⎪
⎧⎪ 1; AÖF yemeği ödülü seçilirse
x2 = ⎨
⎩⎪ 0; AÖF yemeği ödülü seçilmezse
⎧⎪ 1; tablet ödülü seçilirse
,
x3 = ⎨
⎩⎪ 0;tablet ödülü seçilmezse
⎧⎪
x4 = ⎨
⎩⎪
1;sertifika programı ödülü seçilirse
0;sertifika programı ödülü seçilmezse
Karar değişkeninin belirlenmesinin ardından probleme ait Matematiksel Model (TP3) ile verilmiştir.
(TP3) 30x1 + 20 x2 + 60x3 + 75x4 ≤ 100
x1, x2, x3, x4 ∈ {0,1}
k.a.
Enb Z = 8x1 + 10x2 + 12x3 + 20x4
(7.1)
(7.2)
(1) no’lu eşitsizlikle gösterilen puan kısıtı, bir öğrenci en fazla 100 puan harcayabileceği için bir kapasite
kısıtı olarak ele alınmıştır. Dolayısıyla “≤” lik kısıtıdır. Bu kısıtta, tüm ödüllerin seçilemeyeceği, yani tüm
karar değişkenlerinin 1 değerini alamayacağı görülmektedir. Eğer tüm karar değişkenleri 1 değerini alırsa,
ilgili kısıt
30x1 + 20 x2 + 60x3 + 75x4 ≤ 100
30(1) + 20(1) + 60(1) + 75(1) = 185 ve 185≰100 olmakta ve kısıt sağlanmamaktadır.
Örneğin, burs ve sertifika ödülleri seçilmek istenirse (x1 = 1 ve x4 = 1),
30x1 + 20x2 + 60x3 + 75x4 = 30(1) + 20(0) + 60(0) + 75(1) = 105 puan olacağı için 100 puan bütçesi
aşılacak, bu çözüm de uygun bir çözüm olmayacaktır.
(2) no’lu eşitlikte verilen amaç fonksiyonu da seçilen ödüllerin getireceği toplam faydanın en büyüklenmesi yönündedir. Dolayısıyla geliştirilen bu model ile bütçe aşılmayacak şekilde en büyük faydayı verecek
ödül veya ödüller seçilecektir. x1= 1, x2 = 0, x3 = 0, x4 = 1 çözümünde, yani burs ve sertifika ödüllerinin
seçildiği çözümde elde edilecek fayda
Z = 8x1 + 10x2 + 12x3 + 20x4
= 8(1)+10(0)+12(0)+20(1) =28 olacaktır.
187
7
Tamsayılı Programlama Modelleri
Karma Tamsayılı Programlama Problemleri
Karar değişkenlerinin bir kısmının tamsayı, diğer kısmının da reel değer aldığı karar problemleridir.
Örneğin, gazlı içecek üreten bir firma ilgili planlama döneminde en düşük maliyetle hangi içecek türünden,
ne kadar miktarda üreteceğini araştırabilir. İlgili problemde hangi içecek türünün üretilip üretilmeyeceğini
belirleyen karar değişkeni yj 0-1 ve üretim miktarını belirleten xj de negatif olmayan karar değişkenidir. Bu
örnekte, daha önce de değinildiği gibi, üretilen ürün sıvı bir ürün olduğu için, üretim miktarı sürekli bir
değişken (3.5 ton vb.) olabilir. Karar değişkenlerinin TP modelinde gösterimi, problemde karar değişkenlerinin alabileceği değerlere bağlı olarak izleyen şekillerde olabilir.
y1, y2 ∈ {0,1} veya
xj ≥ 0
y1, y2 ≥ 0 ve tamsayı
xj ≥ 0
Bir karma tamsayılı programlama problemi için örneğin, x1 = 6,7 ve y1 = 1 hem reel hem de tamsayı
değer alma kısıtı sağlandığı için uygun bir çözümdür. (TP4)’de bir karma tamsayılı programlama modeline
örnek verilmiştir.
(TP4) 30x1 + 20x2 ≤ 100
x1, x2 ≥ 0
x1 tamsayı
k.a.
Enk Z = 8x1 + 10x2
Yaşamla İlişkilendir
GÜNLÜK HAYATIMIZDA MATEMATİK VE BİZ: YÖNEYLEM UYGULAMALARI
“Bu yazımızı okuyup, inanılmaz yaratıcı ve
zevkli bir bilim dalı olan matematiğin günlük
hayatımızda ne tür işlere yaradığını birkaç basit
örnekle gördükten sonra umarız fikriniz biraz da
olsun değişecektir. Yazımızda verdiğimiz tüm örnekler uygulamalı matematiğin bir alt dalı olan
ve endüstri mühendisliğinin bel kemiği diye nitelendirebileceğimiz yöneylem araştırmasından
esinlenilmiştir.
Yöneylem hayal edemeyeceğiniz kadar çok
alanda çözüm kolaylıkları sunuyor ve pek çok
firma ve araştırma merkezi bünyesinde matematiksel modeller ve yazılım programları geliştiren
mühendisler çalıştırıyor. Mesela tekstil sektöründe, giysilerin kumaşlardan istediğimiz boyutlarda kesimi esnasında çöpe giden kumaş miktarını
en aza indirme programları yazılıyor. Hatta aynı
programlar kâğıt sektöründe de kullanılıyor: fark-
188
lı boyutlarda kâğıtlar büyük rulolardan optimal
kesim şemaları hesaplandıktan sonra kesiliyor.
Elektrik santrallerinin enerji planlarının hesabı
esnasında da tamsayılı doğrusal programlama
modelleri kullanılıyor. Nükleer, hidroelektrik,
termik, rüzgâr, güneş, vs. enerji kaynaklarından
hangilerinin ne kadar süre çalıştırılıp ne zaman
bakım onarımlarının yapılması gerektiğinin bulunması da üzerinde çalışılan ilginç bir problem.
Tren çizelgelerinin veya okul/üniversitelerde
ders çizelgelerinin hazırlanması, uçuş planlarının dinamik şekilde hesaplanması, yük gemileri
için konteyner yükleme planlarının bulunması,
hastane, üniversite, süpermarket veya depolarda
yerleşim planlarının çizilmesinde hep yöneylem
karşımıza çıkıyor.
Gündelik yaşamınızdan örnekler verecek
olursak:
• Evimizden taşınırken karton kutuları taşıma
kamyonuna yüklemeyi nasıl optimize edip,
7
Yöneylem Araştırması
•
•
•
•
hangi büyüklükteki kartonu hangisinin üzerine koymalıyız?
Kampa giderken belli kapasiteye sahip çantamızın içine her birinin belli hacmi, ağırlığı ve
önemi olan eşyalardan hangilerini koymalıyız?
Haritalarda (dünya haritası, şehir planı veya
üniversite yerleşke planı olabilir) komşu bölgeler farklı renklerde boyanacak şekilde en az
kaç renk kullanmalıyız?
Sudoku oyununda sonucu hızlıca nasıl bulabiliriz?
Büyük bir tarla veya bahçeyi ekip biçerken
elimizdeki kısıtlı kaynakları (gübre, arazi,
tohum miktarı gibi) göz önünde tutup, elde
edilecek hasat ve getireceği kâr göz önüne
alınarak tarlamıza neleri ekip biçebiliriz?
Yöneylem uygulamalarına dair daha yüzlerce
örnek verebiliriz [2]. Günümüzde bu tür problemleri bilgisayarlarımıza basitçe yükleyebildiğimiz yazılım programlarıyla modelleyip çözmemiz
mümkün. Bir sonraki yazımızda bu zevkli problemlerden birkaçını seçip, sizlere basit bir dille
matematiksel modellemelerin nasıl yapılabileceğini ve optimal sonuca ulaşmamızı sağlayan çözüm aşamalarını anlatacağız. Umarız matematik
korkunuz biraz olsun azalmıştır!”
Kaynak: Akbalık. A. (2019). Günlük Hayatımızda Matematik ve Biz: Yöneylem Uygulamaları.
Matematik, Tanısan Seversin. https://epistemturkiye.org/gunluk-hayatimizda-matematik-ve-bizyoneylem-uygulamalari/
Öğrenme Çıktısı
1 Tamsayılı programlama türlerini açıklayabilme
2 Tamsayılı Programlamanın Doğrusal Programlamadan farkını kavrayabilme
Araştır 1
Bir kargo uçağına farklı ağırlıkta ürünler yüklenecektir.
Her bir ürünün taşıma maliyeti de farklılaşmaktadır.
Ayrıca, uçağın da bir taşıma
kapasitesi bulunmaktadır.
Toplam taşıma maliyetinin
en küçüklenmeye çalışıldığı
bu problemde karar değişkenini belirleyin.
İlişkilendir
Anlat/Paylaş
Bir kamyon fabrikasında
üretilecek kamyonlar, bir
plastik enjeksiyon fabrikasında üretilecek buzdolabı
parçaları ile bir serada yetiştirilecek çiçekler arasındaki
ilişkiyi belirleyin.
DP problemlerini ele aldığınız bölümdeki modellere
ait karar değişkenlerinin
tamsayı değerler alabilme
durumunu inceleyin. Gerçek hayatta hangisinin geçerli olacağını paylaşın.
TEMEL TAMSAYILI PROGRAMLAMA PROBLEMLERİ
Temel tamsayı programlama problemlerine ait matematiksel modellerin iyi bir şekilde kavranması gerekmektedir. Bu bölümde, çok bilinen tamsayılı programlama problemleri ve matematiksel modelleri ele
alınmıştır.
Ürün Karması Belirleme Problemi
Hangi üründen ne kadar miktarda üretileceğinin belirlendiği ürün karması problemi bir saf tamsayılı
programlama problemidir.
189
7
Tamsayılı Programlama Modelleri
ÖRNEK 7.2 Bir mobilya firması hem çalışma
masası hem de kitaplık üretmektedir. Bir çalışma
masasının üretimi için 3 saat işçilik ve 6m2 sunta
plaka; bir kitaplık üretimi için de 4 saat işçilik ve
8m2 sunta plaka gerekmektedir. Firmanın mevcut
durumdaki üretim kapasitesi haftada 60 saat işçilik
ve 80m2 sunta ile sınırlıdır. Firma, bir çalışma masası satışından 400 lira kâr elde ederken, kitaplık satışından da 275 lira kâr elde etmektedir. Bu durumda,
kârını en büyüklemek isteyen firmanın ürün karmasını belirleyecek matematiksel modeli kurunuz.
Problemde bize verilen parametreler, her bir
ürün için gerekli işçilik saatleri ve ham madde
miktarı ile birim kâr değerleridir. Burada dikkat
etmemiz gereken nokta, üretilecek ürün sayılarının
tamsayı olması gerekliliğidir. Örneğin, 6.3 adet kitaplık üretilemez. Üretilecek kitaplık sayısı ya 6 ya
da 7’dir. Buradan yola çıkarak belirlenen karar değişkenleri ve ardından kurulan matematiksel model (TP5) izleyen sırada verilmiştir.
x1: bir haftada üretilecek çalışma masası sayısı
x2: bir haftada üretilecek kitaplık sayısı
(TP5): 3x1 + 4x2 ≤ 60
6x1 + 8x2 ≤ 80
x1, x2 ≥ 0 ve tamsayı
k.a.
Enb Z = 400x1 + 275x2
(7.3)
(7.4)
(7.5)
3x1 + 4x2 = 3(3) + 4(6) = 33 saat olacaktır. Firmanın elindeki haftalık kullanılabilir işçilik saati
60 saat olduğundan bu kısıt sağlanacaktır.
(7.4) no’lu kısıt ise hammadde kısıtıdır. Üretilecek masa ve kitaplık sayısına bağlı olarak kullanılacak sunta miktarı en fazla 80m2’dir. Dolayısıyla bu
kısıt da bir “≤” lik kısıtıdır. Bir önceki kısıt için verilen örnek üretim değerleri (x1 = 3, x2 = 6), 66m2
sunta gerektirmektedir. Gerekli miktar, sunta kapasitesini aşmamaktadır:
190
Sermaye Bütçeleme Problemi
Firmalar belirlenen bir planlama dönemi boyunca bütçeleri sınırlı olduğu için, n tane aday projenin hepsini yatırım yapmak üzere seçememektedir. Dolayısıyla firma bütçesi aşılmayacak şekilde
n tane projeden, toplam geliri en büyükleyecek
olanların seçimi sermaye bütçeleme problemi olarak
tanımlanır. Probleme ait parametreler, ardından
karar değişkeni ve kapalı formdaki model izleyen
sırada verilmiştir:
Parametreler:
cj : j. projeden elde edilecek gelir
aj : j. proje için gerekli yatırım miktarı
b : firmanın kullanılabilir bütçesi
j = 1,n
(7.3) no’lu eşitsizlik, işçilik kısıtıdır. Üretilecek
masa ve kitaplık sayısına bağlı olarak kullanılacak
işçilik saati en fazla 60 saattir. Diyelim ki, bir haftada masadan 3 adet (x1 = 3) ve kitaplıktan da 4
adet (x2 = 6) üretme kararı alınsın. Bu durumda,
bu miktardaki üretim için gerekli işçilik saati:
6x1 + 8x2 = 6(3) + 8(6) = 66m2
Son olarak, (7.5) no’lu eşitlik toplam elde edilecek gelirin en büyüklendiği amaç fonksiyonudur.
Bu problemde unutulmamalıdır ki, üretim miktarı
negatif olamayacağı gibi 6.4 adet kitaplık şeklinde
reel bir değer de olamaz. Bu sebeple işaret kısıtı “x1,
x2 ≥ 0 ve tamsayı” şeklinde yazılmıştır. Problemde
yer alan her iki karar değişkeni de pozitif karar değişkeni olduğu için, bu problem bir saf tamsayılı
programlama problemidir.
Karar değişkeni:
⎧⎪ 1;
xj = ⎨
⎪⎩ 0;
aj * xj ≤ b
xj ∈ {0,1}
j.projeye yatırım yapılırsa
diğer durumda
, j = 1,...,n
(7.6)
∀j, j = (1,n)
k.a.
Enb Z = ∑n cj * xj
j=1
(7.7)
(7.6) no’lu kısıt, ilgili planlama dönemi için en
fazla eldeki sermaye kadar yatırım yapılmasını sağlamakta, yani bütçenin aşılmamasını garantilemektedir. (7.7) no’lu eşitlikte verilen amaç fonksiyonu
da seçilen projelerin gelirleri toplamını (c1 * x1 + c2
* x2 + ... +cn * xn) en büyükler. Yani 1 değerini alan
karar değişkenleri ile seçilen projelerin gelir değeri
çarpımlarının toplamı en büyüklenmektedir.
7
Yöneylem Araştırması
ÖRNEK 7.3 ABC firması, dört farklı yatırım yapmayı düşünmektedir. Yatırım 1’in net bugünkü
değeri 16,000$ olacaktır; diğer yatırımların da net bugünkü değerleri sırasıyla 22,000, 12,000 ve 8,000
dolardır. Her bir yatırım için şu anda belirli bir nakit çıkışı gerekmektedir. Dört yatırım aracının nakit
çıkışları sırasıyla 5,000$, 7,000$, 4,000$ ve 3,000$’dır. Firmanın yatırım için kullanılabilir 14.000$’ı bulunmaktadır. ABC firması için, yatırımlardan elde edilecek net bugünkü değeri en büyükleyecek tamsayılı
programlama probleminin matematiksel modelini kurunuz (Winston, 2004).
Problemde net bugünkü değeri en büyükleyecek yatırımların belirlenmesi gerektiği için, dört yatırımdan hangilerinin seçileceği belirlenecektir. Dolayısıyla seçilme durumunda 1, diğer durumda 0 değerini
alacak dört adet 0-1 karar değişkeni tanımlamamız gerekmektedir.
⎧⎪ 1; yatırım1seçilirse
,
x1 = ⎨
⎩⎪ 0; yatırım1seçilmezse
⎧⎪ 1; yatırım2seçilirse
x2 = ⎨
⎩⎪ 0; yatırım2seçilmezse
⎧⎪ 1; yatırım3seçilirse
,
x3 = ⎨
⎪⎩ 0; yatırım3seçilmezse
⎧⎪
x4 = ⎨
⎪⎩
1; yatırım4seçilirse
0; yatırım4seçilmezse
Karar değişkenlerinin belirlenmesinin ardından, sermaye bütçeleme probleminin modeli (TP6) verilmiştir. Teknik katsayılar, birim katkılar ve sağ tarafa sabiti değerleri bin dolar cinsinden yazılmıştır.
(TP6): 5x1 + 7x2 + 4x3 + 3x4 ≤ 14
x1, x2, x3, x4 ∈ {0,1}
k.a.
Enb Z = 16x1 + 22x2 + 12x3 + 8x4
(7.8)
(7.9)
(7.8) no’lu kısıt ile, seçilecek yatırımlar için yapılacak nakit çıkışının firmanın bütçesi olan 14 bin doları aşmaması garantilenmiştir. Örneğin, x1=1, x2=1, x3= 0, x4 = 0 olduğunda firma yatırım 1 ve yatırım 2
aracını seçmiş demektir ve bu iki yatırım aracı için gerekli nakit çıkışı 5(1) +7(1)+4(0)+3(0)=12 bin dolar
olacaktır. Firma bütçesi olan 14 bin dolar aşılmadığı için bu çözüm, uygun bir çözümdür.
Bir yatırım aracı seçildiğinde, xj =1 olduğunda, (7.9) no’lu eşitlikte verilen amaç fonksiyonunda bu
yatırım aracının net bugünkü değeri toplam getiriye eklenecektir. xj =0 olduğunda, yani j. yatırım aracı
seçilmediğinde net bugünkü değeri toplam getiriye dahil edilmeyecektir. Hangi yatırım kombinasyonu
yapılırsa yapılsın, (7.9) no’lu eşitlikte bu yatırım kombinasyonunun net bugünkü değeri elde edilecektir.
Örneğin, firma 1 ve 2 yatırımlarına yatırım yaparsa (x1=1, x2=1):
Z =16x1 + 22x2 + 12x3 + 8x4 = 16(1)+22(1)+12(0)+8(0)=38 bin dolar net bugünkü değer elde edilir.
Bu yatırım kombinasyonu (x1=1, x2=1, x3 = 0, x4 = 0)’a karşılık gelir.
Karar değişkelerinin hepsi ya 0 ya da 1 değerini alan değişkenler olduğu için, sermaye bütçeleme problemi bir 0-1 tamsayılı programlama problemidir.
Tesis Yeri Seçimi Problemi
dikkat
Sermaye bütçeleme problemleri birden fazla
planlama dönemi için de ele alınabilir. m adet
planlama dönemi göz önüne alındığında, bütçe
kısıtı sayısı birden, m’e çıkacaktır. Her bir dönem için de bütçe kısıtı ayrı ayrı yazılacaktır.
Birçok şirket düşük işçilik ve taşıma maliyetlerinden vb. yararlanmak için dünyanın ve/veya bulunduğu
ülkenin çeşitli yerlerinde yeni tesisler açmaktadır. Yeni
bir tesis için bir yer seçmeden önce, birçok potansiyel
bölgenin analiz edilmesi ve karşılaştırılması gerekebilir. Potansiyel alanların her biri, “evet/hayır, aç/açma”
kararını içerir. Birçok uygulamada da amaç, toplam
maliyetleri en küçükleyecek yeni tesisleri açmaktır.
191
7
Tamsayılı Programlama Modelleri
Tesis yeri seçimi problemi hem reel hem de 0-1
tamsayı değişkenlerin olduğu bir karma tamsayılı
programlama problemi olarak ele alınabilir. Belirli
bir bölgedeki n tane müşterisine ürün gönderen
bir firma, ürün “taşıma maliyetlerini” azaltmak
amacıyla dağıtım yapmak üzere ilgili bölgede olası m adet farklı lokasyonda depo açmak isteyebilir. Ancak, açacağı her bir depo için de bir “depo
açma maliyetine” katlanmak zorunda olduğu
unutulmamalıdır. Bu sebeple, aday lokasyonların
her birinde depo açmak akıllıca bir karar olmayacaktır. Firmalar nihayetinde, depo açma maliyeti ve açılan depodan müşterilere ürün gönderme
maliyetleri toplamlarını en küçüklemek ister. En
temel depo yeri seçimi problemi için parametreler, karar değişkenleri ve kapalı model izleyen sırada verilmiştir:
Parametreler:
cij : i. lokasyondaki depodan j. müşteriye ürün
taşıma maliyeti
fi : i. depoyu açma maliyeti
i = 1,m ve j = 1,n
Karar değişkenleri:
⎧⎪ 1; i.lokasyondaki depo açılırsa
,i = 1,...,m
yi = ⎨
diğer durumda
⎩⎪ 0;
xij: i. lokasyondaki depodan karşılanan j. müşteri talebinin oranı
m
∑ xij = 1
∀j,= 1,n
i=1
xij ≤ yi
∀(i, j), i = 1,m, j =1,n
xij ≥ 0
∀(i, j), i = 1,m, j =1,n
yi ∈{0,1}
∀i,
i = 1,m
dikkat
Tesis yeri seçimi problemi; hem tesis açma hem
de açılan tesisten başka lokasyonlara gönderi
miktarı kararlarının verildiği, 0-1 ikili ve pozitif
tamsayı karar değişkenlerini içeren karma tamsayılı programlama problemidir.
Müşteri talepleri birden fazla depodan karşılanabilir. Ancak, burada önemli olan her bir müşterinin tüm talep miktarının mutlaka karşılanması
gerekliliğidir. Örneğin, dört deposu ve beş müşterisi olan bir firma için, j =1 için yani birinci müşteri
için talep gönderimi tüm depolardan yapılabilir.
Bu da x11 + x21 + x31 + x41 = 1 kısıtı ile sağlanır.
Açılan depolardan yapılan gönderi oranları toplamı
mutlaka 1 olmalı, yani talep %100 karşılanmalıdır.
Burada xij ≤ yi kısıtı, iki karar değişkeni arasındaki ilişkiyi göstermektedir. i. deponun açılması
durumu, yi = 1 ile ifade edilecektir. Eğer i. lokasyondaki depo açılmazsa, bu depodan hiçbir müşteriye gönderi yapılamaz (xij = 0). Aksi halde, yani
i. lokasyonundaki depo açılırsa bu depodan bir j
müşterisine gönderilecek ürün oranı en fazla talebin %100 oranıdır (xij = 1). Ayrıca, dikkat etmemiz gereken bir konu da i. lokasyonundaki depo
açılması halinde bazı müşterilere bu depodan ürün
gitmeyebilir (xij = 0). Bu sebeplerle xij ≤ yi’dir. xij
müşteri talebi karşılama oranı olduğu için, 0 ile 1
arasında değer alabilen reel bir değişkendir.
Son olarak, yi = 1 olması durumunda amaç fonksiyonunda bu lokasyondan yapılacak ürün gönderi
maliyetlerine mutlaka i. lokasyondaki depo açma
maliyeti (fi) de eklenmelidir. Eğer (yi = 0) olursa, i.
lokasyonda depo olmayacağı için i. depodan j. müşteriye gönderi maliyeti ve i. depoyu açma maliyetleri de olmayacaktır.
k.a.
m
n
m
i=1 j=1
i=1
Enk Z = ∑ ∑ cij * xij + ∑ f i * yi
192
Sabit maliyet: Herhangi bir üretim hacminde aynı olan bir maliyettir.
7
Yöneylem Araştırması
ÖRNEK 7.4 Yurt dışına ürün gönderdiği dört müşterisi olan ABC firması, Malaga ve Berlin’de yeni
depo açmayı düşünmektedir. Malaga’da depo açma maliyeti 680,000$, Berlin’de depo açma maliyeti ise
570,000$’dır. Malaga ve Berlin’den müşterilere ürün taşıma maliyetleri Tablo 7.2’de verilmiştir. Firmanın
yeni depo yerlerini belirleyebilmesi için toplam maliyetlerini en küçükleyecek karma tamsayılı programlama probleminin matematiksel modelini kurunuz.
Tablo 7.2 Potansiyel depolardan müşterilere birim taşıma maliyetleri
Taşıma Maliyetleri ($)
Müşteri 1
Müşteri 2
Müşteri 3
Müşteri 4
Malaga
50
40
80
90
Berlin
30
60
70
70
Bu problem türünde karar bir evet-hayır sorusunun cevabı olacaktır. Sorular “Malaga’da depo açalım
mı?” ve “Berlin’de depo açalım mı?” olduğundan, probleme ait iki adet 0-1 tamsayı karar değişkeni bulunmaktadır:
⎧⎪ 1;
Malaga' da depo açılırsa
y1 = ⎨
⎪⎩ 0; diğer durumda(açılmazsa)
⎧⎪ 1;
Berlin' de depo açılırsa
y2 = ⎨
⎪⎩ 0; diğer durumda(açılmazsa)
Problem ait diğer karar değişkeni de potansiyel lokasyonlarda depo açılması durumunda, bu noktalardan yapılan gönderi ile müşteri taleplerinin karşılanma oranıdır. 2 depo ve 4 müşteri için toplamda 8 adet
karar değişkeni tanımlanacaktır.
x11: Malagada’ki depodan karşılan Müşteri1 talebinin oranı
x12: Malagada’ki depodan karşılan Müşteri2 talebinin oranı
x13: Malagada’ki depodan karşılan Müşteri3 talebinin oranı
x14: Malagada’ki depodan karşılan Müşteri4 talebinin oranı
x21: Berlin’deki depodan karşılan Müşteri1 talebinin oranı
x22: Berlin’deki depodan karşılan Müşteri2 talebinin oranı
x23: Berlin’deki depodan karşılan Müşteri3 talebinin oranı
x24: Berlin’deki depodan karşılan Müşteri4 talebinin oranı
Her bir müşteri talebi %100 karşılanmak zorunda olduğu için, bir müşteriye yapılabilecek tüm gönderi
oranları toplamı 1 olmalıdır. 4 müşterisi olan firma için (10) no’lu denklem grubu ile talep kısıtları verilmiştir. Her bir müşteriye yapılacak gönderiler Malaga ve Berlin’de açılacak depolardan olabilir. Örneğin,
Müşteri3’e Malaga’dan gönderi oranı x13 ve Berlin’den gönderi oranı x23 olacak, toplam talebin %100
karşılanması da x13 + x23 = 1 kısıtı ile garantilenecektir.
x11 + x21 = 1
x12 + x22 = 1
x13 + x23 = 1
x14 + x24 = 1
(7.10)
193
7
Tamsayılı Programlama Modelleri
Tabi bu gönderiler, ancak depo açılması durumunda gerçekleşebilir. Bu kısıt diğer kısıtlardan farklı
olarak, iki karar değişkeni türünün ilişkilendirildiği kısıtlardır. Örneğin, Malaga’da depo açılırsa y1 = 1 değerini alacaktır. Malaga’dan gönderi yapılması durumu da ancak burada deponun açılması ile sağlanacaktır.
Gönderi oranı en fazla 100/100=1 olduğundan örneğin Müşteri1’e Açılan Malaga deposundan gönderi
oranı en fazla 1 olmalıdır (x11 ≤ y1). Müşteri 1’e Berlin depodan da ürün gelebileceği için talep karşılama
oranları 0.8, 0.2 gibi reel değerler olabilir. Depo açılmamam durumunda ise y1 = 0 değerini alacaktır.
Bu koşulda da açılmayan bir depodan gönderi yapılamayacağı için gönderi oranlarının 0 değerini alması
garantilenmelidir. Bu iki durumu tüm depo ve müşteriler için garantileyen tüm kısıtlar (7.11) nolu eşitsizlikler ile verilmiştir. Karar değişkenlerinin türünü belirleyen kısıtlar da (7.12) nolu işaret kısıtı grubunda
verilmiştir.
x11 ≤ y1
(7.11)
x12 ≤ y1
y1 ∈ {0 ,1}
x14 ≤ y1
y2 ∈ {0 ,1}
x13 ≤ y1
x21 ≤ y2
x11, x12, x13, x14, x21, x22, x23, x24, ≥ 0
(7.12)
x22 ≤ y2
x23 ≤ y2
x24 ≤ y2
Firmanın amacı toplam maliyetlerini en küçüklemektir. Maliyetler de iki ayrı kalemden oluşmaktadır:
Depo açma ve taşıma. Örneğin, Malaga’da depo açılırsa y1 = 1 olacak ve depo açma maliyeti 680,000*1
dolar olacaktır. Depo açıldığı için müşterilere taşıma da yapılacaktır. Bu durumda toplam taşıma maliyeti
de taşıma oranları doğrultusunda 5x11 + 4x12 + 8x13 + 9x14 olacaktır. (7.12) no’lu fonksiyon ile modelin
amaç fonksiyonu verilmiştir.
Enk Z = 50x11 + 40x12+80x13+90x14+30x21+60x22+70x23+70x24+ 680,000y1+570,000y2
(7.12)
Sırt Çantası Problemi
Sırt çantası problemi tek bir kısıt ve 0-1 karar değişkenlerinden oluşan bir TP problemidir. Problem
ismini, yürüyüşçülerin sınırlı sayıda malzemeden hangilerini sırt çantalarına alacağını belirlediği karar
probleminden almıştır. Seçilebilecek her bir malzemenin yolculuğa katacağı bir fayda olduğundan, amaç
seçilen malzemelerin toplam faydasını arttırmak olacaktır. Probleme ait tek kısıt, malzemelerin kapladığı
alan/hacim veya getirdikleri ağırlığın, çanta kapasitesini aşmaması gerekliliği kısıtıdır. Dolayısıyla, probleme ait parametreler izleyen şekilde belirlenir:
• Seçilecek n adet malzeme, malzeme ağırlıkları/hacimleri (aj ), malzemelerin katkısı (cj ), çanta
kapasitesi (b).
Sırt çantası probleminin karar değişkeni de hangi malzemenin çantaya yerleştirileceğini belirleyen 0-1
karar değişkenidir:
⎧⎪ 1;
xj = ⎨
⎪⎩ 0;
194
j.malzemeçantaya konmak üzereseçilirse
diğer durumda
7
Yöneylem Araştırması
Probleme ait kapalı model izleyen şekilde verilebilir:
a1 * x1+a2 * x2 + ... +an * xn ≤ b
yj ∈ {0,1} j = 1,n
k.a.
Enb Z = c1 * x1 + c2 * x2 + ... +cn * xn
Kısıt ile çantaya konmak üzere seçilecek malzemelerin toplam ağırlığının, çanta kapasitesini
aşmaması garantilenir. Amaç fonksiyonu ile de seçilen malzemelerin toplam katkısı en büyüklenir.
ÖRNEK 7.5 Bir sırt çantası bölünemeyen dört
ayrı eşya ile doldurulacaktır. Dolu çantanın ağırlığı 15 kiloyu aşamayacaktır. Tablo 7.3’te eşyalar ile
ağırlıkları ve sağlayacakları fayda verilmiştir. Çanta
kapasitesi aşılmayacak şekilde sırt çantasında taşınacak eşyaların toplam faydasını en büyükleyecek
matematiksel modeli kurunuz.
Toplam faydayı en büyükleyecek eşyaların seçimini sınırlayan tek kısıt, çantanın ağırlık kapasitesidir. Çanta ağırlığı olan 15 kilonun aşılmaması
(7.13) no’lu kısıt ile garantilenir. Diyelim ki, eşya
2 ve eşya 4 çantaya konulacak. Bu durumda çantadaki eşya konfigürasyonu x1 = 0, x2 = 1, x3 = 0
ve x4 = 1 olacaktır. Ve bu eşyaların toplam ağırlığı
(5*0 + 7*1 + 4*0 + 6*1 =)13 kilo olacak ve kapasite sağlanacaktır.
5x1 + 7x2 + 4x3 + 6x4 ≤ 15
Amaç çantaya eklenen eşyalardan en büyük
faydayı almaktır. x1 = 0, x2 = 1, x3 = 0 ve x4 = 1
eşya konfigürasyonunu tekrar ele alacak olursak,
2. ve 4. Eşyaların seçilmesi durumunda gelecek
fayda, (6*0 + 4*1+5*0 + 3*1 =) 7 olacaktır. Toplam faydanın en büyüklenmesini gösteren fonksiyon (14) ile verilmiştir.
Enb Z = 6x1 + 4x2 + 5x3 + 3x4
Tablo 7.3 Çantaya konulabilecek eşyaların ağırlık ve
faydaları
Eşya
Ağırlık (kg)
Fayda
1
5
6
2
7
4
3
4
5
4
6
3
Kapasite:
15
Çantaya hangi eşyanın seçildiğini gösteren karar değişkenlerimiz 0-1 tamsayı karar değişkenleri
olacaktır:
⎧⎪ 1; 1.eşya çantaya konmak üzereseçilirse
x1 = ⎨
diğer durumda(seçilmezse)
⎩⎪ 0;
⎧⎪ 1; 2.eşya çantaya konmak üzereseçilirse
x2 = ⎨
diğer durumda(seçilmezse)
⎩⎪ 0;
⎧⎪ 1; 3.eşya çantaya konmak üzereseçilirse
x3 = ⎨
diğer durumda(seçilmezse)
⎪⎩ 0;
⎧⎪ 1; 4.eşya çantaya konmak üzereseçilirse
x4 = ⎨
diğer durumda(seçilmezse)
⎪⎩ 0;
(7.13)
(7.14)
Son olarak, tüm karar değişkenleri 0-1 değişkenlerdir:
x1, x2, x3, x4 ∈ {0 ,1}
dikkat
Örnek 7.1’ de bir ödül problemi ele alınmıştır.
Harcanacak puan sınırlılığı çanta kapasitesi olarak düşünüldüğünde, ödül problemi de bir sırt
çantası problemidir.
Küme Kapsama Problemi
Küme kapsama problemi özellikle lojistik alanında karşılaşılan bir yöneylem araştırması problemidir. Belirli bir bölgede (şehir, mahalle vb.) hizmet
verilecek tüm konumları kapsayacak bir dizi potansiyel konum vardır. Her bir potansiyel konumun,
o konumda hizmet verilecek tesisin açılması için
bir başlangıç yatırım maliyeti vardır. Bu nedenle,
maliyeti en aza indirecek şekilde, tüm hizmet konumlarına hizmet verecek en az sayıda potansiyel
konumu belirlemek amaçlanır. Birçok alanda uy-
195
7
Tamsayılı Programlama Modelleri
gulaması bulunan bu problemin en bilinen örneği,
bir şehir için itfaiye istasyonlarının konumlarının
belirlenmesi problemidir. Şekil 7.1’de 27 mahalleden oluşan bir şehirde 14 potansiyel itfaiye istasyonu kurulum yeri haritada verilmiştir. 14 istasyon
içerisinden öyle istasyonlar seçilmelidir ki, en az
sayıda istasyon ile tüm mahallelere hızla müdahale
edilebilsin. Bir başka ifadeyle, en az sayıda tesis ile
tüm bölgeye hizmet verilsin.
dikkat
Mesafe tablosunun köşegen elemanları 0’dır.
Mesafe tablosuna ve 10 km veya daha az mesafe
sınırlamasına dayanarak, Tablo 7.5’te gösterildiği
gibi hangi mahallenin hangi mahallelere bu yakınlıkta olduğunu belirleyebiliriz.
Tablo 7.5 Birbirine en fazla 10 km uzaklıkta olan
mahalleler
Mahalle
1
2
3
4
5
Şekil 7.1 Yangın istasyonları ve diğer acil durumlara
karşı izleme ve hızlı müdahale istasyonları için bölge
haritası ve aday yerler.
Kaynak: Bergantiños vd. (2020)
ÖRNEK 7.6 Bir şehirde beş mahalle bulunmaktadır. Yerel yönetim, şehirde kurulacak itfaiye
istasyonlarının hangi mahallelerde olması gerektiğini
belirlemek istemektedir. Yönetimin amacının, itfaiye
istasyonlarını, hizmet vereceği her mahallenin 10 km
yakınında yer alacak şekilde tüm şehri kaplayabilecek
en az sayıda istasyon kurmak olduğunu varsayalım.
Bu problemi bir küme kapsama problemi olarak çözebilmek için, önce Tablo 7.4’te gösterildiği
gibi bir mesafe tablosu elde etmemiz gerekir. Tablonun her bir hücresi, iki mahalle arasındaki mesafeyi (km olarak) temsil eder.
Tablo 7.4 Mahalleler arası mesafe tablosu (km)
Mahalle
1
2
3
4
5
196
1
0
10
18
13
14
2
10
0
20
7
10
3
18
20
0
8
11
4
13
7
8
0
4
5
14
10
11
4
0
1
1
1
0
0
0
2
1
1
0
1
1
Mahalle
3
0
0
1
1
0
4
0
1
1
1
1
5
0
1
0
1
1
Tablonun bir satırı bir mahalleye karşılık gelmektedir. Bu tablonun girdileri 1 veya 0’ dır. “1”
verilen uzaklık sınırlamasının karşılandığını ve aksi
takdirde “0” olduğunu belirtir. Örneğin, Satır 1,
Mahalle 1’de bir istasyon kurulursa, mahalle 1 ve
mahalle 2’nin kapsandığını gösterir. Satır 2’ye baktığımızda, yani mahalle 2’de bir istasyon kurulursa
mahalle 1, 2, 4 ve 5’in kapsandığını görürüz. Benzer
şekilde, diğer satırlar da benzer yorumlara sahiptir.
Küme kapsama probleminin karar değişkeni,
her bir mahallede itfaiye istasyonunun kurulup kurulmadığı kararını veren 0-1 karar değişkenidir. İlgili örnek için belirlenen karar değişkenleri izleyen
şekilde belirlenir:
⎧⎪ 1; mahalle1istasyon kurulmak üzereseçilirse
x1 = ⎨
diğer durumda(seçilmezse)
⎩⎪ 0;
⎧⎪ 1; mahalle2istasyon kurulmak üzereseçilirse
x2 = ⎨
diğer durumda(seçilmezse)
⎩⎪ 0;
⎧⎪ 1; mahalle3istasyon kurulmak üzereseçilirse
x3 = ⎨
diğer durumda(seçilmezse)
⎪⎩ 0;
⎧⎪ 1; mahalle4istasyon kurulmak üzereseçilirse
x4 = ⎨
diğer durumda(seçilmezse)
⎪⎩ 0;
⎧⎪ 1; mahalle5istasyon kurulmak üzereseçilirse
x5 = ⎨
diğer durumda(seçilmezse)
⎩⎪ 0;
7
Yöneylem Araştırması
(7.15) nolu probleme ait kısıtlar da her bir mahalle acil bir durumda en az bir itfaiye istasyonu
tarafından kapsanmalı kısıtları olacaktır.
Mahalle 1 için: x1 + x2 ≥1
Mahalle 2 için: x1 + x2 + x4 + x5 ≥ 1
Mahalle 3 için: x3 + x4 ≥ 1
Mahalle 4 için: x2 + x3 + x4 + x5 ≥ 1
Mahalle 5 için: x1 + x4 + x5 ≥ 1
(15)
Modele ait karar değişkenlerinin işaret kısıtları
da (16) no’lu eşitsizlik işe verilir.
x1, x2, x3, x4 ∈ {0,1}
(7.16)
Amaç fonksiyonu da en az sayıda istasyon
kurmak olduğundan, (7.17) no’lu denklem amaç
fonksiyonunu oluşturmaktadır. Mahalle 3, 4 ve
5’te istasyon açılması durumunda x1= 0, x2=0,
x3=1, x4=1, x5=1 değerlerini alacak ve açılan toplam istasyon sayısı 3 olacaktır. Aynı zamanda tüm
mahallelere en fazla 10 km uzaklıkta olunacaktır.
Enk Z = x1 + x2 + x3 + x4
(7.17)
Küme kapsama problemlerinin matematiksel modelinde tüm kısıtlar ≥’lik yönünde ve tüm sağ taraf sabitleri değeri de 1’dir.
Çizelgeleme Problemleri
Çizelgeleme, eğitim, hukuk, üretim, hastane,
turizm ve otelcilik, havayolu ve çağrı merkezleri
gibi birçok üretim ve hizmet sektöründe karşılaşılan bir karar verme sürecidir. Çizelgeleme problemleri, sınırlı sayıdaki faaliyetin sınırlı sayıdaki
kaynak ve zaman dilimine atanması problemidir.
Aslında, çizelgeleme problemleri birer atama problemidir. Zaman dilimine de atama yapıldığı için,
çizelgeleme adını almaktadır. Hangi dersin hangi
sınıf ve zamanda yapılacağının, hangi işin hangi
makine ve zamanda başlayacağının, hangi davanın
hangi mahkemede hangi gün ve saatte görüleceğinin, hangi tren seferinin hangi tren ile ne zamanda
başlayacağının belirlenmesi problemleri çizelgeleme problemlerine örnek olarak verilebilir.
Ders çizelgeleme probleminden örnek verilecek
olursa; i. dersin j. derslikte t. anında başlayıp başlamadığını belirleyecek karar değişkeni, 0-1 değerli
karar değişkeni olacaktır.
⎧⎪ 1; i.ders, j.derslikte,t anında başlarsa
xijk = ⎨
diğer durumda
⎩⎪ 0;
Örneğin, i =1 Yöneylem Araştırması dersi, j =
4 derslik 4 ve t = 6 Pazartesi günü saat 14:00 olsun. Yöneylem araştırması dersi, Salı günleri saat
14:00’te derslik 4’te yapılmak üzere ders programına çizelgelenirse x1, 4, 6 = 1 değerini alacaktır.
Bir başka çizelgeleme problemi de iş gücü çizelgeleme problemidir. Vardiya çizelgeleme problemi
olarak adlandırılan problemler de bir iş gücü çizelgeleme problemidir. Kısıtlar işletmeden işletmeye
değişmekle birlikte, elde edilen çizelgeler ile personelin hangi gün ve saatlerde çalışacağı ve hangi günler izin kullanacağı belirlenir. Özellikle hizmet sektöründe, bu süreçte personelin büyük bir önemi
bulunmaktadır. Çünkü müşteri memnuniyetini sağlamak için önce çalışan personelin memnuniyetini
sağlamak gerekmektedir (Taghizadehalvandi ve Kamisli Ozturk, 2019). Bu problemlerde cevabı aranan
sorulardan biri personelin belirli bir günde gündüz vardiyasına atanıp atanmadığı olabilir. Cevabı aranan bir başka soru da yine bir personelin belirli bir günde izinli olup olmadığı olabilir. Örnek olarak
verilen bu sorulardan, vardiya çizelgeleme problemlerinde de karar değişkenlerinin 0-1 tamsayı değişken
olduğu görülmektedir.
⎧⎪ 1;
xij = ⎨
⎪⎩ 0;
⎧⎪ 1;
xij = ⎨
⎩⎪ 0;
j. personel i.gündeki gündüz vardiyasına atanırsa
diğer durumda
j. personel i.gündeizinli ise
diğer durumda
internet
Üretimde çizelgeleme problemleri hakkında
daha fazla bilgi edinmek için inceleyebilirsiniz:
https://www.bilgidairesi.com/2018/07/17/
cizelgeleme-nedir-ne-ise-yarar/
197
7
Tamsayılı Programlama Modelleri
Yaşamla İlişkilendir
LOJİSTİK SEKTÖRÜNDE ÇOK AMAÇLI KAPI ATAMA PROBLEMLERİ İÇİN BİR
KARAR DESTEK SİSTEMİ
“Lojistik sektöründe ürünlerin tam zamanında müşteriye teslim edilmesi sürecinde, en az taşıma maliyeti ile kat edilen mesafenin en kısa sürede
alınması amacına yönelik yapılan en önemli çalışmalardan biri de sisteme gelen ya da sistemden çıkan taşıma araçlarının uygun depo kapılarına uygun sırada atanmasıdır. Bu çalışmada, bir lojistik
ağındaki verimliliğin arttırılması için bu sürelerin
kısaltılması ve buna bağlı olarak da maliyetlerin en
küçüklenmesi konusunda araçların rotalanması dışındaki diğer gecikmeler ele alınmıştır. Dolayısıyla,
depo içindeki ürün yerleşimi temel alınacak şekilde, araçların kapılara atanması ile depo içi forkliftler tarafından kat edilen mesafenin azaltılması
ve buna bağlı olarak da araç yükleme sürelerinin
en küçüklenmesi hedeflenmiştir. Bu doğrultuda
lojistik firmalarında belirlenen birden fazla amaç
ve hedef bulunduğundan problemin modellenmesinde çok amaçlı hedef programlama ve hedef önceliklerinin belirlenmesine yönelik Analitik Serim
Süreci (ASS) metodu kullanılmıştır. Çalışma kapsamında bir işletmenin lojistik süreçlerini yürüten
firmanın dağıtım süreci ele alınmış, gerçek hayat
probleminin büyük ve dinamik boyutta olması
sebebiyle, araçların en uygun kapıda ve sırada yüklemeye alınmalarını sağlayacak atama işlemi, bir
karar destek sistemi şeklinde geliştirilmiştir.
Kapı atama problemi, ilgili kaynakların en
fazla verimi elde edecek şekilde faaliyetlere atanmasını ele alan bir atama problemi türüdür. Lojistik alanında araçlar için en kısa mesafe ve en az
beklemeyi sağlayarak sistemin verimini arttırmaya yönelik çalışmaları kapsamaktadır.
198
Yolcu ve servis elemanlarının en kısa sürede
en fazla işlemi gerçekleştirmesini sağlama amacıyla genellikle havaalanı işletmeleri, uçakları
en uygun yolcu alma, bırakma ve servis görme
kapılarına atama işlemini yapmaktadır. Böylece
zaman ve kaynak kayıpları ortadan kaldırılarak
verimli bir sistem elde edilmiş olur. Lojistik sektöründe ise, özellikle son zamanlarda ele alınmaya başlanan ve işletmeler için karın en büyüklenmesi konusunda önemli bir etkiye sahip olan
üretim merkezi ile dağıtım noktaları arasındaki
en uygun eşleşmeyi sağlayacak sistemlerin geliştirilmesinde kullanılmaktadır. Buna ek olarak,
lojistiğin ana faaliyeti olan ürün yükleme ve boşaltma noktalarında çapraz sevkiyat yönteminin
yaygın olarak kullanılmaya başlanması, yine bu
noktalarda kapı atama yöntemlerini gerekli hale
getirmektedir.
Kapı atama problemlerinde genel olarak,
sisteme gelen araçların en kısa sürede yüklenebilmesi için depo alanında yükleme mesafelerinin kısaltılması amacıyla araçların deponun
hangi kapılarına hangi sırada atanacağı belirlenmektedir. Aynı şekilde boşaltılan araçlar için
de ürünlerin taşınacağı depo alanlarına yakın
olmalarını sağlayacak atamaların yapılmasını
hedeflemektedir. Böylece en büyük maliyet kalemlerinden stok ve işçilik maliyetleri azaltılırken, işlem süreleri de kısaltılarak müşteri memnuniyeti sağlanmış olur.”
Kaynak: Kamışlı Öztürk, Z, Güngör, K., Lepki, B. (2016). Lojistik Sektöründe Çok Amaçlı
Kapı Atama Problemleri İçin Bir Karar Destek
Sistemi. Mühendislik Bilimleri ve Tasarım Dergisi,
4(1), 21-29.
7
Yöneylem Araştırması
Öğrenme Çıktısı
3 Temel tamsayılı programlama problemlerini tanıma ve bu problemler için matematiksel
modelleri geliştirebilme
Araştır 2
ABC firmasının büyük bir
indirim zinciri için 10.000
bahçe hortumu üretme sözleşmesi var. Firmada bu tür
hortumlar üretebilen dört
farklı makine bulunmaktadır. Bu makineler farklı üreticilerden olduğu ve farklı
teknolojiler kullandığı için
özellikleri aynı değildir.
Firma maliyetlerini en küçüklemek istemektedir. Bu
problem, iki farklı türde
karar değişkeni içermektedir. Bu karar değişkenlerini
açıkça tanımlayın.
İlişkilendir
Anlat/Paylaş
Bir hastanenin acil servisinde mutlaka uygulanması
gereken protokoller ve bu
protokolleri de uygulayacak
doktorlar bulunmaktadır.
Bir doktorun hangi protokollerden sorumlu olacağını belirleme problemi ile
küme kapsama problemini
ilişkilendirin.
9 satır ve 9 sütundan oluşan, toplamda 81 kutucuk
içeren bir yapı düşünün.
Bazı satırlarda hâlihazırda
rakamlar mevcuttur. Kalan
boş kutucuklarsa birden
dokuza kadar rakamlarla
doldurulmalıdır. Her bir rakam, yatay ve dikey olmak
üzere her bir sütunda yalnızca bir tane olmalıdır. Sudoku olarak da adlandırılan
bu oyunda, karar değişkenleri ile kısıtları belirlemeye
çalışınız. İlgili matematiksel
modeli oluşturarak deneyimlerinizi paylaşın.
TAMSAYILI PROGRAMLAMA
PROBLEMLERİNDE ÖZEL
KISITLAR
Bu bölümde, sizlere tanıtılan temel tamsayılı
programlama problemleri için yaygın kullanılan
özel kısıtlar ve bu kısıtların nasıl modele ekleneceğine dair örnekler verilmiştir. Bu kısıtlar aynı zamanda literatürde, “ikili (0-1) değişkenlerin yenilikçi kullanımı” başlığı altında da incelenmektedir.
Ya-Ya da Kısıtları
Ya-ya da kısıtları, matematiksel modelde verilen iki kısıttan sadece birinin sağlanmasını garantileyen kısıtlardır. Böylece, bir karar problemine
ait matematiksel modelin kısıtları içinden verilmiş
olan iki kısıt aynı anda sağlanmaz.
Verilen iki kısıttan ya birinin ya da diğerinin
modelde sağlanmasını garantilemek için modele
yeni bir 0-1 tamsayılı karar değişkeni (y ∈ {0,1})
eklenir. Bu karar değişkeni, yardımcı karar değişkeni olarak da adlandırılır. 0-1 karar değişkenin
tanımlanmasının ardından, çok büyük bir sayı
M»0) ile çarpılarak verilen iki kısıttan birinin sağ
taraf sabitine eklenir (+My). Diğer kısıtın sağ taraf
sabitine de (+M(1–y)) olarak eklenir.
Yardımcı karar değişkeni: Karar modellerinde özel durumları matematiksel
olarak ifade edebilmek için kullanılan 0-1
tamsayılı değişken (y ∈ {0,1}).
ÖRNEK 7.7 Aşağıda verilen iki kısıttan ya birinin ya da diğerinin sağlanması için kısıtlarda gerekli düzenlemeyi yapınız.
3x1 + 2x2 ≤ 12
2x1 + 5x2 ≤ 15
(7.18)
(7.19)
199
7
Tamsayılı Programlama Modelleri
Öncelikle y = 0 veya 1 karar değişkeni tanımlanır. Ardında ya (7.18) ya da (7.19) no’lu kısıtın sağ taraf
sabitine çok büyük bir sayı olan M ile y çarpılarak eklenir. (7.18) no’lu kısıtı seçersek, (7.20) ve (7.21) nolu
düzenlenmiş kısıtlar elde edilir.
3x1 + 2x2 ≤ 12
3x1 + 2x2 ≤ 12 + My
(7.20)
2x1 + 5x2 ≤ 15
2x1 + 5x2 ≤ 15 + M(1–y)
(7.21)
y1 = 1 durumunda (7.20) no’lu kısıtın sağ taraf sabiti M çok büyük bir sayı olduğundan (örnn. M=1000)
M+12 =M değerini alacak ve kısıt 3x1 + 2x2 ≤ M olacaktır. (7.21) no’lu kısıt da (M*(1-1))=0 olduğundan,
2x1 + 5x2 ≤ 15 olarak orijinal halini koruyacaktır. (7.20) no’lu kısıtın sol tarafının çok büyük bir sayıdan
küçük olması, bu kısıtı gereksiz kısıta döY
nüştürecektir. Böylece sadece (7.19) no’lu
kısıt geçerli olacaktır.
Gereksiz kısıt için bir örnek Şekil 7.1’de
verilmiştir. Uygun çözüm alanın taralı bölge ile temsil edildiği grafik çözümde tüm
kısıtlar küçük eşitlik kısıtıdır. Ancak, şekilden de görüldüğü gibi uygun çözüm alanını sadece L1 ve L3 kısıtları belirlemektedir.
L2 ve L4 gereksiz kısıtlardır.
Uygun
Çözüm alanı
L1
L2
L3
L4
0
Şekil 7.2 Temsili gereksiz kısıtların gösterimi
Kaynak: Burke ve O’Malley (2010).
X
y = 0 durumunda ise, (7.20) no’lu kısıtın sağ taraf sabiti 12 + M*0 = 12 değerini alacak ve kısıt 3x1 + 2x2 ≤ 12 olacak
ve orijinal hâlini koruyacaktır. (7.21) no’lu
kısıt da (M*(1-0)) = M olduğundan, 2x1 +
5x2 ≤ M olarak gereksiz kısıta dönüşecektir. Böylece sadece (7.18) no’lu kısıt geçerli
olacaktır.
Farklı Değerler Alabilen Fonksiyonlar
Bazı durumlarda, ilgilenilen sisteme ait fonksiyonlardan (iş gücü, ham madde vb.) birden fazla değerden sadece birini almasını matematiksel modelde garantilemek gerekir. Örnek 7.1’i hatırlayacak olursak,
100 puan toplayan bir öğrenci farklı ödüller alabiliyordu ve izleyen kısıt ile aldığı ödüllerin toplam puanının 100’ü aşmaması sağlanıyordu.
30x1 + 20x2 + 60x3 + 75x4 ≤ 100
x1, x2, x3 ve x4 fakültenin belirlediği dört ödülün seçilip seçilmediğini belirleyen karar değişkenleri
olarak tanımlanmıştı. Fakülte yönetimi, öğrencinin 100, 120 ya da 80 puan topladığı durumda en iyi
seçimi belirlemek isteyebilir. Bu durumu (7.22) no’lu eşitlik ile ifade edebiliriz:
30x1 + 20x2 + 60x3 + 75x4 ≤ 100 veya 120 veya 80
(7.22)
(7.22) no’lu eşitliğin sağ tarafının sadece 100 veya 120 veya 80 değerini alabilmesi için üç yeni yardımcı
karar değişkeni tanımlanır:
y1 = 0 veya 1
y2 = 0 veya 1
y3 = 0 veya 1
200
7
Yöneylem Araştırması
Ardından yeni yardımcı kısıtlar kullanılarak, (7.22) no’lu eşitsizlik geliştirilerek (7.23) no’lu kısıt elde
edilir. Ardından, matematiksel modele yeni bir kısıt tanımlanır (7.24).
30x1 + 20x2 + 60x3 + 75x4 ≤ 100 ≤ 100y1 + 120y2 + 80y3
y1 + y2 + y3 = 1
(7.23)
(7.24)
y1, y2, y3 ∈ {0, 1}
Diyelim ki, y3 = 1 değerini alsın. Bu durumda, yardımcı karar değişkenleri ya 0 ya da 1 değerini alan
değişkenler olduğu için (7.24) no’lu eşitlik y1 + y2 + 1 = 1 olacaktır. Dolayısıyla, y1 = y2 = 0 değerini alacaktır. Bu da (7.23) no’lu eşitsizlikte sağ tarafın 100*0 +120*0+80*1 =80 olmasını sağlayacaktır.
y2 = 1 olduğunda kısıtın sağ taraf değerinin 120; y1 = 1 olduğunda da sağ taraf değerinin 100 olduğunu
da aynı şekilde elde edebiliriz.
Karar Probleminde Koşullar
Hangi projenin seçileceğini, hangi ürünlerin
üretileceğini, hangi illerde depo açılacağını veya
yeni tesis kurulacağını belirlediğimiz karar problemlerinde bütçe, hammadde ve işçilik gibi kısıtların yanında özel özel kısıtlar da olabilir. Örneğin,
ürün karmasının belirlendiği bir problemde üretimine ve miktarına karar verilecek 10 ürün içinden
en az 5 tanesi üretilsin, en fazla 4 tane üretilsin,
ürün 2 üretiliyorsa ürün 5 üretilmesin gibi özel kısıtlar belirlenebilir.
ÖRNEK 7.8 ABC firmasının Araştırma ve Geliştirme Bölümü, dört olası yeni ürün grubu geliştirmektedir. Yönetim, bu dört üründen hangisinin
hangi düzeylerde üretileceğine karar vermek istemektedir. Bu nedenle, en kârlı ürün karmasını bulmak için bir yöneylem araştırması çalışması talep
edilmiştir.
Hazırlık maliyeti, Tablo 7.6’nın ilk satırında verildiği gibi, herhangi bir ürünün üretiminin başlamasıyla ilişkilidir. Yönetimin amacı, toplam kârı en
üst düzeye çıkaran ürün karmasını bulmaktır (toplam gelir eksi başlangıç maliyetleri).
Tablo 7.6 Hazırlık maliyetleri ve gelir değerler
Ürün
1
Hazırlık
Maliyeti
Gelir
2
3
4
$50,000 $40,000 $70,000 $60,000
$70
$60
$90
$80
x1, x2 , x3 , x4 sürekli karar değişkenleri sırasıyla 1, 2, 3 ve 4 ürünlerinin üretim seviyeleri olmak
üzere, yönetim bu değişkenlere aşağıdaki politika
kısıtlamalarını getirmiştir:
a. İkiden fazla ürün üretilemez.
b. Ürün 3 üretilirse, ürün 4 üretilemez.
x1, x2 , x3 , x4 karar değişkenleri her bir ürün için
üretim miktarını veren sürekli değerlerdir. Örneğin,
x1“Ürün 1’in üretim miktarı”dır. Ancak bu örnek
olayda, tüm ürünlerin üretilme kararı alınmamıştır.
Geliştirilecek karma tamsayılı programlama modeli ile hangi ürünün üretileceğine ve üretilecekse ne
kadar üretileceğine karar verilecektir. Üretip üretmeme kararına bağlı olarak hazırlık maliyeti de devreye girecektir. Dolayısıyla, modellemeye geçmeden
önce üret-üretme kararını veren 0-1 tamsayı değişkenleri tanımlanmalıdır.
⎧⎪ 1; Ürün1'iüret
,
y1 = ⎨
⎪⎩ Ürün1'iüretme
⎧⎪ 1; Ürün2' yiüret
y2 = ⎨
⎪⎩ Ürün2' yiüretme
⎧⎪ 1; Ürün3'üüret
⎧⎪ 1; Ürün4'üüret
, y4 = ⎨
y3 = ⎨
⎩⎪ Ürün3'üüretme
⎩⎪ Ürün4'üüretme
Öncelikle “İkiden fazla ürün üretilemez” politikasını ele alalım. y1 = 1, y2 = 1, y3 = 0, y4 = 0
ürün konfigürasyonunda birinci ve ikinci ürünlerin
üretilme kararının alındığı açıktır. Aynı zamanda en
fazla iki ürün üretilebilir kısıtını da sağlamaktadır.
y1 = 1, y2 = 0, y3 = 0, y4 = 0 ürün konfigürasyonunda sadece ürün 1’in üretilme kararı alınmıştır ve bu
da yönetimin kararına uygundur. Kısıt (25) en fazla
iki ürünün üretilmesini garantilemektedir. Örneğin
201
7
Tamsayılı Programlama Modelleri
y1 = 1, y2 = 1, y3 = 0, y4 = 1 konfigürasyonunun
gerçekleşmesi 1 + 1 + 0 + 1 = 3 > 2 olacağından
mümkün değildir.
y1 + y2 + y3 + y4 ≤ 2
(7.25)
“Ürün 3 üretilirse, ürün 4 üretilemez.” kısıtını ele alalım. Bu durum matematiksel olarak ifade
edilecek olursa, y3 = 1 ise y4 = 0 olmalıdır. Burada
dikkat edilmesi gereken nokta, ürün 3 üretilmediğinde ürün 4’ün üretilip üretilemeyeceğine dair
bir sınırlamanın bulunmamasıdır. Yani y3 = 0 olduğunda y4 = 1 ya da y4 = 0 olabilir. Özetleyecek
olursak, yönetimin kararını garantileyecek kısıt y3
= 1 iken y4 = 0 ’ı garantilemeli ve y3 = 0 olduğunda
y4 = 1 ya da y4 = 0’ı da sağlamalı. Bu sınırlama (26)
no’lu kısıt ile sağlanır.
y3 + y4 ≤ 1
(7.26)
1+y4 ≤ 1
y3 = 1
y4 = 0 olmak zorunda
0 + y4 ≤ 1
(7.26)
y3 = 0
y4 = 0 olabilir. 0 + 0 ≤ 1 Kısıt sağlanır.
y4 = 1 olabilir. 0 + 1 ≤ 1 Kısıt sağlanır.
Son olarak, “ürün 4, sadece ürün 3 üretilirse
üretilir.” kısıtını ele alalım. Bu durum matematiksel olarak ifade edilecek olursa, y4 = 1 ancak y3 = 1
olduğunda geçerli olacaktır. Burada dikkat edilmesi gereken nokta, ürün 3 üretilmediğinde ürün 4 de
üretilemez. Yani y3 = 0 olduğunda y4 = 0 olmalıdır.
Özetleyecek olursak, yönetimin kararını garantileyecek kısıt y3 = 0 iken y4 = 0’ı garantilemelidir. Bu
sınırlama (7.27) no’lu kısıt ile sağlanır.
y4 ≤ 1 y3
(7.26)
Öğrenme Çıktısı
4 Tamsayılı programlama problemlerinde karşılaşılan özel kısıtları anlayabilme ve formüle
edebilme
Araştır 3
Seçilebilecek beş proje içeren bir sermaye bütçeleme
problemini düşünün. i.
proje seçilirse yi=1, değilse
i=1,...,5 için 0 olsun. Aşağıda verilen birbirinden bağımsız koşullar için uygun
kısıtları yazın.
A. En az üç proje seçilmeli.
B. Eğer proje 3 seçilirse,
proje 4 seçilmelidir.
C. 1, 2 ve 3 projelerinden
ikiden fazlası seçilemez
İlişkilendir
Anlat/Paylaş
Günlük hayatta bir günümüzü planlarken belirlediğimiz kısıtları bu kısımda
öğrendiğiniz kısıtlar ile
ilişkilendirin.
Üretim ve hizmet sektöründe farklı işletmelerin kendilerine özgü işletme kısıtlarını öğrenmeye çalışın. Tespit
ettiğiniz bu kısıtları, TP
kısıtı olarak formüle etmeye çalışarak deneyimlerinizi
paylaşın.
TAMSAYILI PROGRAMLAMA PROBLEMLERİ ÇÖZÜM YAKLAŞIMLARI
DP çözüm yöntemi olan Simpleks Algoritması, eğer problemin bir en iyi çözümü varsa bunun uygun
çözüm alanının bir köşe noktası olduğunu ispatlamaktadır. Ancak, TP problemlerinin uygun çözüm alanlarının köşe noktaları her zaman tamsayı değerler almaz. Bu sebeple, TP için Simpleks Algoritması tek
başına bir çözüm yaklaşımı değildir.
202
7
Yöneylem Araştırması
İki adet tamsayı karar değişkeni olan TP7 problemi ve grafik çözümü Şekil 7.2’de verilmiştir.
dikkat
Doğrusal gevşetme yönteminde, TP probleminin amaç ve kısıtları aynı kalır, işaret kısıtlarında
tamsayı olma koşulu kaldırılır.
(TP7): 5x + 8y ≤ 24
x, y ≥ 0 ve tamsayı
k.a.
Enb Z = 3x + 4y
Doğrusal gevşetme ile elde edilen çözüm tam
sayı değerlerden oluşmuyorsa, tamsayı olmayan değerler en yakın üst ve alt tamsayı değere yuvarlanır.
TP7 probleminde, doğrusal gevşetme sonucu elde
edilen en iyi çözüm (x = 4.8, y = 0)’dır.
y
5
4
•
3
Bu durumda elde edilen yeni çözüm (x = 4,
y = 0)’dir.
2
(x = 4, y = 0)çözümü problem kısıtını sağlar
(5*4 + 8*0 = 20 < 24).
1
0
x tamsayı değer almadığı için önce en yakın
alt tamsayı olan 4’e yuvarlanır.
Çözüm değeri de Z = 12 olarak elde edilir.
1
2
3
4
5
x
Şekil 7.3 TP7 probleminin grafik çözümü
Şekil 7.2’de taralı alan uygun çözüm alanı, taralı alan içindeki her biri mavi nokta ile gösterilen
çözüm de uygun tamsayı çözümlerdir. Şekilden de
görüleceği üzere, uygun çözüm alanının kırmızı altıgen ile gösterilen (4.8, 0) köşe noktası bir tamsayı
çözüm değildir.
Tamsayılı programlama problemlerinin çözümü için Doğrusal Gevşetme, Sayımlama, Dal-Sınır,
Kesme Düzlemi gibi farklı yöntemler geliştirilmiştir.
Doğrusal gevşetme yönteminde, ele alınan TP
probleminin amaç ve kısıtları aynı kalacak şekilde, bölünebilirlik varsayımı dahil edilir. Bir
başka deyişle, amaç ve kısıtlar aynı kalır, işaret
kısıtlarında tamsayı olma koşulu kaldırılır. Böylece, ilgili TP bir DP problemine dönüştürülür.
Bu dönüşümler:
1. y = 0 veya 1 olarak tanımlanan 0-1 tamsayı
değişkenlerin, 0 ≤ y ≤ 1 değer aralığında olacak sürekli değişkene dönüşümü veya
2. x ≥ 0 ve tamsayı olarak tanımlanan tamsayı
değişkenlerin, x ≥ 0 olan sürekli değişkene
dönüşümüdür
•
x tamsayı değer almadığı için daha sonra en
yakın üst tamsayı olan 5’e yuvarlanır.
Bu durumda elde edilen yeni çözüm (x = 5,
y = 0)’dir.
Ancak, bu çözüm problem kısıtını sağlamaz
(5*5 + 8*0 = 25 ≤ 24).
Çözüm, uygun çözüm alanı dışında bir
uygun olmayan çözümdür, Z değeri hesaplanmaz.
Örnek üzerinde yapılan doğrusal gevşetme sonucundan da görüleceği üzere, doğrusal gevşetme
yöntemi ile TP için bir tamsayı çözüm bulma garantisi yoktur. Elde edilen çözümün tamsayı değerlere yuvarlanması sonucunda da uygun olmayan
çözümler elde edilebilir. TP7 probleminin en iyi
tamsayı çözümü (x = 3, y = 1) ve optimal değer de
Z* = 13’tür. Şekil 7.2’den görüleceği üzere TP’nin
en iyi çözümü uygun çözüm alanının bir iç noktasında elde edilmiştir.
dikkat
TP probleminin en iyi çözümü, uygun çözüm
alanının bir iç noktası da olabilir.
203
7
Tamsayılı Programlama Modelleri
Bir diğer TP çözüm yaklaşımı olan Sayımlama
yönteminde ise, uygun çözüm alanındaki tüm
tamsayı çözümler tek tek ele alınır ve amaç fonksiyonları hesaplanır. En iyi amaç fonksiyonu değerini veren çözüm de en iyi tamsayı çözümü olarak belirlenir. Ancak, TP7 gibi çok küçük boyutlu
bir problemde bile 12 tane çözümü elde edip, Z
değerlerini hesaplamak oldukça zaman alıcı bir
iştir. Karar değişkeni sayısı arttıkça bu yöntemin
uygulanabilirliğinin neredeyse imkânsız olduğu
açıktır.
Uygun çözüm alanında yer alan tüm tamsayı
çözümleri tek tek incelemek yerine, incelenecek
uygun çözüm sayısını azaltmak amacıyla geliştirilen TP çözüm yaklaşımlarından biri Dal-Sınır Algoritmasıdır. Çözümü aranan TP doğrusal gevşetme yöntemi ile çözülür. Elde edilen çözüm tamsayı
değil ise, tamsayı olmayan karar değişkenlerinden
biri seçilerek, en yakın alt ve üst tamsayılara yaklaştırılarak ana probleme yeni kısıt olarak eklenir.
Böylece iki alt problem oluşturulur (dallandırma)
yani doğrusal gevşetilerek çözülen ana problemin
uygun çözüm alanı iki alt alana bölünerek, bu alanlarda tamsayı çözüm aranır. Bu adım, en iyi amaç
fonksiyonunu veren tamsayı çözüm bulunana kadar devam eder. TP7 problemi için ilk dallandırma
ve bu işlemin uygun çözüm alanında grafik gösterimi Şekil 7.3 ve 7.4’te verilmiştir.
x ≥ 5 kısıtının eklenmesiyle uygun çözüm alanı
oluşmadığı çözüm uygun olmayan bir çözümdür.
x ≥ 4 kısıtının eklenmesiyle mevcut uygun çözüm
alanı daraltılmıştır. Yeni elde edilen alt problemde (alt uygun alanda) en iyi tamsayı çözüm tekrar
doğrusal gevşetilerek araştırılır.
Doğrusal gevşetilmiş ana problem
5x+8y ≤ 24
x,y≥0 k.a.
Enb Z= 3x+4y
x*=4.8
y*=0
_
Z*=14 2
5
x≤4
x≥5
Doğrusal gevşetilmiş
alt problem 1
Doğrusal gevşetilmiş
alt problem 2
5x+8y≤24
x≤4
x,y≥0 k.a.
Enb Z= 3x+4y
5x+8y≤24
x≥5
x,y≥0 k.a.
Enb Z= 3x+4y
x*=4
y*=0.5
Z*=14
uygun olmayan çözüm
Şekil 7.4 TP7 problemi için ilk dallandırma
204
7
Yöneylem Araştırması
x≥5
x≤4
y
5
4
3
2
1
0
1
2
3
4
5
x
Şekil 7.5 TP7 problemi için ilk dallandırmanın grafik gösterimi
Şekil 7.3’ten de görüleceği üzere, Dal-Sınır algoritması henüz sonlanmamıştır. Bir sonraki adımda alt
problem 1, tamsayı değer almamış ye değişkeninin tamsayı değerleri ile dallandırılır. Tamsayı çözüm bulunana kadar süreç devam eder. En iyi amaç fonksiyonu değerine sahip tamsayı çözüm en iyi çözüm olarak
belirlenir.
Öğrenme Çıktısı
5 Tamsayılı programlama problemleri çözüm yaklaşımları hakkında bilgi sahibi olabilme
Araştır 4
İlişkilendir
Anlat/Paylaş
Aşağıda verilen TP problemi doğrusal gevşetme ile
çözüldüğünde elde edilen
çözümü değerlendiriniz.
7x + y ≤ 23
3x - y ≤ 5
x, y ≥ 0 ve tamsayı
k.a.
Enb Z = 15 x + 2y
Bir TP probleminin amaç
fonksiyonu değeri ile bu
problemin doğrusal gevşetilerek çözülmesi sonucunda
elde edilen amaç fonksiyonu değerleri arasındaki ilişkiyi kurmaya çalışın.
Çeşitli yöneylem araştırması kaynaklarından, tamsayılı
programlama problemleri için geliştirilen çözüm
yaklaşımlarını araştırın. Bu
yöntemlerin uygulanabilirliği ile sağlayacağı faydaları
paylaşın.
205
7
öğrenme çıktıları ve bölüm özeti
Tamsayılı Programlama Modelleri
1
Tamsayılı programlama
türlerini açıklayabilme
2
Tamsayılı Programlamanın
Doğrusal Programlamadan
farkını kavrayabilme
Tamsayılı Programlama Türleri
TP’nin farklı türleri bulunmaktadır. Ancak, bir problemin TP olup olmadığını belirleyen ortak unsur, karar
değişkenlerinin tamsayı değer alıp almamasıdır.
Karar değişkenlerinin tümünün alması gereken değerlerin tamsayı olduğu karar problemleri saf tamsayılı
programlama problemleridir. xj j. karar değişkeni olmak üzere, karar değişkenleri xj ≥ 0 ve tamsayı , ∀j ( j =
1,n) şeklinde gösterilir.
0-1 tamsayılı programlama problemleri, karar değişkenlerinin tümünün ya “0” ya da “1” değerlerini aldığı
karar problemleridir. xj j. karar değişkeni olmak üzere, karar değişkenleri xj ∈ {0,1}, ∀j ( j = 1,n) şeklinde
gösterilir.
Karma tamsayılı programlama problemleri karar değişkenlerinin bir kısmının tamsayı, diğer kısmının da reel
değer aldığı karar problemleridir. Karar değişkenleri, y1, y2 ∈ {0,1} veya y1, y2 ≥ 0 ve tamsayı şeklinde
gösterilebilir. xj ≥ 0
xj ≥ 0
3
Temel tamsayılı programlama
problemlerini tanıma ve bu problemler
için matematiksel modelleri geliştirebilme
Temel Tamsayılı Programlama
Problemleri
Gerçek hayatta çok sık karşılaşılan temel tamsayı programlama problemlerine ait matematiksel modellerin
iyi bir şekilde kavraması gerekmektedir. Çok bilenen tamsayılı programlama problemleri çizelgeleme, küme
kapsama, tesis yeri seçimi, kapasite planlama, ürün karması belirleme ve sırt çantası problemleri olarak
sıralanabilir.
206
7
Yöneylem Araştırması
4
Tamsayılı Programlama
Problemlerinde Özel Kısıtlar
Farklı işletmelerde kaynak ve kapasite kısıtlarının yanısıra, işletmeye özgü farklı kısıtlar da geçerli olabilir.
Matematiksel modelde verilen iki kısıttan sadece birinin sağlanması, bir fonksiyonun birden fazla değerden
sadece birini alması, bir ürün üretiliyorsa bir başka ürünün de üretilmesi veya üretilmemesi gibi özel kısıtlar
yardımcı değişken olarak adlandırılan 0-1 ikili değişkenler yardımı ile matematiksel modelde formüle edilir.
5
Tamsayılı programlama
problemleri çözüm yaklaşımları
hakkında bilgi sahibi olabilme
Tamsayılı Programlama
Problemleri Çözüm Yaklaşımları
öğrenme çıktıları ve bölüm özeti
Tamsayılı programlama problemlerinde
karşılaşılan özel kısıtları anlayabilme ve
formüle edebilme
TP problemlerinin uygun çözüm alanlarının köşe noktaları her zaman tamsayı değerler almadığı için Simpleks Algoritması tek başına TP problemlerinin en iyi çözüm bulma yöntemi olarak kullanılamaz. Doğrusal
gevşetme, Sayımlama gibi yöntemler en iyi çözümü bulamama ve çok zaman alıcı olma gibi dezavantajlara
sahiptir. Dal-Sınır Algoritması, diğer yöntemlere göre daha etkin bir yöntemdir.
207
7
Tamsayılı Programlama Modelleri
1
neler öğrendik?
Saf tamsayılı programlama problemleri için
aşağıda verilen ifadelerden hangisi doğrudur?
A. Amaç fonksiyonundaki tüm katsayılar tamsayı
olmalıdır.
B. Tüm sağ taraf sabitleri tamsayı olmalıdır.
C. Tüm amaç fonksiyonu katsayıları ve sağ taraf
sabitleri tamsayı olmalıdır.
D. Kısıtlarda yer alan teknik katsayıların hepsi
tamsayı olmalıdır.
E. Karar değişkenlerinin hepsi tamsayı olmalıdır.
2 Aşağıda verilen matematiksel modele göre,
ilgili problem türü hangisidir?
5x1 + 9x2 ≤ 30
x1, x2 ≥ 0
x1 tamsayı
k.a.
Enb Z = 12x1 + 9x2
A. Saf tamsayılı programlama problemi
B. 0-1 tamsayılı programlama problemi
C. Karma tamsayılı programlama problemi
D. Doğrusal tamsayılı programlama problemi
E. Doğrusal olmayan tamsayılı programlama
problemi
3
Bir matematiksel programlama probleminin
karar değişkenleri x1 ≥ 0, x2 ≥ 0 ve tamsayı, x3 ∈
{0,1} olarak belirlenmiştir. Buna göre, aşağıda verilen çözümlerden hangisi bu problemin çözümü
olamaz?
208
x2=12,
x2=0,
x2=3,
x2=0,
x2=1,
Bir sırt çantası bölünemeyen dört ayrı eşya ile
doldurulacaktır. Dolu çantanın ağırlığı 12 kiloyu
aşamayacaktır. Eşyalar sırasıyla 5, 9, 3 ve 4 kg’dır.
Faydaları ise sırasıyla 10, 6, 8 ve 3’tür. xj j. eşyanın
seçilip seçilmediğini belirten 0-1 karar değişkeni
olmak üzere, sırt çantasında taşınacak eşyaların
toplam faydasını en büyükleyecek TP modelinde,
kapasite kısıtı aşağıdakilerden hangisidir?
A. x1 + x2 + x3 + x4 ≤ 21
B. x1 + x2 + x3 + x4 ≤ 12
C. 5x1 + 9x2 + 3x3 + 4x4 ≤ 12
D. 5x1+ 9x2 + 3x3 + 4x4 ≤ 27
E. 10x1 + 6x2 + 8x3 + 3x4 ≤ 27
5
4x1 – x2 ≤ 11
A. x1=18,
B. x1=0.36,
C. x1=1,
D. x1=0.22,
E. x1=0,
4
x3=0
x3=1
x3=0
x3=0.1
x3=1
Yedi ilçesi olan bir şehirde yerel yönetim,
kurulacak 112 acil servis merkezlerinin hangi ilçelerde olması gerektiğini belirleyecektir. Yönetimin amacı, tüm şehre hizmet verecek en az sayıda
merkez kurmaktır. xj j. ilçeye merkez kurulup kurulmayacağını belirten 0-1 karar değişkeni olmak
üzere, TP probleminin amaç fonksiyonu aşağıdakilerden hangisidir?
A. Enk Z = x1
B. Enb Z = x1 + x2
C. Enk Z = x1 + x2 + x3
D. Enk Z = x1+ x2 + x3 + x4 + x5 + x6 + x7
E. Enb Z = x1+ x2 + x3 + x4 + x5 + x6 + x7
6 Sabit maliyetler probleminde ele alınan sabit
maliyetler her zaman sabit midir?
A. Evet, sabit bir maliyetin tanımı, herhangi bir
üretim hacminde aynı olan bir maliyettir.
B. Evet, zamana bağlı olarak değişmeyen maliyettir.
C. Hayır, zamana ve üretim hacmine bağlı olarak
değişken olabilir.
D. Hayır, üretim belirli bir seviyeye ulaştığında
değişken olabilir.
E. Hayır, zamana bağlı olarak değişir.
7
Yöneylem Araştırması
7
Bir öğretmenin toplam 10 ayrı kitaptan han-
mesi gerekmektedir. Probleme ait karar değişkeni,
⎪⎧ 1, i.kitaptavsiyeedilirse
olarak tanımlanyi = ⎨
diğer durumda
⎩⎪ 0,
mıştır.
İkinci kitap tavsiye edilirse, yedinci kitabın da tavsiye edilmesi istendiği durumda, aşağıdaki ifadelerden hangisi ilgili kısıta karşı gelir?
A. y2 ≤ y7
B. y2 ≥ y7
C. y2 = y7
D. y2 – y7 =1
E. y2 + y7 =1
8
x1, x2, x3 ∈ {0,1} sırasıyla ürün 1, 2 ve 3’ün
üretilip üretilmeyeceğini belirleyen karar değişkenleridir. Aşağıda verilen kısıtlardan hangisi, en az iki
ürünün üretilmesini garantiler?
x1, x2 ∈ {0,1} sırasıyla proje 1 ve proje 2’nin
seçilip seçilmediğini belirleyen karar değişkenleridir. Aşağıda verilen kısıtlardan hangisi, proje 2’nin
sadece proje 1 seçilmesi durumunda seçileceğini
garantiler?
A. x1 – x2 = 0
B. x1 + x2 = 1
C. x1 – x2 = 1
D. x1 ≤ x2
E. x2 ≤ x1
neler öğrendik?
gilerini öğrencilerine tavsiye edeceğine karar ver-
9
10
Aşağıdakilerden hangisi tüm tamsayılı çözümlerin tek tek araştırılarak en iyi amaç fonksiyonu değerini belirleyen bir TP çözüm yaklaşımıdır?
A. Sayımlama
B. Dal-Sınır Algoritması
C. Simpleks Algoritması
D. Kesme Algoritması
E. Doğrusal Gevşetme
A. x1 + x2 ≤ 2
B. x2 + x3 ≤ 2
C. x1 + x2 + x3 = 1
D. x1 + x2 + x3 ≤ 2
E. x1 + x2 + x3 ≥ 2
209
7
neler öğrendik yanıt anahtarı
Tamsayılı Programlama Modelleri
1. E
Yanıtınız yanlış ise “Tamsayılı Programlama
Türleri” konusunu yeniden gözden geçiriniz.
6. A
Yanıtınız yanlış ise “Temel Tamsayılı Programlama Problemleri” konusunu yeniden
gözden geçiriniz.
2. C
Yanıtınız yanlış ise “Tamsayılı Programlama
Türleri” konusunu yeniden gözden geçiriniz.
7. A
Yanıtınız yanlış ise “Tamsayılı Programlama
Problemlerinde Özel Kısıtlar” konusunu yeniden gözden geçiriniz.
3. D
Yanıtınız yanlış ise “Tamsayılı Programlama
Türleri” konusunu yeniden gözden geçiriniz.
8. E
Yanıtınız yanlış ise “Tamsayılı Programlama
Problemlerinde Özel Kısıtlar” konusunu yeniden gözden geçiriniz.
4. C
Yanıtınız yanlış ise “Temel Tamsayılı Programlama Problemleri” konusunu yeniden
gözden geçiriniz.
9. E
Yanıtınız yanlış ise “Tamsayılı Programlama
Problemlerinde Özel Kısıtlar” konusunu yeniden gözden geçiriniz.
5. D
Yanıtınız yanlış ise “Temel Tamsayılı Programlama Problemleri” konusunu yeniden
gözden geçiriniz.
10. A
Yanıtınız yanlış ise “Tamsayılı Programlama
Problemleri Çözüm Yaklaşımları” konusunu
yeniden gözden geçiriniz.
Araştır Yanıt
Anahtarı
7
Araştır 1
⎧⎪ 1;
xj = ⎨
⎪⎩ 0;
j.ürün kargouçağına yüklenirse
diğer durumda( yüklenmezse)
, j = 1, ...,n
xi : i. makinede üretilecek hortum sayısı (i = 1,2,3,4)
Araştır 2
⎧⎪ 1; i.makine kullanılırsa
(i = 1,2,3,4)
yi = ⎨
⎪⎩ 0; i.makine kullanılmazsa
Olmak üzere hem pozitif tamsayı hem de 0-1 tamsayı değerli iki tür karar değişkeni kullanılmalıdır. Bu durumda, ele alınan problem bir karma tamsayılı
programlama problemidir.
Araştır 3
210
Seçilebilecek beş proje içeren bir sermaye bütçeleme problemini düşünün. i.
proje seçilirse yi = 1, değilse i = 1,...,5 için 0 olsun. Aşağıda verilen birbirinden
bağımsız koşullar için uygun kısıtları yazın.
A. En az üç proje seçilmeli.
y1 + y2 + y3 + y4 + y5 ≥ 3
B. Eğer proje 3 seçilirse, proje 4 seçilmelidir.
y3 ≤ y4
C. 1, 2 ve 3 projelerinden ikiden fazlası seçilemez
y1 + y2 + y3 ≤ 2
7
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
7
Araştır 4
Öncelikle, tamsayı kısıtı kaldırılarak problem doğrusal olarak gevşetilir.
7x + y ≤ 23
3x – y ≤ 5
x,y ≥ 0
k.a.
Enb Z = 15x+2y
Grafik çözümle, x = 2.8 ve y = 3.4 çözümü elde edilir. Her iki karar değişkeni
orijinal problemde tamsayı olması gerektiği için bu çözüm TP probleminin
bir uygun çözümü değildir.
Kaynakça
Bergantiños, G., Gómez-Rúa, M., Llorca, N., Pulido, M., & Sánchez-Soriano, J. (2020). Allocating costs
in set covering problems. European Journal of Operational Research, 284(3), 1074–1087. doi:10.1016/j.
ejor.2020.01.031
Burke, D.J. and O'Malley, M.J. (2010). Maximizing Firm Wind Connection to Security Constrained
Transmission Networks. in IEEE Transactions on Power Systems, Vol. 25, No. 2, pp. 749-759.
Hillier, S. Frederick, Gerald J. Lieberman (2001), Introduction to Operations Research, 7th. Edition. McGrawHill, New York.
Kamışlı Öztürk, Z., Güngör, K., Lepki, B. (2016). Lojistik Sektöründe Çok Amaçlı Kapı Atama Problemleri
İçin Bir Karar Destek Sistemi. Mühendislik Bilimleri ve Tasarım Dergisi, 4 (1) , 21-29.
Taghizadehalvandi, M., Kamisli Ozturk, Z. (2019). Multi-objective Solution Approaches for Employee Shift
Scheduling Problems in Service Sectors (RESEARCH NOTE). International Journal of Engineering, 32(9),
1312-1319. doi: 10.5829/ije.2019.32.09c.12
Winston, W. L. (2004). Operations Research: Applications and Algorithms (4. ed., internat. student ed.). Belmont,
Calif.: Brooks/Cole-Thomson Learning.
İnternet Kaynakları
Akbalık. A. (2019). Günlük Hayatımızda Matematik ve Biz: Yöneylem Uygulamaları. Matematik, Tanısan
Seversin. https://epistemturkiye.org/gunluk-hayatimizda-matematik-ve-biz-yoneylem-uygulamalari/
https://www.bilgidairesi.com/2018/07/17/cizelgeleme-nedir-ne-ise-yarar/
211
Bölüm 8
öğrenme çıktıları
Çok Amaçlı En İyileme Problemleri ve Hedef
Programlama
1
Çok Amaçlı Karar Verme Problemleri
1 Çok amaçlı karar verme problemlerini
ve bu problemlerin etkin çözümlerini
açıklayabilme
Hedef Programlama Problemleri
2
2 Hedef programlama problemlerinin
matematiksel modellerini ve bu
problemlerin en iyi çözümlerini
açıklayabilme
Anahtar Sözcükler: • Çok Amaçlı Karar Verme • Skalerleştirme • Ödünleşim
• Hedef Programlama Problemi
212
8
Yöneylem Araştırması
GİRİŞ
Kitabımızın bu bölümünde sizlerle hedef programlama problemlerini öğreneceğiz. Hedef programlama problemleri aslında çok amaçlı karar
verme problemlerinin özel bir türü olarak bilinmektedir.
Kitabımızın Giriş Bölümünde Yöneylem Araştırması ve Matematiksel Programlama terimlerini
aşağıdaki şekilde tanımlamıştık.
Matematiksel programlama, belli bir hedefe
ulaşmak veya belli bir amacı veya amaçları en iyilemek için, genellikle bizim kontrolümüz altında olmayan kısıtları da gözeterek gerekli adımların veya
eylemlerin belirlenmesini öğrenen bilim dalıdır. Bu
adımlar programlanırken, elimizdeki uygun çözüm
alanındaki alternatifler içerisinden amacımızı veya
amaçlarımızı en iyi veya en iyiye yakın bir şekilde
gerçekleştirebilmek için hangi seçeneğin ve nasıl
seçilebileceğine karar vermemiz gerekiyor. Elimizdeki mevcut uygun çözümden, yani elimizdeki bir
karar seçeneğinden daha iyi bir çözüm elde etmek
için, hangi yönde hangi eylemin gerçekleştirileceğine karar verilmesinin araştırılması da bir bilim
dalı olarak uygulamalı matematiksel programlamanın veya yöneylem araştırmasının temel prensibini
oluşturmaktadır. Dolayısıyla Yöneylem Araştırması, elimizdeki kısıtlı kaynakların, var olan kıstaslar
gözetilerek belirlenen amaca veya amaçlara olabildiğince iyi bir şekilde ulaşılması ve/veya verimliliğin olabildiğince artırılması için gerekli bilimsel
eylemlerin araştırılması ve uygulanması bilimidir.
Matematiksel programlama problemlerinde,
elimizdeki mevcut seçeneğin ne kadar iyi bir seçenek olduğuna, bu seçeneğin amaç fonksiyonu veya
fonksiyonlarına sağladığı değer üzerinden karar
verilebilmektedir. Eğer mevcut karar problemini
çözebilmek için en iyilenmesi gereken tek bir fonksiyon varsa, her bir çözüm seçeneğinin bu amaç
fonksiyonuna sağladığı değer hesaplanır ve bu
değerler kıyaslanarak en iyisine karşı gelen uygun
çözüm, en iyi çözüm olarak ilan edilir. Örneğin
amacımızın en büyükleme, amaç fonksiyonumuzun da f (x1, x2) = 3x1 + 2x2 şeklinde tanımlanmış
olduğu bir durumda, u1 = (x1, x2) = (3,1) ve u2
= (x1, x2) = (2,3) gibi iki uygun çözüm seçeneğini kıyaslamak istersek bu uygun çözümlerin amaç
fonksiyonumuza sağladıkları değerleri kıyaslamamız gerekir.
f (u1) = f (3,1) = 3 × 3 + 2 × 1 = 11,
f (u2) = f (2,3) = 3 × 2 + 2 × 3 = 12,
f (u2) > f (u1)
ve amacımız da en büyükleme olduğundan bu durum, bizim problemimiz için u2 = (2,3) seçeneğinin
u1 = (3,1) seçeneğinden daha iyi bir uygun çözüm
olduğunu göstermektedir. Bu yüzden u1 = (3,1) seçeneği eleniyor ve en iyi çözüm arayışına u2 = (2,3)
seçeneği ile devam ediliyor.
Eğer problemimizin matematiksel modelini
oluştururken birden fazla amaç fonksiyonunun en iyilenmesi gerektiğine karar verilirse, bu
problemlere çok amaçlı karar problemleri denir.
Örneğin, karar problemimiz kapsamında iki
adet amaç fonksiyonunun en büyüklenmesi gerektiğini varsayalım. Bu fonksiyonlar f1 (x1, x2) = x1 + x2
ve f2 (x1, x2) = 2x1 – x2 şeklinde tanımlanmış olsun.
u1 = (x1, x2) = (2,1) ve u2 = (x1, x2) = (2,3) gibi
iki uygun çözüm seçeneğini kıyaslamak istediğimizi
varsayalım. Bu uygun çözümlerin amaç fonksiyonlarımıza sağladıkları değerleri hesaplayalım:
f1 (u1) = f1 (2,1) = 2 + 1 = 3, f2 (u1) = f2 (2,1) = 2 × 2 – 1 × 1 = 3,
f1 (u2) = f1 (2,3) = 2 + 3 = 5, f2 (u2) = f2 (2,3) = 2 × 2 – 1 × 3 = 1.
Bu durumda amaç fonksiyonumuzu
f (x1, x2) = [ f1 (x1, x2), f2 (x1, x2)]
olarak bir vektör fonksiyon şeklinde tanımlayacak olursak, hangi uygun çözüm seçeneğinin daha iyi olduğuna karar verebilmek için muhtemelen
f (u1) = [ f1 (u1), f2 (u1)] = [3,3]
f (u2) = [ f1 (u2), f2 (u2)] = [5,1]
213
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
vektörlerini kıyaslamamız gerekecektir. Fakat vektörlerin kıyaslanabilmesi için özel kıyaslanma yöntemlerinin tanımlanması gerekmektedir. En sade
tanımlardan bir tanesi bileşenler bazında kıyaslama
yöntemi olup, birinci bileşenin birinci, ikinci bileşenin de ikinci bileşenle kıyaslanması sonucu bir
vektörün her iki bileşeninin diğer vektörün uygun
sıradaki bileşenlerinden büyük (veya küçük) olması
durumunda bu vektörün diğerinden büyük (veya
küçük) olacağı şeklinde bir kıyaslama yöntemidir.
Bu yönteme göre, örneğin a = [4,5] ve b = [3,1]
vektörlerini kıyaslayacak olursak a ve b vektörlerinin birinci bileşenleri 4>3 ve ikinci bileşenleri de
5>1 eşitsizliklerini sağladığından bu vektörler arasında a>b veya [4>5]>[3>1] münasebetinin sağlandığı görülür. Öte yandan bu kıyaslama yöntemini
f (u1) = [ f1 (u1), f2 (u1)] = [3,3]
ve
f (u2) = [ f1 (u2), f2 (u2)] = [5,1]
vektörlerini kıyaslamak için uygulamak istediğimizde, f (u1) = [4,5] ve f (u2) = [5,1] vektörlerinin birinci bileşenleri için 3<5, ikinci bileşenleri
için ise 3>1 sağlandığından bu vektörleri kıyaslayamayacağımız görülmektedir. Bu yüzden u1 =
(2,1) ve u2 = (2,3) uygun çözümleri de kendi
aralarında kıyaslanamamaktadırlar. Bu durum
bile, çok amaçlı karar problemlerinin araştırılmasının tek amaçlı problemlere göre çok daha
zor olduğunu göstermektedir. Bu yüzden çok
amaçlı problemlerin araştırılması için, duru-
ma göre skalerleştirme – yani tek amaçlı probleme indirgeme, ödünleşim ve hedef programlama gibi yaklaşımlar kullanılabilmektedir.
Bu bölümde, hedef programlama yaklaşımını öğreneceğiz, fakat öncesinde çok amaçlı karar
problemleri ile ilgili kısa bir bilgi de alacağız.
ÇOK AMAÇLI KARAR VERME
PROBLEMLERİ
Yukarıda tanımladığımız üzere, birden fazla çelişen amaç fonksiyonunun en iyilenmesi gereken
karar problemine çok amaçlı karar problemi veya
çok amaçlı en iyileme problemi denir. Tanımdaki
“çelişen amaçlar” tabirinin kullanılması tesadüf olmayıp çok amaçlı problemlerin tanımlanmasında
önemli rol oynamaktadır.
Çok amaçlı problemleri daha iyi anlamak için
aşağıdaki örnekle başlayalım.
ÖRNEK 8.1: Ahmet kendine yeni bir araba satın almak istemekte ve bu amaçla da piyasa araştırması yapmaktadır. Ahmet araba seçiminde en iyilemek istediği iki tane amaç belirlemiştir: arabanın
fiyatının ve yakıt tüketiminin olabildiğince düşük
olması. Bu amaçları kıyaslarken onların gerçekten
bir biri ile çeliştiğini görmek zor değil, zira aynı
segmentte yer alan iki arabadan daha az yakıt tüketen aracın fiyatı, daha fazla yakıt tüketen araca göre
daha pahalı olmaktadır. Ahmet araştırdığı arabalar
ve özellikleri için aşağıdaki gibi bir tablo oluşturarak daha kolay seçim yapabileceğini düşünmektedir. Bu tabloda arabalar A1, A2, A3, A4, A5 ile
işaretlenmiştir.
Tablo 8.1 Arabalar ve özelliklerine ilişkin bilgiler tablosu
Özellikler/ Arabalar
Fiyat (TL)
Yakıt tüketimi (I/100km)
A1
150,000
4
A2
130,000
5
A3
115,000
6
A4
105,000
7
A5
95,000
8
Ahmet, karar verebilmek için her iki amacı uygun çözüm alanında en iyilemek istemektedir. Fakat
seçenekleri kıyaslarken hiçbirisinin diğerinden daha iyi olmadığını görmektedir. Örneğin A1 seçeneğinin
yakıt tüketimi mevcut seçenekler içinde en iyisi, fakat fiyat açısından da en yükseği olduğundan Ahmet, bu
fiyatın kendi bütçesine göre yüksek olduğu kanaatindedir. Bu durumda Ahmet daha düşük fiyatlı bir araba
seçmek isterse daha yüksek yakıt tüketimini göze almak zorunda kalacak, bir başka deyimle bir ödünleşim
yapmak durumunda kalacaktır. Yani Ahmet daha düşük yakıt tüketimine sahip bir araba satın alabilmek
için ne kadar parayı gözden çıkaracağına karar vermelidir. Örneğin eğer Ahmet’in bütçesi 105,000 TL
civarında ise bu durumda 7 I/100km yakıt tüketimine sahip bir aracı tercih etmek durumunda kalacaktır.
214
8
Yöneylem Araştırması
ÖRNEK 8.2: Bir hava yolu şirketi kârını artırabilmek için koltuk sayısının daha fazla olduğu
uçaklar satın almış fakat bu uçaklarda koltuklar
arasındaki mesafe diğer uçaklara göre daha yakın
olduğundan, bu hava yolu şirketinin yolcular tarafından daha az tercih edildiği fark edilmiştir.
Durumu fark eden uçak şirketi yönetimi, yolcuları
cezb edebilmek için uçuş esnasında ikram edilecek
yiyecek ve içecek çeşitlerinin, koltuklarda seyredilebilen televizyon sisteminin ve internet erişiminin
kalitesinin iyileştirilmesine ve koltuk sayısının azaltılarak bazı koltukların arasındaki mesafenin artırılması suretiyle uçuş konforunun yükseltilmesine
karar vermiştir. Bütün bunlar ilave yatırımlar talep
ettiğinden yönetime sunulan mali raporda, çeşitli
yatırımlara karşı gelecek konfor-yatırım-kar değerlerine yer verilerek “ne kadar kalite artırımı” – “ne
kadar yatırım yapılabileceği” – “ne kadar kardan
feragat etme” şeklinde bir ödünleşim yapılması
gerektiği ortaya çıkmıştır. Bu probleme dikkat
edildiğinde, bunun da iki amaçlı bir eniyileme
problemi olduğu, amaçların kâr ve konfor fonksiyonlarından oluştuğu ve çelişen amaçlar olduğu
görülmektedir, zira konforun artırılması için yatırım yapılması ve ilgili rakamın kardaki düşülmesi
söz konusu olabilmektedir. Öte yandan yönetim,
belli bir konfor artırma bütçesini göze aldığında
elde edebileceği kâr seviyesi için bir hedef ortaya
koymak isterse, yapılan yatırımlara rağmen hedeflenen kâr seviyesinin tutturulamaması durumunda parasal bir cezanın uygulanabileceği de
göz önünde bulundurulmalıdır.
Şimdi çok amaçlı eniyileme problemlerinin
genel tanımını açıklayalım. Genel tanımda kullanacağımız terminolojinin de genel durumları
yansıtması açısından yukarıda açıkladığımız karar
problemleri ile ilgili durumların tam olarak yansıtılabilmesi açısından, çok amaçlı problemler için “en
büyükleme”, “en küçükleme” veya “Karar Kuralı”
terimlerini kullanacağız. “Karar Kuralı” terimi, duruma göre “en büyükleme” veya “en küçükleme”
olabileceği gibi, bir ödünleşim yaklaşımını veya bir
hedef programlama yaklaşımını da göz önünde bulundurmamıza olanak tanıyacaktır.
Uygun çözüm alanımızı, (doğrusal) eşitlik veya
eşitsizliklerle tanımlanan X kümesi ile işaretleyelim.
Problemimizde n tane amaç fonksiyonumuzun olduğunu varsayalım. Bu amaç fonksiyonlarını f1, f2,
... , fn ile, karar değişkenlerimizi de x ile işaretleyelim. Bu durumda n tane amaç fonksiyonuna sahip
çok amaçlı en iyileme problemini aşağıdaki şekilde
tanımlayabiliriz:
x∈X
(8.1)
kısıtları altında
Enb = [ f1 (x), f2 (x), fn (x)].
(8.2)
Bu formülasyondaki “Enb” tabiri, n tane amaç
fonksiyonunun hepsinin X uygun çözüm alanında
aynı zamanda en büyüklenmesi gerektiğini göstermektedir.
Çok amaçlı problemlerin uygun çözümleri,
tüm amaç fonksiyonlarının o noktadaki değerleri
hesaplanarak kıyaslanmaktadır. Herhangi iki uygun çözüm noktası kıyaslanırken bu noktalarda
tüm amaç fonksiyonlarının değerleri hesaplanır.
Eğer tüm fonksiyonların bir noktadaki değerlerinin
tamamı diğer noktadaki değerlerin tamamından
daha iyi ise (uygun bileşenler kıyaslandığında) bu
çözüme (diğerine göre) baskın çözüm denir. Eğer
uygun çözüm alanında, bir uygun çözüme baskın
çözüm bulunamaz ise o çözüme etkin çözüm denir.
Tanıma göre bu durum, uygun çözüm alanında bu
çözümden daha iyi bir çözüm bulunmadığını gösterdiğinden, çok amaçlı problemlerin çözümlerini
karakterize ederken “en iyi çözüm” tabiri kullanılmamakta, bunun yerine “bu çözümden daha iyisi
bulunmamaktadır” tabiri tercih edilmektedir. Bu
durumu açıklamak için x1, x2 ∈ X iki adet uygun
çözüm olsun. Eğer
fi (x1) ≥ fi (x2), i = 1, 2, ..., n
sağlanırsa, x1 uygun çözümü x2 uygun çözümüne
baskındır denir. Eğer X kümesinde x1 uygun çözümüne baskın farklı bir uygun çözüm bulunmazsa
x1 noktasına problemin etkin çözümü denir. Bu
durumda f (x1) = [ f1 (x1), f2 (x1), ..., fn (x1)] vektörüne de problemin “maksimal noktası” veya literatürde yaygın olarak bilinen adı ile “Pareto-maksimal noktası” denir.
dikkat
Çok amaçlı problemlerin etkin çözümü, bir başka
deyimle, tüm amaç fonksiyonlarının aynı anda iyileştirilemeyeceği çözüm anlamınada gelmektedir.
215
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
dikkat
Çok amaçlı eniyileme problemleri, tüm amaçların aynı anda en büyüklenmesi veya en küçüklenmesi şeklinde tanımlanabilir. Ancak bazı durumlarda amaç fonksiyonlarından bazılarının en büyüklenmesi, bazılarının da en küçüklenmesi
istenebilir. Önceki bölümlerde de belirttiğimiz üzere, benzer durumlarda f (x) = – [ –f1 (x)] özdeşliği kullanılarak tüm
amaç fonksiyonları isteğe göre en büyükleme veya en küçükleme şekline indirgene bilmektedir. Bu yüzden, çok amaçlı problemler için etkin çözüm kavramı, tüm amaçlara göre iyileştirilemeyen çözüm seçeneği olarak tanımlanmakta,
problemin etkin değeri ise bir etkin çözüme karşı gelen amaç fonksiyonları değerlerinden oluşan vektöre denilmektedir.
Bu kavramları örnek üzerinde açıklayalım. Aşağıdaki örnek, ÖRNEK 8.1’in hafifçe değiştirilmiş versiyonudur.
ÖRNEK 8.3: Ahmet kendine yeni bir araba satın almak istemekte ve bu amaçla da piyasa araştırması
yapmaktadır. Ahmet araba seçiminde en iyilemek istediği iki tane amaç (veya ölçüt) belirlemiştir: arabanın
fiyatının ve yakıt tüketiminin olabildiğince düşük olması. Ahmet araştırdığı arabalar ve özellikleri için
aşağıdaki gibi bir tablo oluşturarak daha kolay seçim yapabileceğini düşünmektedir. Bu tabloda arabalar
A1, A2, A3, A4, A5 ile işaretlenmiştir.
Tablo 8.2 Arabalar ve özellikleri tablosu
Özellikler/ Arabalar
Fiyat (TL)
Yakıt tüketimi (1/100km)
A1
150,000
4
A2
130,000
5
A3
115,000
6
A4
110,000
5.5
A5
100,000
5.5
Bu tablodaki seçeneklere bakılırsa, A4 seçeneğinin A3’e, A5 seçeneğinin ise hem A4 hem de A3 seçeneklerine baskın olduğu görülür, sebebi ise A5 seçeneğinin (uygun çözüm) hem fiyatının hem de yakıt tüketiminin A3 ve A4’e göre daha iyi olmasıdır. Öte yandan A1, A2 ve A5 seçeneklerinin hiçbirinin diğerlerine baskın olmadığı ve ayrıca bu kümede de bu arabalara daha baskın bir arabanın olmadığı görülmektedir,
yani her iki amaca göre bu kümede bu arabalardan daha iyisi bulunmamaktadır. Ahmet bütçesine göre bir
ödünleşim yaparak bunlardan birini seçebilir. Ayrıca Ahmet, “Fiyat” ve “Yakıt tüketimi” özelliklerinden
hangisinin kendisi için ne kadar önemli olduğunu belirleyerek hangisinden ne kadar ödün verebileceğini,
bir de önem katsayılarına göre de belirleyebilecektir. Örneğin eğer Ahmet için “yakıt tüketimi” özelliğinin
önemi, “100 km başına en fazla 5 litre yakıt tüketen araba istiyorum” şeklinde ise, bu durumda A1 veya
A2 arabalarından birini seçecektir. Fiyat özelliğini de dikkate alındığında seçimini kesinlikle A2 aracından yana kullanacaktır. Fakat Ahmet için “fiyat” özelliği daha önemli ve de en fazla ödeyebileceği rakam
110.000 TL ise, bu durumda seçimini A5 arabasından yana kullanacaktır. Bu son durumda A5 seçeneği
etkin çözüm, bu arabaya karşı gelen (100.000TL, 5.51/100km) çifti ise etkin değer rolünü oynamaktadır.
Amaç fonksiyonları için önem katsayılarının veya tercih katsayılarının belirlenerek çok amaçlı eniyileme problemleri tek amaçlı en iyileme problemlerine indirgenebilmektedir. Bu işleme skalerleştirme veya
tek amaca indirgeme işlemi denir. Bir sonraki alt bölümde bunu öğreneceğiz.
Çok Amaçlı En İyileme Problemlerinin Tek Amaçlı Problemlere İndirgenmesi
(8.1) – (8.2) münasebetleri ile tanımlanan çok amaçlı en iyileme problemini ele alalım. Karar vericimizin, amaç fonksiyonları ile ilgili tercih veya önem derecelerini fi fonksiyonu için wi, i = 1, 2, ..., n şeklinde
belirlediğini varsayalım, burada wi, i = 1, ..., n sayılarının hepsi negatif olmayan sayılardır. Bu sayılardan
herhangi birinin sıfır olması, karar verici için o amaç fonksiyonunun önemli olmadığı, yani problemin o
amaç fonksiyonu olmadan ele alınabileceğini göstermektedir. Bu şekilde oluşturulan tek amaçlı en iyileme
problemi aşağıdaki gibi tanımlanmaktadır:
216
8
Yöneylem Araştırması
x∈X
(8.3)
kısıtları altında
Enb z = w1 f1 (x) + w2 f2 (x) + ... + wn fn (x)
(8.4)
Negatif olmayan wi, i = 1, ..., n sayıları için (8.3) – (8.4) problemi (8.1) – (8.2) çok amaçlı problemine
karşı gelen skaler veya tek amaçlı problemdir. Bu şekilde tanımlanan (8.3) – (8.4) probleminin her bir
çözümü (8.1) – (8.2) çok amaçlı probleminin etkin çözümüdür.
dikkat
Literatürde her bir fi amaç fonksiyonu için belirlenmiş olan wi katsayısına bu amaç fonksiyonunun tercih derecesi, önem derecesi veya ağırlık katsayısı da denilmektedir. Bunun sebebi, tek amaca indirgenmiş problemin
(8.4) ile tanımlanmış olan amaç fonksiyonunun, aslında f1, f2, ..., fn fonksiyonlarının wi katsayıları kullanılarak
oluşturulmuş ağırlıklandırılmış toplamı olmasıdır. Bu yüzden bu şekilde oluşturulmuş olan tek amaca indirgeme
yöntemine ağırlıklandırılmış toplam yöntemi denilmektedir.
Şimdi çok amaçlı problemlerin tek amaçlı probleme indirgenmesi işlemini örnek üzerinde gösterelim.
Örnek olarak daha önce kitabımızın 1. bölümünde kısmen incelediğimiz ÖRNEK 1.5 ‘te tanımlanan
hikâyeyi kullanacağız. Bu problemi çeşitli açılardan ele alarak inceleyecek ve farklı yaklaşımlarla elde edilen
çözümleri karşılaştıracağız.
ÖRNEK 8.4: Mandıracımız ürettiği tereyağını şehirdeki 3 farklı dükkâna satmak istemekte, bu dükkanlara olabildiğince çok ürün göndermek istemekte ve günlük ürettiği ürünlerin taşınması için KAMYON şirketi ile anlaşmak istemektedir. KAMYON şirketi ürünleri, farklı kapasite ve teknik özelliklere
sahip iki tür kamyonla taşımayı planlamaktadır: K1 türü kamyon ve K2 türü kamyon. Anlaşma gereği taşıma için en fazla 6000 TL harcanabileceği belirlenmiştir. Kamyonların teknik özellikleri ve dükkânlara ulaşım koşulları göz önünde bulundurularak bu kamyon türleri için birim taşıma maliyetleri ve her dükkâna
bir kamyonun günlük taşıma kapasiteleri (ton cinsinden) belirlenmiş ve aşağıdaki Tablo 8.1’de verilmiştir.
Örneğin, K1 satırındaki sayılar, K1 tür kamyonun 1 tanesinin bir günde D1 dükkânına 7 ton, D2 dükkanına 10 ton, D3 dükkanına ise 5 ton ürün taşıyabileceğini göstermektedir. K1 satırının sonundaki 1000
sayısı ise, K1 türündeki bir adet kamyonun günlük kullanım (kira) maliyetinin 1000 TL olduğunu göstermektedir. Mandıracımızın 3 tane amaç fonksiyonu bulunmaktadır:
f1: D1 dükkânına gönderilecek ürün miktarının en büyüklenmesi;
f2: D2 dükkânına gönderilecek ürün miktarının en büyüklenmesi;
f3: D3 dükkânına gönderilecek ürün miktarının en büyüklenmesi.
KAMYON şirketi Mandıracının ürünlerini taşımak ve amaç fonksiyonlarını en büyüklemek için her
kamyon türünden kaç tane kullanılması gerektiğini belirlemelidir.
Tablo 8.3 Örnek 8.4 ile ilgili KAMYON şirketinin veri tablosu
Kamyon/Dükkan
K1
K2
D1
(ton)
7
3
D2
(ton)
10
5
D3
(ton)
5
4
Bir Kamyonun Günlük Kullanım Maliyeti (TL)
1000
600
217
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
ÇÖZÜM: Önce problemin matematiksel modelini kuralım.
Karar değişkenlerimiz;
x1 = kullanılacak K1 tür kamyon sayısı,
x2 = kullanılacak K2 tür kamyon sayısı,
Bu durumda, yukarıda sözel olarak ifade edilen amaç fonksiyonları ve kısıtlar aşağıdaki şekilde matematiksel olarak ifade edilebilir:
f1 (x1, x2) = 7x1 + 3x2 (D1 dükkânı için amaç fonksiyonu),
f2 (x1, x2) = 10x1 + 5x2 (D2 dükkânı için amaç fonksiyonu),
f3 (x1, x2) = 5x1 + 4x2 (D3 dükkânı için amaç fonksiyonu),
1000x1 + 600x2 ≤ 6000 (bütçe kısıtı)
Bu formülasyonları altında problemin matematiksel modeli:
1000x1 + 600x2 ≤ 6000
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb = [ f1 (x), f2 (x), f3 (x)]
Problemin matematiksel modeli, bu problemin 3 amaçlı doğrusal programlama problemi olduğunu
göstermektedir.
Bu problemi çözmek için önce tek amaca indirgeme yöntemini, sonra ise ödünleşim yaklaşımını uygulayacağız. Hedef programlama yaklaşımını ise bir sonraki alt bölümde öğreneceğiz.
Örnek 8.4’ün çözümü amacıyla tek amaca indirgeme yönteminin uygulanması için, öncelikle Mandıracımız onun için hangi dükkânın daha önemli olduğunu belirlemelidir. Bir başka deyimle Mandıracı, üç
tane dükkân ile ilgili tercih katsayılarını belirlemelidir. Mandıracının belirleyeceği önem katsayıları ortaya
çıkacak etkin çözümlerin niteliğini de belirleyecektir.
Mandıracımızın bu üç dükkânla ilgili önem katsayılarının aşağıdaki şekilde belirlediğini varsayalım:
w1 = 3, w2 = 2, w3 = 1
Bu katsayılar şu anlama gelmektedir. Mandıracı 1. Dükkâna gönderilecek ürün miktarını an çok önemsemektedir. Onun için birinci dükkân üçüncüden 3 kat, ikinci ise üçüncüden 2 kat daha önemlidir. Şimdi
gelin bu katsayıların, ortaya çıkacak çözüm kalitesini nasıl etkileyeceğini görelim.
Kurala göre, bu katsayıları kullanarak çok amaçlı problemin indirgeneceği tek amaçlı problem aşağıdaki şekilde olacaktır:
1000x1 + 600x2 ≤ 6000,
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb = [w1 f1 (x) + w2 f2 (x), + w3 f3 (x)]
ve ya, f1, f2, f3 fonksiyonlarının problemin matematiksel modeli kapsamındaki ifadesi kullanılırsa,
Enb = [3(7x1 + 3x2) + 2(10x1 + 5x2), + 1(5x1 + 4x2)].
218
8
Yöneylem Araştırması
x2
Sadeleştirerek, tek amaçlı en iyileme
problemimizin nihai şeklini elde ediyoruz:
10
1000x1 + 600x2 ≤ 6000,
x1 ≥ 0, x2 ≥ 0
kısıtları altında
C(46,23)
Enb f (x1, x2) = 46x1 + 23x2
z1= 0
Görüldüğü üzere, bu problem bildiğimiz
doğrusal programlama problemidir ve bu
zenb= 276
problemi her zaman simpleks yöntemi uygux1
0
layarak çözebiliriz. Fakat bu örneğimiz için
6
elde edilen skaler problem iki karar değişkenli (ve tek kısıtlı) olduğundan bu problemin
Şekil 8.1 ÖRNEK 8.4’e karşı gelen skaler problemin grafik
en iyi çözümünü grafik yöntemi kullanarak
yöntemle çözümü.
da kolaylıkla bulabiliriz, bakınız Şekil 8.1.
Çok amaçlı probleme karşı gelen skaler
problemin grafik yöntemle çözümü Şekil 8.1’de gösterilmiştir. Amaç fonksiyonuna karşı gelen C(46,23) vektörüne dik doğruyu, bu vektöre dik kalacak şekilde uygun çözüm alanını terk edene kadar kaydırarak, en son
terk ettiği noktayı (6,0) olarak buluyoruz. Bu nokta skaler problemin en iyi çözümü olup, aynı zamanda çok
amaçlı problemin de bir etkin çözümüdür. Bu çözüme göre x1 = 6, x2 = 0 elde ediyoruz, bu ise Kamyon şirketinin sadece 1. tür kamyondan ve 6 adet kullanması gerektiğini ve de bütçenin tamamının kullanılacağını
(1000 × 600x2 = 6000) göstermektedir. Bu çözüme göre amaç fonksiyonlarının da değerlerini hesaplayalım:
f1 (6,0) = 7 × 6 + 3 × 0 = 42,
f2 (6,0) = 10 × 6 + 5 × 0 = 60,
f3 (6,0) = 5 × 6 + 4 × 0 = 30,
(D1 dükkânına gönderilecek ürün miktarı),
(D2 dükkânına gönderilecek ürün miktarı),
(D3 dükkânına gönderilecek ürün miktarı).
Şimdi, Mandıracımızın tercih katsayılarının değiştiğini ve dükkânlara gönderilecek ürün miktarları
konusunda aşağıdaki gibi tercih katsayılarını belirlediğini varsayalım:
w1 = 1, w2 = 3, w3 = 5
Bu yeni katsayılar şu anlama gelmektedir. Mandıracı 1. Dükkâna gönderilecek ürün miktarını en az
önemsemektedir. Onun için üçüncü dükkân birinciden 5 kat, ikinci dükkân ise birinciden 3 kat daha
önemlidir. Şimdi gelin bu katsayıların, ortaya çıkacak çözüm kalitesini nasıl etkileyeceğini görelim.
Kurala göre, bu katsayıları kullanarak çok amaçlı problemin indirgeneceği tek amaçlı problem aşağıdaki şekilde olacaktır:
1000x1 + 600x2 ≤ 6000,
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb = [w1 f1 (x) + w2 f2 (x), + w3 f3 (x)]
Ve ya, f1, f2, f3 fonksiyonlarının problemin matematiksel modeli kapsamındaki ifadesi kullanılırsa,
Enb = [1(7x1 + 3x2) + 3(10x1 + 5x2), + 5(5x1 + 4x2)]
219
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Sadeleştirerek, ikinci tercih katsayılarına
karşı gelen tek amaçlı en iyileme problemimizin nihai şeklini aşağıdaki şekilde elde ediyoruz:
x2
10
zenb= 620
C(62,38)
1000x1 + 600x2 ≤ 6000,
x1 ≥ 0, x2 ≥ 0
kısıtları altında
Enb f (x1, x2) = 62x1 + 38x2
z1= 0
Görüldüğü üzere, bu problem bildiğimiz
doğrusal programlama problemidir ve bu
problemi her zaman simpleks yöntemi uygu6
x1
0
layarak çözebiliriz. Fakat bu örneğimiz için
elde edilen skaler problem iki karar değişkenli
(ve tek kısıtlı) olduğundan bu problemin en Şekil 8.2 ÖRNEK 8.4’e karşı gelen ikinci skaler problemin grafik
iyi çözümünü grafik yöntemi kullanarak da
yöntemle çözümü
kolaylıkla bulabiliriz, bakınız Şekil 8.2.
Çok amaçlı probleme karşı gelen skaler problemin grafik yöntemle çözümü Şekil 8.2’de gösterilmiştir.
Amaç fonksiyonuna karşı gelen C(62,38) vektörüne dik doğruyu, bu vektöre dik kalacak şekilde uygun
çözüm alanını terk edene kadar kaydırarak, en son terk ettiği noktayı (0,10) olarak buluyoruz. Bu nokta
skaler problemin en iyi çözümü olup, aynı zamanda çok amaçlı problemin de bir etkin çözümüdür. Bu çözüme
göre x1 = 0, x2 = 10 elde ediyoruz, bu ise Kamyon şirketinin sadece 1. tür kamyondan ve 6 adet kullanması
gerektiğini ve de bütçenin tamamının kullanılacağını (1000 × 0 + 600 × 10 = 6000) göstermektedir. Bu
çözüme göre amaç fonksiyonlarının da değerlerini hesaplayalım:
f1 (0,10) = 7 × 0 + 3 × 10 = 30, (D1 dükkânına gönderilecek ürün miktarı),
f2 (0,10) = 10 × 0 + 5 × 10 = 50, (D2 dükkânına gönderilecek ürün miktarı),
f3 (0,10) = 5 × 0 + 4 × 10 = 40, (D3 dükkânına gönderilecek ürün miktarı).
Şimdi gelin bu iki tercih katsayılarına göre elde edilmiş etkin çözümleri ve maksimal noktaları karşılaştıralım.
Daha sade bir şekilde ifade edebilmek için f (x1, x2) = [ f1 (x), f2 (x), f3 (x)] şeklinde vektör fonksiyon
olarak işaretleyelim. Buna göre birinci tercih katsayılarına göre (w = (3, 2, 1)) elde edilmiş amaç fonksiyonu vektörü
f (6,0) = [42, 60, 30],
ikinci tercih katsayılarına göre w = (1, 3, 5) elde edilmiş amaç fonksiyonu vektörü ise f (0,10) = [30, 50, 40].
Görüldüğü gibi, ikinci tercih katsayılarında, birinci amaç fonksiyonunun tercih katsayısının daha düşük olması, elde edilen çözümü de etkilemiş ve birinci dükkâna gönderilmesine karar verilen ürün miktarı
42’den 30’a inmiştir. İkinci çözümde ise üçüncü amaç fonksiyonunun tercih katsayısının daha büyük
olması, elde edilen çözümü de etkilemiş ve üçüncü dükkana gönderilmesine karar verilen ürün miktarı
30’dan 40’a yükselmiştir.
Son olarak, farklı tercih katsayılarına göre elde edilen bu çözüm değerlerini kıyaslayacak olursak f (6,0)
= [42, 60, 30] ve f (0,10) = [30, 50, 40] vektörlerinin hiçbirinin diğerine baskın olmadığı da kolaylıkla
görülebilmektedir. f (6,0) = [42, 60, 30] vektörünün birinci bileşeni olan 42 sayısı, f (0,10) = [30, 50,
40] vektörünün birinci bileşeni 30’dan büyük olsa da f (6,0)’ın üçüncü bileşeni 30, f (0,10) vektörünün
220
8
Yöneylem Araştırması
üçüncü bileşeni 40’tan daha küçük olduğundan bu
vektörler arasında f (6,0) ≥ f (0,10) veya f (0,10) ≥ f
(6,0) gibi münasebetlerin hiçbirisi sağlanmadığından, bu vektörlerin hiçbirisi diğerine baskın olmayıp her ikisi maksimal noktadır. Benzer şekilde karşı gelen (6,0) ve (0,10) uygun çözümlerini de her
ikisi etkin çözüm olup hiçbirisi diğerinden daha
iyi değildir. Bu sebepten bir daha vurgulayalım ki,
çok amaçlı problemlerin etkin çözümleri ve/ veya
maksimal noktaları hakkında konuşulurken en iyi
çözüm tabiri yerine, “uygun çözüm alanında daha
iyi çözüm bulunmamaktadır ” tabiri tercih ediliyor.
Böylece ÖRNEK 8.4’ün çözümünü tamamlamış bulunuyoruz.
Şimdi problemin hikayesini hafifçe değiştirelim
ve karar vericinin ödün vermek durumunda olduğu bir senaryo için çözümün nasıl bulunabileceğini
araştıralım.
ÖRNEK 8.5: Mandıracımız ürettiği tereyağını şehirdeki 3 farklı dükkâna satmak istemekte,
bu dükkanlara olabildiğince çok ürün göndermek
istemekte ve günlük ürettiği ürünlerin taşınması için KAMYON şirketi ile anlaşmak istemektedir. KAMYON şirketi ürünleri, farklı kapasite ve
teknik özelliklere sahip iki tür kamyonla taşımayı
planlamaktadır: K1 türü kamyon ve K2 türü kamyon. Anlaşma gereği taşıma için en fazla 7200 TL
harcanabileceği belirlenmiştir. Kamyonların teknik
özellikleri ve dükkânlara ulaşım koşulları göz önünde bulundurularak bu kamyon türleri için birim
taşıma maliyetleri ve her dükkâna bir kamyonun
günlük taşıma kapasiteleri (ton cinsinden) belirlenmiş ve aşağıdaki Tablo 8.2’de verilmiştir. Örneğin,
K2 satırındaki sayılar, K2 tür kamyonun 1 tanesinin bir günde D1 dükkânına 4 ton, D2 dükkanına
5 ton, D3 dükkanına ise 8 ton ürün taşıyabileceğini göstermektedir. K2 satırının sonundaki 800
sayısı ise, K2 türündeki bir adet kamyonun günlük
kullanım (kira) maliyetinin 800 TL olduğunu göstermektedir. Mandıracı, her bir dükkâna taşınacak
ürün miktarlarının olabildiğince en büyüklenmesini istemekte ama Kamyon şirketindeki araçların
teknik kapasitelerini inceledikten sonra dükkânlara
gönderilecek ürün miktarları ile ilgili bir ödünleşim yapmak zorunda kalacağını anlamaktadır. Bu
yüzden Mandıracı, birinci dükkâna en az 44 ton,
üçüncü dükkâna da en az 52 ton ürün gönderilmesi
koşuluyla ikinci dükkâna ulaştırılacak ürün miktarının en büyüklenmesini istemektedir. KAMYON
şirketi bütçe kısıtı altında Mandıracının birinci ve
üçüncü dükkânlarla ilgili isteklerini karşılayarak,
ikinci dükkâna gönderilecek ürün miktarını en büyükleyecek şekilde her bir kamyon türünden kaç
tane kullanılması gerektiğine karar vermelidir.
Tablo 8.4 Örnek 8.5 ile ilgili KAMYON şirketinin veri tablosu
Kamyon/Dükkan
D1
(ton)
D2
(ton)
D3
(ton)
Bir Kamyonun Günlük Kullanım
Maliyeti (TL)
K1
K2
Koşullar
7
4
En az 41
8
8
En büyükleme
5
8
En az 42
1000
800
ÇÖZÜM: Önce problemin matematiksel modelini kuralım.
Karar değişkenlerimiz;
x1 = kullanılacak K1 tür kamyon sayısı,
x2 = kullanılacak K2 tür kamyon sayısı,
Bu durumda, yukarıda sözel olarak ifade edilen bütçe koşulu ile dükkânlara gönderilecek ürün miktarları ile ilgili koşulları ifade etmek için her üç dükkâna gönderilecek ürün miktarları ile ilgili fonksiyonları
formüle edelim:
f1 (x1, x2) = 7x1 + 4x2
f2 (x1, x2) = 8x1 + 8x2
f3 (x1, x2) = 5x1 + 8x2
1000x1 + 800x2 ≤ 7200
(D1 dükkânına gönderilecek ürün miktarı),
(D2 dükkânına gönderilecek ürün miktarı),
(D3 dükkânına gönderilecek ürün miktarı),
(bütçe kısıtı)
221
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Bu formülasyonları altında problemin matematiksel modeli:
10x1 + 8x2 ≤ 72
7x1 + 4x2 ≥ 44
5x1 + 8x2 ≥ 42
x1 ≥ 0, x2 ≥ 0
x2
11
7x1+ 4x2=44
9
kısıtları altında
C(8,8)
Enb f2 (x1, x2) = 8x1 + 8x2
(4,4)
Bu problem aslında 3 amaçlı bir en
42/8
iyileme problemi olacakken, karar verici
amaçlar arasında bir ödünleşim yapmak zo- z1= 0
runda olduğunu anlamakta ve bu yüzden
(6,12/8)
de bazı amaçları ile ilgili özel koşullarını
problemin kısıt kümesine eklemek kaydıyla
44/7 7.2 42/5
0
x1
problemi tek amaçlı en iyileme problemine
dönüştürmeye karar vermiştir.
Bu problem, aslında bildiğimiz doğrusal Şekil 8.3 ÖRNEK 8.5’in matematiksel modelinin grafik yöntemle
programlama problemidir ve bu problemi
çözümü
her zaman simpleks yöntemi uygulayarak
çözebiliriz. Fakat problemin matematiksel modeli iki karar değişkenli olduğundan bu problemin en iyi
çözümünü grafik yöntemi kullanarak da kolaylıkla bulabiliriz, bakınız Şekil 8.3.
Problemin grafik yöntemle çözümü Şekil 8.3’te gösterilmiştir. Amaç fonksiyonuna karşı gelen C(8,8)
vektörüne dik doğruyu, bu vektöre dik kalacak şekilde uygun çözüm alanını terk edene kadar kaydırarak,
en son terk ettiği noktayı (4,4) olarak buluyoruz. Bu nokta ödünleşim probleminin en iyi çözümüdür. Bu
çözüme göre x1 = 4, x2 = 4 elde ediyoruz, bu ise Kamyon şirketinin 1. ve 2. tür kamyonlardan dörder adet
kullanması gerektiğini ve de bütçenin tamamının kullanılacağını (1000 × 4 + 800 × 4 = 7200) göstermektedir. Bu çözüme göre amaç fonksiyonlarının da değerlerini hesaplayalım:
f1 (4,4) = 7 × 4 + 4 × 4 = 44,
f2 (4,4) = 8 × 4 + 8 × 4 = 64,
f3 (4,4) = 5 × 4 + 8 × 4 = 52,
(D1 dükkânına gönderilecek ürün miktarı),
(D2 dükkânına gönderilecek ürün miktarı),
(D3 dükkânına gönderilecek ürün miktarı),
Görüldüğü üzere, Mandıracının birinci ve üçüncü dükkânlarla ilgili özel koşulları sağlanmış ve bu durumda ikinci dükkâna da en fazla gönderilebilecek ürün miktarı 64 ton olarak bulunmuştur.
Böylece ÖRNEK 8.5’in çözümünü tamamlamış bulunuyoruz.
222
8
Yöneylem Araştırması
Öğrenme Çıktısı
1 Çok amaçlı karar verme problemlerini ve bu problemlerin etkin çözümlerini açıklayabilme
Araştır 1
İlişkilendir
Anlat/Paylaş
İki amaçlı bir örnek
problem üzerinde çok
amaçlı karar problemini
ve etkin çözümlerini tanımlayınız. Bu problemi
amaçlardan bir tanesini
göz ardı ederek inceleyin ve çözümünü bulun.
Tek amaçlı ve iki amaçlı
problemlerin çözümlerini ilişkilendirin.
Kendi hayatınızdan belirleyeceğiniz çok amaçlı bir problem için olası
çözümleri yorumlayın.
Örneğin bir lojistik
şirketinde çalışacak olsaydın
planlamasını
yaptığınız bir ulaştırma problemi için hangi
amaç fonksiyonlarının
en iyilenmesini isterdin?
Amaç fonksiyonları
f1 (x1, x2) = 2x1 + x2, f2 (x1, x2) = –x1 + 2x2
şeklinde tanımlanmış olan aşağıdaki iki
amaçlı en iyileme probleminin verilsin:
–x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
xj ≥ 0,j = 1,2,
kısıtları altında
Enb f (x1, x2) = [ f1 (x1, x2), f2 (x1, x2)]
a. Bu problemi, w1 = (1,1), w2 = (3,1) ağırlık katsayılarını kullanarak tek amaçlı
probleme indirgeyin ve her bir ağırlık
çifti için oluşturacağınız tek amaçlı problemin en iyi çözümünü grafik yöntemle
bularak elde edeceğiniz etkin çözümleri
yorumlayınız.
b. Amaçlar arasında bir ödünleşim yapmayı deneyiniz. Örneğin, birinci amaç
fonksiyonu için bir alt sınır belirleyerek
elde ettiğiniz eşitsizliği kısıt kümesine
ekleyiniz ve bu ödünleşim yaklaşımını
kullanarak elde edilen tek amaçlı problemin en iyi çözümünü grafik yöntemle bulunuz. Ortaya çıkan sonucu, (a)
şıkkında elde ettiğiniz etkin çözümlerle kıyaslayarak yorumlayınız.
HEDEF PROGRAMLAMA PROBLEMLERİ
Bu bölümün Giriş kısmında, çok amaçlı problemlerin araştırılmasının ve çözümünün tek amaçlı problemlere göre çok daha zor olduğunu ve bu yüzden de genellikle tek amaçlı problemlere indirgenerek araştırıldığını
ve çözüldüğünü söylemiştik. Tek amaca indirgeme yöntemleri, genellikle karar vericinin istek ve tercihleri doğrultusunda ortaya çıkan durumlara bağlı olmakta ve çeşitlilik göstermektedir. Bazı durumlarda karar verici tüm
amaç fonksiyonlarının önem derecelerini yansıtan bir etkin çözüm elde edilmesini ister. Bu durumda amaç
fonksiyonları, belirlenmiş ağırlık katsayıları ile çarpılarak toplanır ve bu şekilde ortaya çıkan tek bir amaç fonksiyonuna göre en iyileme problemi çözülerek sonuç itibarıyla çok amaçlı problemin etkin çözümü elde edilir.
223
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Karar verici bazı durumlarda amaçlardan bazılarına göre olmazsa olmaz alt veya üst sınırlar belirleyerek bunları kısıt kümesine eklemek yolu ile geriye kalan tek bir amaç fonksiyonunu en iyileyip, tercih ettiği çözümü bu
şekilde elde etmek isteyebilir. Bu yaklaşım, ödünleşim yaklaşımı olarak adlandırılmaktadır.
Bir önceki alt bölümde çok amaçlı problemleri çözmek için ağırlıklandırılmış toplam skalerleştirme
yöntemi ile ödünleşim yöntemlerini öğrendik.
Bu altbölümde, çok amaçlı en iyileme problemlerinin araştırılmasında önemli bir yere sahip hedef
programlama yaklaşımını öğreneceğiz.
Yukarıdaki örneklerin bazılarında kullanılan ödünleşim yaklaşımının bir başka şekli, karar vericinin
tüm amaçlarla ilgili hedefler koymak istemesi, fakat bu hedeflerin tam olarak uygun çözüm alanında gerçekleştirilme olanağının olmaması durumunda ortaya çıkıyor. Bu durumun çözülmesi için kullanılan yaklaşım da hedef programlama yaklaşımı olarak adlandırılıyor.
dikkat
Hedef programlama yaklaşımı, bir doğrusal programlama probleminin kısıtlarını belirleyen denklem veya eşitsizliklerin her zaman sağlanabileceğine dair “inancı” da test ederek, bunların sağlanmadığı bazı durumlarda da
çözüm üretebilmenin yollarını araştırıyor. Örneğin, üretim-envanter probleminde denklemler, genellikle şirketin
ürünlerine olan haftalık talep tahminlerinin cari üretim ve envanter durumu temelinde sağlanabileceğini belirler.
Fakat şirket, tüm talepleri sağlayacak üretim kapasitesine sahip olmayabilir. Bu durumda talep değerleri, ulaşılabilir veya ulaşılamayacak başarı seviyeleri şeklinde yorumlanabilir. Bütün mesele benzer durumlarda, belli cezalarla
da olsa bu başarı seviyelerinden uygun çözüm alanı kapsamında en iyi pozitif veya negatif sapma değerlerinin nasıl
bulunacağına, dolayısıyla hedef programlama problemine indirgeniyor. Hedeften pozitif sapma, hedeflenen başarı
seviyesinden yukarıya sapmayı (“artık” üretim veya “artık” kapasite) ve hedeften negatif sapma da hedeflenen başarı seviyesinden aşağıya sapmayı (“eksik” üretim veya “eksik” kapasite) gösterir. Bu sebepten, hedef programlama
probleminin amaç fonksiyonu, pozitif ve negatif sapmaların karar verici için önem dereceleri kullanılarak oluşturulan ağırlıklandırılmış toplamının en küçüklenmesi şeklinde tanımlanmaktadır.
Hedef programlama problemi ilk kez 1961 yılında Abraham Charnes ve William Cooper tarafından
formüle edilmiştir.
Hedef programlama probleminin nasıl formüle edildiğini öğrenmek için (8.1) – (8.2) münasebetleri
ile tanımlanan çok amaçlı en iyileme problemini ele alalım. Bu problemin n tane amaç fonksiyonunun
doğrusal olduğunu ve
fi ( x ) = ∑
N
c x ,i = 1, ... n ,
j=1 ij j
m tane kısıt fonksiyonunun da
N
gk ( x ) = ∑ akj x j , k = 1, ... m
j=1
şeklinde tanımlandığını varsayalım. Bu durumda, çok amaçlı eniyileme probleminin uygun çözüm alanı
aşağıdaki şekilde tanımlanmaktadır:
N
∑ j=1 akj x j ≤bk , k = 1, ... m,
x j ≥ 0, j = 1, ... N.
224
8
Yöneylem Araştırması
Karar vericinin, her bir fi amaç fonksiyonu ile ilgili bir hi hedef değeri belirlediğini ve amacının bu
hedeflerin en az sapma ile tutturulması olduğunu varsayalım. Karar vericinin her bir hedeften sapma ile
ilgili bir de tercih (önem) veya ağırlık katsayısı belirlediği de bilinmektedir. Karar vericinin, bu ağırlık katsayılarını wi, i = 1, 2, ..., n şeklinde belirlediğini varsayalım. Bu durumda, her bir fi amaç fonksiyonu için
hi hedefinden sapmayı | fi(x) – hi | şeklinde tanımlayabiliriz, burada | fi(x) – hi | ifadesi, fi(x) fonksiyonu ile
hi sayısı arasındaki farkın mutlak değerini göstermektedir. Mutlak değerin tanımına göre | fi(x) – hi | ifadesi
⎪⎧− ( fi ( x ) − hi ) , eğer fi(x) – hi < 0
fi ( x ) − hi = ⎨
fi ( x ) − hi , eğer fi(x) – hi ≥ 0
⎩⎪
(8.5)
şeklinde tanımlanmaktadır.
Bu tanımı, karar vericinin hedeflerden sapmayı en küçüklemek istediğini ve her bir hedeften sapma için
belirlenen ağırlık katsayılarını göz önünde bulundurarak, hedef programlama problemini aşağıdaki şekilde
tanımlayabiliriz:
N
∑ j=1 akj x j ≤bk , k = 1, ... m,
(8.6)
x j ≥ 0, j = 1, ... N,
(8.7)
kısıtları altında
Enk ∑
n
w f
i=1 i i
( x ) − hi .
(8.8)
(8.6) – (8.7) – (8.8) münasebetleri ile tanımlanan problem, hedef programlama probleminin en temel
hâlini göstermektedir. Ana problemin fi amaç fonksiyonları ve kısıtların doğrusal olduğu bu hedef programlama probleminin (8.8) deki amaç fonksiyonu, mutlak değer ifadesi nedeniyle doğrusal olmamaktadır.
Aşağıdaki işaretlemeleri kullanarak, bu ifadeyi büyük ölçüde doğrusallaştırabiliriz.
Her bir i = 1, ..., n için aşağıdaki gibi tanımlayacağımız yeni değişkenler
si+ =
1
fi ( x ) − hi + ⎡⎣ fi ( x ) − hi ⎤⎦ ,
2
{
}
(8.9)
si− =
1
fi ( x ) − hi − ⎡⎣ fi ( x ) − hi ⎤⎦
2
}
(8.10)
ve
{
+
−
olsun. Bu durumda, si ve si değişkenlerinin tanımlandığı (8.8) ve (8.9) ifadelerini taraf tarafa toplayıp
ve çıkarırsak mutlak değerin yer almadığı aşağıdaki formülasyonları elde ederiz:
si+ + si− = fi ( x ) − hi ,
(8.11)
si+ − si− = fi ( x ) − hi .
(8.12)
Şimdi (8.8) ve (8.9) ifadelerini taraf tarafa çarparak ve iki sayının toplamı ile farkının çarpımının, bu
sayıların kareleri farkına eşit olduğunu dikkate alırsak ((a + b) (a – b) = a2 – b2), aşağıdaki özelliği elde
ederiz:
225
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
si+ × si− =
{
1
2
2
fi ( x ) − hi − ⎡⎣ fi ( x ) − hi ⎤⎦
4
}
(8.12.1)
Bir sayının mutlak değerinin karesi kendi karesine eşit olduğundan,
{ f ( x ) − h − ⎡⎣ f ( x ) − h ⎤⎦ } = 0
i
i
2
i
i
2
(8.12.2)
ve sonuç olarak
si+ × si− = 0
(8.13)
elde edilir. Ayrıca, bu yeni değişkenlerin (8.8) ve (8.9) tanımlarına dikkat edersek,
si+ ≥ 0, si− ≥0
(8.14)
olduğu da kolaylıkla görülebilir.
Şimdi (8.9) – (8.14) ifadelerini göz önünde bulundurarak, (8.6) – (8.8) problemini, mutlak değer
ifadesinin yer almadığı aşağıdaki eş değer şekilde yazabiliriz:
N
∑ j=1 akj x j ≤bk , k = 1, ... m,
(8.15)
fi ( x ) − si+ + si− = hi ,
(8.16)
si+ × si− = 0
(8.17)
x j ≥ 0, j = 1, ... N, si− ≥ 0, si− ≥ 0,i = 1, ... n
(8.18)
kısıtları altında
Enk ∑
n
w
i=1 i
( si+ + si− )
(8.19)
(8.15) – (8.19) ifadeleri ile tanımlanan problem, genel hedef programlama probleminin “kısmen” doğrusallaştırılmış şeklidir. Burada “kısmen” tabirini kullanmamızın sebebi, (8.17) kısıtlarında yeni karar değişkenlerinin çarpımının yer almasıdır. Bu problemi çözmek için simpleks algoritmayı kullanmak istersek
si+ ve si− değişkenlerinin aynı zamanda temelde yer almamasını sağlamamız yeterli olacaktır. Bu durumda bu değişkenlerin bir tanesinin temel dışı olması, onun değerinin sıfır olması ve böylece (8.17)nin
de sağlanması anlamına gelecektir.
+
−
Şimdi de (8.9) ve (8.10) ile tanımlanan si ve si değişkenlerinin özelliklerini yorumlayalım. Öncelikle, sıfırdan farklı bir sayının mutlak değerinin her zaman pozitif olduğunu ve sıfırın mutlak değerinin
sıfır olduğunu hatırlayalım. Bu değişkenlerin tanımlanmasında fi(x) – hi farkı (fonksiyonun değeri ile
hedef arasındaki fark) önemli rol oynadığından, bu farkı araştıralım. Eğer fi(x) – hi ≥ 0 ise, bu durumda
(8.9) ifadesinin sağ tarafı, iki negatif olmayan sayının toplamının yarısı şeklinde tanımlandığından, negatif
+
değildir, dolayısıyla si ≥ 0 elde edilir. Öte yandan, fi(x) – hi ≥ 0 durumunda
| fi(x) – hi | = fi(x) – hi
−
olduğundan, (8.10) ifadesinin sağ tarafında sıfır elde ederiz, dolayısıyla si = 0.
226
8
Yöneylem Araştırması
Eğer fi(x) – hi ≤ 0 ise, bu durumda | fi(x) – hi | = – ( fi(x) – hi ) olduğundan (8.9) ifadesinin sağ tarafında
+
sıfır elde ederiz, dolayısı ile si = 0. Öte yandan, fi(x) – hi ≤ 0 durumunda – [ fi(x) – hi] ≥ 0 olacağından
−
(8.10) ifadesinin sağ tarafı negatif olmayan bir sayı olacak, dolayısı ile si ≥ 0 elde edilir.
dikkat
+
−
Toparlayacak olursak, si ve si değişkenlerinin her durumda negatif olmayacağı ve biri pozitif ise diğerinin
sıfır olacağı sonucunu elde ediyoruz. Buradan çıkan bir başka sonuç da eğer fi(x) – hi ≥ 0 ise, bu durumda
+
−
(8.9) tanımından si = fi(x) – hi, eğer fi(x) – hi ≤ 0 ise, bu durumda (8.10) tanımından si = fi(x) – hi
+
−
elde edilir. Bundan dolayı si değişkenine hedeften pozitif sapma (hedeften fazla), si değişkenine ise hedeften negatif sapma (hedeften eksik) isimleri verilmektedir. Bu yüzden bir hedef programlama probleminde
+
eğer masraflar için bir üst hedef belirlenmiş ise hedeften pozitif sapmayı, yani si değişkenini en küçüklemek
−
gerekecek. Eğer getiri için bir alt hedef belirlenmiş ise bu durumda da hedeften negatif sapmayı, yani si
değişkenini en küçüklemek mantıklı olacaktır. Böyle durumlarda (8.19) formülü ile tanımlanmış olan amaç
fonksiyonu
Enk ∑
n
w s+
i=1 i i
(8.20)
n
w s−
i=1 i i
(8.21)
ve ya
Enk ∑
şeklinde ifade edilebilmektedir.
Aslında, hedef programlama probleminin, hedeflerden sapmaların aynı zamanda en küçüklendiği bir “çok
amaçlı eniyileme” problemi olarak da görülebileceğini belirtmekte yarar var. Bu durumda, (8.15) – (8.19) veya
amaç fonksiyonlarının (8.20), (8.21) şeklinde ifade edildiği problemler de ağırlıklandırılmış toplam yöntemi
kullanılarak, bu problemin tek amaçlı probleme indirgenmiş hâli olarak da görülebilir.
Son olarak, bazı durumlarda karar verici hedefleri kendi öncelik sırasına göre belli bir sırada dizerek önce en öncelikli bir hedefi (veya hedefler grubunu) göz önünde bulunduran bir çözüm veya
çözümler kümesi bulunur. Bu problemin matematiksel modeli sadece orijinal kısıtları ve birinci hedefle ilgili kısıdı içerir ve ilgili hedeften sapma değişkeni (veya değişkenlerin ağırlıklandırılmış toplamı) amaç fonksiyonu olarak en küçüklenir. Sonra bu problemin çözüm kümesinde ikinci dereceli
önceliğe sahip hedef veya hedefler grubu ile ilgili çözüm bulunur ve s. Bu tür problemlere öncelikli
tercihleri gözeten hedef programlama problemleri denir.
Şimdi hedef programlama problemi ile ilgili bir örnek inceleyelim.
ÖRNEK 8.6: Mandıracımız ürettiği tereyağını şehirdeki 3 farklı dükkâna satmak istemekte ve günlük
ürettiği ürünlerinin taşınması için KAMYON şirketi ile anlaşmak istemektedir. Mandıracımızın 3 tane
hedefi bulunmaktadır:
Hedef 1: D1 dükkânına en az 40 ton ürün gönderilmeli;
Hedef 2: D2 dükkânına en az 60 ton ürün gönderilmeli;
Hedef 3: D3 dükkânına en az 35 ton ürün gönderilmeli.
KAMYON şirketi ürünleri, farklı kapasite ve teknik özelliklere sahip iki tür kamyonla taşımayı planlamaktadır: K1 türü kamyon ve K2 türü kamyon. Anlaşma gereği taşıma için en fazla 6,000 TL harcana-
227
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
bileceği belirlenmiştir. Kamyonların teknik özellikleri ve dükkânlara ulaşım koşulları göz önünde bulundurularak bu kamyon türleri için birim taşıma maliyetleri ve her dükkâna bir kamyonun günlük taşıma
kapasiteleri (ton cinsinden) belirlenmiş ve aşağıdaki Tablo 8.1’de verilmiştir. Örneğin, K1 satırı ile D1
sütununun kesişmesindeki 7 sayısı, K1 tür kamyonun 1 tanesinin bir günde D1 dükkânına 7 ton ürün
taşıyabileceğini göstermektedir. K1 satırının sonundaki 1000 sayısı ise, K1 türündeki bir adet kamyonun
günlük kullanım (kira) maliyetinin 1000 TL olduğunu göstermektedir. KAMYON şirketi Mandıracının
ürünlerini taşımak ve hedeflerini tutturabilmek için her kamyon türünden kaç tane kullanılması gerektiğini belirlemelidir.
Tablo 8.5 Örnek 8.6 ile ilgili KAMYON şirketinin veri tablosu
Kamyon/Dükkan
K1
K2
Hedefler
D1
(ton)
D2
(ton)
D3
(ton)
Bir Kamyonun Günlük Kullanım
Maliyeti (TL)
7
3
40
10
5
60
5
4
35
1000
600
ÇÖZÜM:
Karar değişkenlerimiz:
x1 = kullanılacak K1 tür kamyon sayısı,
x2 = kullanılacak K2 tür kamyon sayısı,
Bu durumda, Mandıracının hedeflerini karşılamak için yukarıda sözel olarak ifade edilen hedef ve kısıtlar matematiksel olarak aşağıdaki şekilde ifade edilebilir:
7x1 + 3x2 ≥ 40
10x1 + 5x2 ≥ 60
5x1 + 4x2 ≥ 35
1000x1 + 600x2 ≤ 6,000
(D1 dükkânı için hedef kısıtı)
(D2 dükkânı için hedef kısıtı)
(D3 dükkânı için hedef kısıtı)
(bütçe kısıtı).
Önce bu kısıtları sağlayan uygun
x2
çözüm alanını araştıralım. Bu kısıtların 10x1+ 5x2=60
grafik yorumunun resimlendiği Şekil
40
3
8.4’e göz atalım.
7x1+ 3x2=40
Şekil 8.4’ten de görüldüğü üzere bu 10x1+ 6x2=60
12
kısıtları sağlayan uygun çözüm bulunmamaktadır. Bir başka deyimle Mandıracının
10
tüm hedeflerini sağlayacak uygun çözüm
35/4
bulunmamaktadır. Bu durumda Mandıracının önceliklerini göz önünde bulundurarak onun için, hedeflerden negatif
sapmaları en küçükleyecek hedef programlama problemi oluşturacağız.
5x1+ 4x2=35
Yöneylem Araştırması ekibi, Mandıracıdan öncelikli hedeflerini sıralamasını
ister. Buna cevaben Mandıracı en önce40 6 7
x1
0
likli hedefinin birinci dükkân, ardından
7
ikinci ve en son önceliğinin de üçüncü
Şekil 8.4 Örnek 8.6’da tarif edilen problemin uygun çözüm alanı.
dükkân olduğunu söyler. Bunun üzerine
228
8
Yöneylem Araştırması
pozitif ve negatif sapma değişkenleri tanımlanarak öncelikleri gözeten ilk hedef programlama probleminin
matematiksel modeli aşağıdaki şekilde formüle edilir ( bakınız (8.15) – (8.16) – (8.17) – (8.18) – (8.21)):
s1− = D1 dükkânına eksik ulaştırılan ürün miktarı (ton);
s1+ = D1 dükkânına fazla ulaştırılan ürün miktarı (ton);
s2− = D2 dükkânına eksik ulaştırılan ürün miktarı (ton);
s2+ = D2 dükkânına fazla ulaştırılan ürün miktarı (ton);
s3− = D3 dükkânına eksik ulaştırılan ürün miktarı (ton);
s3+ = D3 dükkânına fazla ulaştırılan ürün miktarı (ton);
7x1 + 3x2 – s1+ + s1− = 40 (D1 dükkânı için hedef kısıtı)
x2
1000x1 + 600x2 ≤ 6,000,
(bütçe kısıtı)
+ s−
s1 × 1 = 0
40
−
+
3
s
xj ≥ 0, j = 1, 2, s1 ≥ 0, 1 ≥ 0,
kısıtları altında
10
−
Enk s1 .
Bu problemin grafik çözümüne ait resimleme Şekil 8.5’te gösterilmiştir. Bu grafikte
s1+ ile gösterilen ok, birinci amaç fonksiyonunun hedefin üstünde değer aldığı bölgeyi
ve ok yönünde gidildiğinde s1+ sapma değişkeninin değerinin arttığını, s1− ile gösterilen
ok ise birinci amaç fonksiyonunun hedefin
altında değer aldığı bölgeyi ve ok yönünde
gidildiğinde s1− sapma değişkeninin değerinin arttığını göstermektedir.
f1(x1,x2)=7x1+3x2=40
10x1+ 6x2=60
S1+
S1
0
40
7
6
x1
Şekil 8.5 ÖRNEK 8.6’nın birinci önceliğine ait hedef programlama
probleminin grafik çözümünün resimlenmesi
−
f1 (x1, x2) = 7x1 + 3x2 = 40 çizgisi üzerinde ise s1 = 0 durumu gerçekleşmektedir. Mandıracının hedefi
−
s1 negatif sapmayı en küçüklemek olduğundan bu hedefle ilgili en iyi çözüm alanı Şekil 8.6’da gösterilmiştir.
Bu çözüm kümesi, x1 ekseninin üstünde, 7x1 + 3x2 = 40 doğrusunun üstünde ve 10x1 + 6x2 = 60 doğrusunun
altında kalan üçgen alandan oluşmaktadır. Şimdi bu alan üzerinde ikinci hedefle ilgili problemin en iyi çözümünü arayacağız.
Mandıracının ikinci önceliği ile ilgili hedef programlama probleminin matematiksel modeli aşağıdaki
gibi olacaktır:
10x1 + 5x2 – s2+ + s2− = 60 (D2 dükkânı için hedef kısıtı)
7x1 + 3x2 ≥ 40
(D1 dükkânı için hedef kısıtı)
1000x1 + 600x2 ≤ 6,000
(bütçe kısıtı)
s2+ × s2− = 0
xj ≥ 0, j = 1, 2, s2+ ≥ 0, s2− ≥ 0,
kısıtları altında
Enk s2− .
229
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
x2
40
3
f1(x1,x2)=7x1+3x2=40
10x1+ 6x2=60
10
S1+
(5,
5
)
3
S1
40
7
0
6
x1
Şekil 8.6 ÖRNEK 8.6’nın ait birinci önceliğine ait hedef programlama probleminin en iyi çözüm kümesinin
resimlenmesi
İkinci önceliğe ait problemin grafik çözümüne ait resimleme Şekil 8.7’de gösterilmiştir. Bu grafikte s2+ ile
gösterilen ok, ikinci amaç fonksiyonunun hedefin üstünde değer aldığı bölgeyi ve ok yönünde gidildiğinde
s2+ sapma değişkeninin değerinin arttığını, s2− ile gösterilen ok ise birinci amaç fonksiyonunun hedefin altında değer aldığı bölgeyi ve ok yönünde gidildiğinde s2− sapma değişkeninin değerinin arttığını göstermektedir.
x2
40
3
10x1+ 5x2=60
10x1+ 6x2=60
12
7x1+3x2=40
10
S2+
(4,4)
S2
0
(5,
40
7
5
)
3
6
x1
Şekil 8.7 ÖRNEK 8.6’nın ikinci önceliğine ait hedef programlama probleminin en iyi çözüm kümesinin resimlenmesi
Şekil 8.7’den de görüldüğü üzere, ikinci hedef ile ilgili problemin en iyi çözümleri s2− = 0 ve s2+ değerinin artış
yönünde olup, bu hedefe ait amaç fonksiyonu 10x1 + 5x2 = 60 doğrusunun üst tarafında ve birinci hedef ile ilgili
problemin en iyi çözümlerinin yer aldığı kümenin kesişiminde yer alacaktır. Şekil 8.7’den de görüldüğü üzere bu küme
tek bir noktadan oluşmaktadır: (6,0).
230
8
Yöneylem Araştırması
x2
İkinci önceliğe ait çözüm kümesi
40
tek bir noktadan oluştuğuna göre bu
10x1+ 5x2=60
3
nokta üçüncü önceliğe ait hedef problem için de en iyi çözüm olarak kabul 10x1+ 6x2=60 12
7x1+3x2=40
edilmektedir. Böylece Hedef program10
S2+
lama probleminin en iyi çözümü ola- 5x1+ 4x2=35
rak x1 = 6, x2 = 0 noktası bulunur.
35/4
Bu çözümün, üçüncü hedefle ilgili
(4,4)
pozitif ve negatif sapma değişkenlerini
nasıl etkilediğini ve sapma değişkenlerinin değerlerini hesaplamak için bu
çözümü de grafik üzerinde inceleyelim.
5
(5, )
S2
İlgili kısıt ve çözüm kümesi Şekil 8.8’de
3 +
S3
resimlenmiştir. Şekil 8.8’den görüldüğü üzere, problemin en iyi çözümü
S3 6 7
x1
0
+
(6,0) noktası, s3 değişkeninin sıfır
Şekil 8.8 ÖRNEK 8.6’nın üçüncü önceliğine ait hedef programlama
olduğu, s3− değişkeninin ise pozitif olprobleminin en iyi çözüm kümesinin resimlenmesi
duğu bölgede yer alıyor.
Elde edilen en iyi çözümün yorumu:
•
Kamyon şirketi, K1 tür kamyondan 6 adet kullanmış: x1 = 6; K2 tür kamyondan ise hiç kullanmamıştır: x2 = 0;
•
D1 dükkânı ile ilgili amaç hedef kısıdını hesaplayalım:
7x1 + 3x2 – s1+ + s1− = 40, (D1 dükkânı için hedef kısıtı) olduğuna göre, çözüm noktasında
7 + 6 × 3 × 0 – s1+ + s1− = 40.
İlk hedefle ilgili grafik çözümden de görüldüğü üzere, en iyi çözüm s1− = 0 olacak şekilde bulunmuştu. Bu dikkate alındığında,
42 + 0 – s1+ + 0 = 40,
ve ya s1+ = 2 bulunuyor. Sonuç itibarıyla bu durum, Mandıracının birinci dükkânla ilgili hedefinin, bu dükkâna 2 ton fazla ürün ulaştırılacak şekilde fazlasıyla tutturulduğunu göstermektedir:
7 × 6 + 3 × 0 + 0 = 40.
•
Elde edilen çözümü D2 dükkânı için inceleyecek olursak, bu hedefle ilgili en iyi çözüm tam olarak
hedef kısıdı çizgisinin üzerinde tutturulduğundan
−
s2+ = s2 = 0
elde edilmiştir. Hedef kısıtının en iyi çözümdeki değeri de bu sonucu desteklemektedir:
10x1 + 5x2 – s1+ + s1− = 60 (D2 dükkânı için hedef kısıtı)
veya
10 × 6 + 5 × 0 + 0 = 60.
D2 dükkânı için Mandıracının hedefi tam tamına tutturulmuştur.
•
Elde edilmiş en iyi çözümü D3 dükkânı ile ilgili hedef kısıtında yerine yazarak hesaplayalım:
−
+
5x1 + 4x2 – s3 + s3 = 35 (D3 dükkânı için hedef kısıtı)
+
veya s3 = 0 olduğundan
−
5 × 6 + 4 × 0 – 0 + s3 = 35
−
ve dolayısıyla s3 = 5 bulunur: D3 dükkânı için Mandıracının hedefi 5 ton eksik ulaştırılarak tutturulamamıştır.
231
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
dikkat
En iyi çözümün bu şekilde çıkmasının sebebi, Mandıracının D3 dükkânı ile ilgili önceliğinin en düşük seviyede belirtilmiş olmasıdır.
Bu problemde Mandıracı, öncelikli tercihlerini belirtmek yerine her bir dükkâna hedeften eksik ulaştırılan her
ton ürün için aşağıdaki şekilde bir para cezası uygulayabilirdi:
• D1 dükkânına eksik ulaştırılan her bir ton ürün için kayıp satış tazminatı olarak 20000 TL ceza;
• D2 dükkânına eksik ulaştırılan her bir ton ürün için kayıp satış tazminatı olarak 10000 TL ceza;
• D3 dükkânına eksik ulaştırılan her bir ton ürün için kayıp satış tazminatı olarak 5000 TL ceza.
Şimdi ceza durumunu dikkate alarak problemin yeni matematiksel modeli aşağıdaki şekilde oluşturulabilir:
7x1 + 3x2 – s1+ + s1− = 40
(D1 dükkânı için hedef kısıtı)
5x1 + 4x2 – s3+ + s3− = 35
(D3 dükkânı için hedef kısıtı)
10x1 + 5x2 – s2+ + s2− = 60 (D2 dükkânı için hedef kısıtı)
1000x1 + 600x2 ≤ 60000
si+ si− = 0, i = 1, 2, 3
(bütçe kısıtı)
kısıtları altında
−
Enk z = 20000 s1 + 10000 s2− + 5000 s3− .
+
−
Bu problemi simpleks algoritmanın si si = 0 kısıtlarını dikkate alarak ve bu değişkenlerin sadece bir
tanesinin temelde yer almasını sağlayacak versiyonu ile çözebiliriz. Bu problemin en iyi çözümü de ceza katsayılarının, Mandıracının önceliklerini benzer şekilde belirlemesi nedeniyle yukarıda incelediğimiz durumla
aynı olacaktır.
232
8
Yöneylem Araştırması
Öğrenme Çıktısı
2 Hedef programlama problemlerinin matematiksel modellerini ve bu problemlerin en iyi
çözümlerini açıklayabilme
Araştır 2
Mandıracımız ürettiği tereyağını şehirdeki 3 farklı dükkâna satmak istemekte
ve günlük ürettiği ürünlerinin taşınması
için KAMYON şirketi ile anlaşmak istemektedir. Mandıracı hedeflerle ilgili önceliklerini, en öncelikli hedefinin üçüncü
dükkan, ardından ikinci ve en son önceliğinin de birinci dükkan olacak şekilde
belirlemiştir:
Hedef 1: D3 dükkânına en az 35 ton
ürün gönderilmeli;
Hedef 2: D2 dükkânına en az 60 ton
ürün gönderilmeli;
Hedef 3: D1 dükkânına en az 40 ton
ürün gönderilmeli.
KAMYON şirketi ürünleri, farklı kapasite
ve teknik özelliklere sahip iki tür kamyonla taşımayı planlamaktadır: K1 türü kamyon ve K2 türü kamyon. Anlaşma gereği
taşıma için en fazla 6,000 TL harcanabileceği belirlenmiştir. Kamyonların teknik
özellikleri ve dükkânlara ulaşım koşulları
göz önünde bulundurularak bu kamyon
türleri için birim taşıma maliyetleri ve her
dükkâna bir kamyonun günlük taşıma kapasiteleri (ton cinsinden) belirlenmiş ve
aşağıdaki TABLO 8.5’de verilmiştir. Mandıracının ürünlerini taşımak ve önceliklerini dikkate alarak hedeflerini tutturabilmek için her kamyon türünden kaç tane
kullanılması gerektiğini belirleyiniz.
İlişkilendir
Anlat/Paylaş
Hedef
programlama
problemini ve bu problemin en iyi çözümünü
yorumlayın. Bu problemin çok amaçlı bir
problem olarak ele alınacağı durumda etkin
çözümlerini ve hedef
programlama probleminin en iyi çözümünü
ilişkilendirin.
Kendi hayatınızdan belirleyeceğiniz çok amaçlı bir problem için olası
hedeflerinizi belirleyin.
Örneğin bir lojistik
şirketinde çalışacak olsaydınız planlamasını
yaptığınız bir ulaştırma
problemi için hangi hedeflerin tutturulmasını
isterdin? Bu problemi
bir hedef programlama
problemi şeklinde modelleyin.
233
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
öğrenme çıktıları ve bölüm özeti
1
Çok amaçlı karar verme
problemlerini ve bu problemlerin
etkin çözümlerini açıklayabilme
Çok Amaçlı Karar Verme
Problemleri
Bu bölümde, birden fazla amaç fonksiyonuna göre karar verilmesi gereken durumlarda ortaya çıkan en
iyileme problemlerinin tanımı açıklanmış ve nasıl araştırılabileceği incelenmiştir. Çok amaçlı en iyileme
problemlerinin etkin çözümleri tanımlanmış ve bu çözümlerin hesaplanabilmesi için bazı yöntemler öğrenilmiştir. Karar vericinin amaçlarla ilgili tercihlerinin yansıtıldığı, tek amaca indirgeme yöntemlerinden biri
olan ağırlıklandırılmış toplam skalerleştirme yöntemi açıklanmış ve örnekler üzerinde yorumlanmıştır. Çok
amaçlı eniyileme problemlerinin tel amaca indirgeme yaklaşımlarından bir başkası da ödünleşim yaklaşımıdır. Bu bölümde, karar vericinin ödünleşim yapmak durumunda olduğu problemler de incelenerek örnekler
üzerinde açıklanmıştır.
2
Hedef programlama problemlerinin
matematiksel modellerini ve bu problemlerin
en iyi çözümlerini açıklayabilme
Hedef Programlama
Problemleri
Bu bölümde, çok amaçlı en iyileme problemlerinin bir başka özel şekli olan ve karar vericinin tüm amaçlarla
ilgili hedeflerini belirlediği durumda ortaya çıkabilecek hedef programlama problemleri de öğrenilmiştir.
Bazı durumlarda bu hedeflerin, problemin uygun çözüm alanında gerçekleşmesi mümkün olmuyor ve karar
verici en azından hedeflerden sapmaları en küçükleyecek uygun çözümlerin bulunması ile yetinmek zorunda
kalabiliyor. Bu bölümde incelediğimiz bir diğer yaklaşım da tam olarak bu durumları öğrenen hedef programlama problemleridir. Bu problemlerin tanımı, matematiksel modelinin oluşturulması ve çözüm yaklaşımları, özellikle de grafik çözüm yöntemi de bu bölümde ele alınmış ve açıklayıcı örneklerle anlatılmıştır.
234
8
Yöneylem Araştırması
1
S1 S2 S3 S4 S5
48 54 55 52 56
39 38 37 37 40
Şirket piyasaya yeni bir ürün sürmeyi planlamaktadır. Bu ürün için piyasa araştırması yapan planlama
ve bütçe birimleri, yeni ürün için yeni makinalar ve
ilgili donanımların (ürün taşıma kutuları, depolama alanları vb.) gerektiği şeklinde bir rapor hazırlar. Rapora göre yeni ürünün üretilebilmesi için çeşitli maliyet seçeneklerine göre farklı kar rakamları
ortaya konulmuştur. Yönetim olabildiğince düşük
maliyet ve olabildiğince yüksek kar amaçlamaktadır. Yukarıdaki tabloda yer alan seçeneklere göre bu
problem için etkin çözüm seçenekleri aşağıdakilerin hangisinde doğru belirtilmiştir?
A. S1 ve S2;
B. S3 ve S5;
C. S2 ve S4;
D. S4 ve S5;
E. S1 ve S3.
2 Amaçlar / Seçenekler
Kar (TL)
Maliyet (TL)
S1 S2 S3 S4 S5
54 55 55 54 60
38 39 38 36 40
neler öğrendik?
Amaçlar / Seçenekler
Kar (TL)
Maliyet (TL)
Şirket piyasaya yeni bir ürün sürmeyi planlamaktadır. Bu ürün için piyasa araştırması yapan planlama ve bütçe birimleri, yeni ürün için yeni makinalar ve ilgili donanımların (personel eğitimi, ham
madde çeşitleri, ürün taşıma kutuları, depolama
alanları vb.) gerektiği şeklinde bir rapor hazırlar.
Rapora göre yeni ürünün üretilebilmesi için çeşitli maliyet seçeneklerine göre farklı kâr rakamları
ortaya konulmuştur. Yönetim olabildiğince düşük
maliyet ve yüksek kar amaçlamaktadır. Seçenekleri inceleyen yönetim, en fazla 39 TL maliyete
katlanabileceğine göre, tabloda yer alan bu seçeneklerden en iyisi aşağıdakilerin hangisinde doğru
belirtilmiştir?
A. S1;
B. S2;
C. S3;
D. S4;
E. S5.
235
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
neler öğrendik?
3 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim zamanları aşağıdaki tabloda
belirtilmiştir:
Ürün 1
Ürün 2
Ürün başına talep edilen üretim zamanı (saat)
2
3
Ürün başına kar (TL)
4
2
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 36 saatle sınırlı olup, fabrika bu ürünlerin satışından haftada en az 48 TL kâr elde etmeyi hedeflemektedir. Pazarlama birimi tarafından, üretilecek ürünlerin
tamamının satılabileceği bilgisi verilmiştir. Fabrika her iki ürünün üretimini en büyüklemek istediğine göre
ve x1 ve x2 sırası ile bu ürünlerin toplam üretilecek miktarlarını gösteren karar değişkenlerini belirttiğine göre
problemin matematiksel modeli aşağıdakilerden hangisinde doğru ifade edilmiştir?
A. Amaç fonksiyonları: f1 (x1, x2) = x1, f2 (x1, x2) = x2,
4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f (x1, x2) = [ f1 (x1, x2), f2 (x1, x2)].
B. Amaç fonksiyonları: f1 (x1, x2) = 4x1 + 2x2, f2 (x1, x2) = x2,
4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f (x1, x2) = [ f1 (x1, x2), f2 (x1, x2)].
C. Amaç fonksiyonları: f1 (x1, x2) = x1, f2 (x1, x2) = 2x1 + 3x2,
4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f (x1, x2) = [ f1 (x1, x2), –f2 (x1, x2)].
D. 4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f (x1, x2) = x1 + x2.
E. 4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f (x1, x2) = 4x1 + 2x2.
236
8
Yöneylem Araştırması
4 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim zamanları aşağıdaki tabloda
belirtilmiştir:
Ürün 2
2
3
Ürün başına kar (TL)
4
2
neler öğrendik?
Ürün 1
Ürün başına talep edilen üretim zamanı (saat)
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 36 saatle sınırlı olup, fabrika bu ürünlerin satışından haftada en az 48 TL kâr elde etmeyi hedeflemektedir. Pazarlama birimi tarafından, üretilecek ürünlerin
tamamının satılabileceği bilgisi verilmiştir. Fabrika her iki ürünün üretimini en büyüklemek istediğine göre
ve x1 ve x2 sırası ile bu ürünlerin toplam üretilecek miktarlarını gösteren karar değişkenlerini belirttiğine göre
problemin bir etkin çözümü aşağıdakilerden hangisinde doğru ifade edilmiştir?
A. x1 = 11, x2 = 5;
D. x1 = 12, x2 = 4;
B. x1 = 12, x2 = 5;
E. x1 = 14, x2 = 2;
C. x1 = 13, x2 = 3;
5 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim zamanları aşağıdaki tabloda
belirtilmiştir:
Ürün 1
Ürün 2
Ürün başına talep edilen üretim zamanı (saat)
2
3
Ürün başına kar (TL)
4
2
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 36 saatle sınırlı olup, fabrika bu ürünlerin satışından haftada en az 48 TL kar elde etmeği hedeflemektedir. Pazarlama birimi tarafından, üretilecek ürünlerin
tamamının satılabileceği bilgisi verilmiştir. Fabrika her iki ürünün üretimini en büyüklemek istemekte, fakat
birinci ürün için, üretilmesi gereken alt sınırdan ödün vermeyerek, planlama periyodunda (haftalık) bu
üründen en az 12 birim üretmek istemektedir. x1 ve x2 sırası ile bu ürünlerin toplam üretilecek miktarlarını
gösteren karar değişkenlerini belirttiğine göre, bu ödünleşim probleminin matematiksel modeli aşağıdakilerden hangisinde doğru ifade edilmiştir?
A. 4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
x1 ≥ 0, x2 ≥ 0,
kısıtları altında
Enb f (x1, x2) = x2.
B. 4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
x2 ≥ 12, x1 ≥ 0,
kısıtları altında
Enb f (x1, x2) = x1.
C. 4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f (x1, x2) = x1 + x2 + 12.
D. 4x1 + 2x2 ≥ 48,
E. 4x1 + 2x2 ≥ 48,
2x1 + 3x2 ≤ 36,
2x1 + 3x2 ≤ 36,
xj ≥ 0, j = 1, 2,
xj ≥ 0, j = 1, 2,
kısıtları altında
kısıtları altında
Enb f (x1, x2) = x1 + x2 – 12.
Enb f (x1, x2) = x1 – 12.
237
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
neler öğrendik?
6 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim zamanları aşağıdaki tabloda
belirtilmiştir:
Ürün 1
Ürün başına talep edilen üretim zamanı (saat)
2
3
Ürün başına kar (TL)
4
2
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 36 saatle sınırlı olup fabrika bu ürünlerin satışından haftada en az 48 TL kâr elde etmeyi hedeflemektedir. Pazarlama birimi tarafından, üretilecek ürünlerin
tamamının satılabileceği bilgisi verilmiştir. Fabrika her iki ürünün üretimini en büyüklemek istemekte, fakat birinci ürün için üretilmesi gereken alt sınırdan ödün vermeyerek, planlama periyodunda (haftalık) bu
üründen en az 12 birim üretmek istemektedir. x1 ve x2 sırası ile bu ürünlerin toplam üretilecek miktarlarını
gösteren karar değişkenlerini belirttiğine göre, bu ödünleşim probleminin en iyi çözümü aşağıdakilerden
hangisinde doğru ifade edilmiştir?
A. x2 = 2
B. x2 = 3
C. x2 = 4
D. x2 = 5
E. x2 = 6
238
Ürün 2
8
Yöneylem Araştırması
7
Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim süreleri aşağıdaki tabloda
belirtilmiştir:
Ürün 2
4
2
Ürün başına kar (TL)
4
2
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 32 saatle sınırlı olup, bu sınırın aşıldığı her saat için
fabrika 2TL, kullanılmayan her 1 saat üretim saati için de 1 TL cezaya maruz kalmaktadır. Öte yandan, fabrika bu ürünlerin satışından haftada en az 48 TL kâr elde etmeği hedeflemekte, fakat bu hedefin altında kalınacak her 1 TL için de 1 TL cezaya maruz kalmaktadır. Fabrikanın ürettiği ürünlere olan talep miktarlarını
göz önünde bulunduran Planlama birimi, birinci üründen haftada en az 7 adet ve ikinci üründen de haftada
en az 10 adet üretim yapılmasını planlamıştır. Bu hedeflerin tutturulamaması durumunda da eksik üretilen
her bir ürün için (hem birinci hem de ikinci ürün için) fabrika 5 TL cezaya maruz kalacaktır. Fabrikanın
maruz kalabileceği toplam cezayı en küçükleyecek doğrusal hedef programlama probleminin matematiksel
modeli aşağıdakilerden hangisinde doğru belirtilmiştir?
neler öğrendik?
Ürün 1
Ürün başına talep edilen üretim süresi (saat)
Hedef 1: Kâr miktarının tutturulması;
Hedef 2: Üretim saatinin tutturulması;
Hedef 3: Birinci ürüne olan talebin tutturulması;
Hedef 4: İkinci ürüne olan talebin tutturulması;
xi = i Ürünün üretilecek miktarı, i =1,2;
s +j ve s −j ise j. hedeften sapma değişkenleri oldun, j = 1, 2, 3, 4.
−
A. 4x1 + 2x2 – s1+ + s1 = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk z = s1− + 2 s2+ + s2− + 5 s3− + 5 s4− .
−
C. 4x1 + 2x2 – s1+ + s1 ≥ 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk z = s1− + 2 s2+ + 5 s3− + 5 s4− .
−
B. 4x1 + 2x2 – s1+ + s1 = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk z = s1− + 2 s2+ + 5 s3− + 5 s4− .
−
D. 4x1 + 2x2 – s1+ + s1 = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk z = s1− + 2 s2+ + s2− + 5 s3− + 5 s4− .
−
E. 4x1 + 2x2 – s1+ + s1 = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− ≥ 7
x2 – s4+ + s4− ≥ 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk z = s1− + 2 s2+ + s2− + 5 s3− + 5 s4− .
239
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
neler öğrendik?
8 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim süreleri aşağıdaki tabloda
belirtilmiştir:
Ürün 1
Ürün 2
Ürün başına talep edilen üretim süresi (saat)
4
2
Ürün başına kâr (TL)
4
2
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 32 saatle sınırlı olup, bu sınırın aşıldığı her saat için
fabrika 2 TL, kullanılmayan her 1 saat üretim saati için de 1 TL cezaya maruz kalmaktadır. Öte yandan, fabrika bu ürünlerin satışından haftada en az 48 TL kâr elde etmeyi hedeflemekte, fakat bu hedefin altında kalınacak her 1 TL için de 1 TL cezaya maruz kalmaktadır. Fabrikanın ürettiği ürünlere olan talep miktarlarını
göz önünde bulunduran Planlama birimi, birinci üründen haftada en az 7 adet ve ikinci üründen de haftada
en az 10 adet üretim yapılmasını planlamıştır. Bu hedeflerin tutturulamaması durumunda da eksik üretilen
her bir ürün için (hem birinci hem de ikinci ürün için) fabrika 5 TL cezaya maruz kalacaktır. Fabrikanın
maruz kalabileceği toplam cezayı en küçükleyecek doğrusal hedef programlama probleminin matematiksel
modeli aşağıdaki şekilde oluşturulmuştur.
Hedef 1: Kâr miktarının tutturulması;
Hedef 2: Üretim saatinin tutturulması;
Hedef 3: Birinci ürüne olan talebin tutturulması;
Hedef 4: İkinci ürüne olan talebin tutturulması;
xi = i. Ürünün üretilecek miktarı, i =1,2;
s +j ve s −j ise j. hedeften sapma değişkenleri oldun, j = 1, 2 ,3 ,4.
−
4x1 + 2x2 – s1+ + s1 = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk z = s1− + 2 s2+ + s2− + 5 s3− + 5 s4− .
Bu bilgiler dahilinde, x1 = 7, x2 = 10 noktasının, sapma değişkenleri ve ilgili ceza değerleri açısından yorumu
aşağıdaki şıklardan hangisinde doğru belirtilmiştir?
−
A. s1+ = 2 (fazla kar), s1 = 0; s2+ = 2 (ceza), s2− = 1 (ceza); s3+ = s3− = 0; s4+ = s4− = 0.
−
B. s1+ = 0 , s1 = 2 (ceza); s2+ = 4 (ceza), s2− = 0; s3+ = s3− = 0; s4+ = s4− = 0.
−
C. s1+ = s1 = 0; s2+ = 6 (ceza), s2− = 0; s3+ = s3− = 0; s4+ = s4− = 0.
−
D. s1+ = s1 = 0; s2+ = 8 (ceza), s2− = 2; s3+ = s3− = 0; s4+ = s4− = 0.
−
E. s1+ = s1 = 0; s2+ = 16 (ceza), s2− = 0; s3+ = s3− = 0; s4+ = s4− = 0.
240
8
Yöneylem Araştırması
Ürün 1
Ürün 2
Ürün başına talep edilen üretim süresi (saat)
4
2
Ürün başına kâr (TL)
4
2
neler öğrendik?
9 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim süreleri aşağıdaki tabloda
belirtilmiştir:
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 32 saatle sınırlı olup, bu sınırın aşılmaması fabrikanın en öncelikli birinci hedefidir. Fabrikanın ürettiği ürünlere olan talep miktarlarını göz önünde bulunduran Planlama birimi, birinci üründen haftada en az 7 adet ve ikinci üründen de haftada en az 10 adet üretim
yapılmasını planlamış, ikinci ürünle ilgili talebin sağlanmasını ikinci öncelikli hedef ve birinci ürünle ilgili
hedefi de üçüncü öncelikli hedef olarak belirlemiştir. Öte yandan, fabrika bu ürünlerin satışından haftada en
az 48 TL kâr elde etmeyi hedeflemekte, fakat bu hedefi dördüncü öncelikli hedef olarak belirlemiştir.
Hedef 1: Üretim saatinin aşılmaması;
Hedef 2: İkinci ürüne olan talebin tutturulması;
Hedef 3: Birinci ürüne olan talebin tutturulması;
Hedef 4: Kâr miktarının tutturulması;
xi = i. Ürünün üretilecek miktarı, i =1,2;
s +j ve s −j ise j. hedeften sapma değişkenleri oldun, j = 1, 2 ,3 ,4.
4x1 + 2x2 – s1+ + s1− = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk T1( s2+ ) + T2( s4− ) + T3( s3− ) + T4( s1− ).
( )
Burada, T j sk+ , j = 1, 2, 3, 4; k = 1, 2, 3, 4 işaretlemesi, k. sapma değişkeninin hedeften pozitif sapmasının
en küçüklenmesinin j. önceliğe sahip olduğunu göstermektedir. Bu problemin en iyi çözümü aşağıdaki şıklardan hangisinde doğru belirtilmiştir?
A. x1 = 0, x2 = 16;
B. x1 = 3, x2 = 10;
C. x1 = 7, x2 = 10;
D. x1 = 2, x2 = 12;
E. x1 = 4, x2 = 8.
241
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
neler öğrendik?
10 Fabrika iki çeşit ürün üretmektedir. Ürün başına kâr miktarları ve üretim süreleri aşağıdaki tabloda
belirtilmiştir:
Ürün 1
Ürün 2
Ürün başına talep edilen üretim süresi (saat)
4
2
Ürün başına kar (TL)
4
2
Bu ürünler için fabrikadaki haftalık mevcut üretim saati 32 saatle sınırlı olup, bu sınırın aşılmaması fabrikanın en öncelikli birinci hedefidir. Fabrikanın ürettiği ürünlere olan talep miktarlarını göz önünde bulunduran Planlama birimi, birinci üründen haftada en az 7 adet ve ikinci üründen de haftada en az 10 adet üretim
yapılmasını planlamış, ikinci ürünle ilgili talebin sağlanmasını ikinci öncelikli hedef ve birinci ürünle ilgili
hedefi de üçüncü öncelikli hedef olarak belirlemiştir. Öte yandan, fabrika bu ürünlerin satışından haftada en
az 48 TL kâr elde etmeyi hedeflemekte, fakat bu hedefi dördüncü öncelikli hedef olarak belirlemiştir.
Hedef 1: Üretim saatinin aşılmaması;
Hedef 2: İkinci ürüne olan talebin tutturulması;
Hedef 3: Birinci ürüne olan talebin tutturulması;
Hedef 4: Kâr miktarının tutturulması;
xi = i. Ürünün üretilecek miktarı, i =1,2;
s +j ve s −j ise j. hedeften sapma değişkenleri oldun, j = 1, 2 ,3 ,4.
−
4x1 + 2x2 – s1+ + s1 = 48,
4x1 + 2x2 – s2+ + s2− = 32,
x1 – s3+ + s3− = 7
x2 – s4+ + s4− = 10
xi ≥ 0, i = 1, 2; s +j , s −j ≥ 0, j = 1, 2, 3, 4
kısıtları altında
Enk T1( s2+ ) + T2( s4− ) + T3( s3− ) + T4( s1− ).
( )
Burada, T j sk+ , j = 1, 2, 3, 4; k = 1, 2, 3, 4 işaretlemesi, k. sapma değişkeninin hedeften pozitif sapmasının
en küçüklenmesinin j. önceliğe sahip olduğunu göstermektedir. Bu bilgiler dahilinde, x1 = 3, x2 = 10 noktasının, sapma değişkenleri ve ilgili hedef değerleri açısından yorumu aşağıdaki şıklardan hangisinde doğru
belirtilmiştir?
−
A. s1+ = 2, s1 = 0; s2+ = 2, s2− = 1; s3+ = s3− = 0; s4+ = s4− = 0.
B. s1+ = 0 , s1− = 2; s2+ = 4, s2− = 0; s3+ = s3− = 0; s4+ = s4− = 0.
−
C. s1+ = s1 = 0; s2+ = 6, s2− = 0; s3+ = s3− = 0; s4+ = s4− = 0.
−
D. s1+ = s1 = 16; s2+ = s2− = 0; s3+ = 0, s3− = 4; s4+ = s4− = 0.
−
E. s1+ = s1 = 0; s2+ = 16, s2− = 0; s3+ = s3− = 0; s4+ = s4− = 0.
242
8
Yöneylem Araştırması
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
6. C
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
2. C
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
7. A
Yanıtınız yanlış ise “Hedef Programlama Problemleri” konusunu yeniden gözden geçiriniz.
3. A
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
8. E
Yanıtınız yanlış ise “Hedef Programlama Problemleri” konusunu yeniden gözden geçiriniz.
4. D
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
9. B
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
5. A
Yanıtınız yanlış ise “Çok Amaçlı Karar Verme Problemleri” konusunu yeniden gözden
geçiriniz.
10. D
Yanıtınız yanlış ise “Hedef Programlama Problemleri” konusunu yeniden gözden geçiriniz.
neler öğrendik yanıt anahtarı
1. B
Araştır Yanıt
Anahtarı
8
Problemin uygun çözüm alanı Şekil 8.9’da OABCD çokgeni olarak resimlenmiştir.
x2
-x1+ x2=3
(0,9) 3x1+ x2=9
x1+ x2=5
(0,5)
B(1,4)
A(0,3)
Araştır 1
(-3,0)
O(0,0)
C(2,3)
D(3,0)
(5,0)
x1
Şekil 8.9 Araştır 1’deki çok amaçlı problemin uygun çözüm alanı.
Şimdi problemde belirtilen w1 = (1,1), w2 = (3,1), w3 = (1,3) ağırlık katsayılarını teker teker kullanarak problemi tek amaca indirgeyelim ve her bir ağırlık
katsayıları çifti için karşı gelen etkin çözümleri hesaplayalım.
243
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Araştır Yanıt
Anahtarı
8
(a-1) w1 = (1,1). Bu durumda skaler problemin amaç fonksiyonu
f 1 ( x1, x2 ) = w11 f1 ( x ) + w12 f2 ( x ) = 1( 2x1 + x2 ) + 1( −x1 + 2x2 ) = x1 + 3x2
şeklinde tanımlanacak ve tek amaçlı problemin tamamı da aşağıdaki şekilde
formüle edilecektir:
–x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f 1 (x1, x2) = x1 + 3x2.
Araştır 1
Bu problemin grafik yöntemle çözümü Şekil 8.10’da resimlenmiştir. Bu şekilde, problemin amaç fonksiyonu vektörü N(1,3), yeşil oklu çizgi ile gösterilmiştir. Bu vektöre dik olan kalın siyah çizgi, N(1,3) vektörü yönünde kaydırılarak uygun çözüm alanını en son terk ettiği noktayı buluyoruz.
Bu noktanın B(1,4) noktası olduğu açıkça görülmektedir. Bu durumda,
w1=(1,1) ağırlık katsayıları için skaler problemin en iyi çözümü x1 = 1, x2 = 4
olarak bulunuyor. Bu etkin çözüme karşı gelen amaç fonksiyonları değerleri
f 1 (1,4) = [ f1 (1,4), f2 (1,4)] = [2 × 1 + 4, –1 + 2 × 4] = [6,7].
x2
-x1+ x2=3
(0,9) 3x1+ x2=9
x1+ x2=5
(0,5)
B(1,4)
A(0,3)
N(1,3)
C(2,3)
Z 1=0
(-3,0)
O(0,0)
D(3,0)
(5,0)
x1
Şekil 8.10 Araştır 1 ’deki çok amaçlı problem için w1 = (1,1) ağırlık
katsayılarına karşı gelen skaler (tek amaçlı) problemin grafik
yöntemle çözümü
244
8
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
8
(a-2) w2 = (3,1). Bu durumda skaler problemin amaç fonksiyonu
f 2 ( x1, x2 ) = w12 f1 ( x ) + w22 f2 ( x ) = 3( 2x1 + x2 ) + 1( −x1 + 2x2 ) = 5x1 + 5x2
şeklinde tanımlanacak ve tek amaçlı problemin tamamı da aşağıdaki şekilde
formüle edilecektir:
–x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f 2 (x1, x2) = 5x1 + 5x2.
Araştır 1
Bu problemin grafik yöntemle çözümü Şekil 8.11’de resimlenmiştir. Bu şekilde, problemin amaç fonksiyonu vektörü N(5,5), yeşil oklu çizgi ile gösterilmiştir. Bu vektöre dik olan kalın siyah çizgi, N(5,5) vektörü yönünde
kaydırılarak uygun çözüm alanını en son terk ettiği noktayı buluyoruz. N(5,5)
vektörüne dik olan kalın siyah çizginin uygun çözüm alanını BC doğrusu
boyunca terk ettiği görülmektedir. Bu durum, problemin çok sayıda alternatif
çözüme sahip olduğunu göstermektedir. Bu çözümlerden iki tanesi B(1,4) ve
C(2,3) olarak belirlenebilir. Skaler problemin amaç fonksiyonunun bu noktaların her ikisinde eşit değer aldığı kolayca kontrol edilebilir:
f 2 (1,4) = 5 × 1 + 5 × 4 = 25, f 2 (2,3) = 5 × 2 + 5 × 3 = 25.
Bu durumda, w2 = (3,1) ağırlık katsayıları için skaler problemin en iyi çözümleri
x1 = 1, x2 = 4; veya x1 = 2, x2 = 3 olarak belirlenebilir. Bu etkin çözümlere
karşı gelen amaç fonksiyonları değerleri f 1 (1,4) = [ f1 (1,4), f2 (1,4)] = [2 ×
1 + 4, –1 + 2 × 4] = [6,7],
ve
f 1 (2,3) = [ f1 (2,3), f2 (2,3)] = [2 × 2 + 3, –2 + 2 × 3] = [7,4].
şeklinde hesaplanır. f 1 (1,4) = [6,7] ve f 1 (2,3) = [7,4] vektörlerinin hiçbirinin diğerine baskın olmadığı görülmektedir.
245
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Araştır Yanıt
Anahtarı
8
x2
-x1+ x2=3
(0,9) 3x1+ x2=9
x1+ x2=5
(0,5)
B(1,4)
A(0,3)
(-3,0)
N(5,5)
N(1,3)
O(0,0)
C(2,3)
D(3,0)
(5,0)
x1
Şekil 8.11 Araştır 1’deki çok amaçlı problem için w1 = (3,1) ağırlık
katsayılarına karşı gelen skaler (tek amaçlı) problemin grafik
yöntemle çözümü
Araştır 1
Şimdi amaçlar arasında bir ödünleşim yapmayı deneyelim. Örneğin, karar
vericinin ikinci amaç fonksiyonu için bir alt sınır belirlediğini ve birinci amaç
fonksiyonunun da en iyi değerinin bu alt sınır kısıtlaması koşulu altında bulunmasını istediğini varsayalım.
İkinci amaç fonksiyonu için (a) şıkkında bulunmuş olan maksimal değerleri
de göz önünde bulundurarak, problemi bu şekilde tanımlayalım:
(b-1) Karar verici, ikinci amaç fonksiyonunun değerinin en az 8 olacak şekilde birinci amaç fonksiyonunun uygun çözüm alanında en büyüklenmesini
istemektedir. Bu durumda ikinci amaç fonksiyonu ile ilgili bu talep, eşitsizlik
şeklinde uygun çözüm alanına eklenecek ve problem birinci amaç fonksiyonunun en büyüklenmesi şeklinde formüle edilecektir:
–x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f 1 (x1, x2) = 2x1 + x2.
Bu problemin grafik çözümü Şekil 8.12’de resimlenmiştir.
246
8
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
8
x2
-x1+ x2=3
(0,9) 3x1+ x2=9
-x1+ 2x2≥8
x1+ x2=5
(0,5)
B(1,4)
A(0,3)
(-3,0)
O(0,0)
C(2,3)
D(3,0)
(5,0)
x1
Şekil 8.12 Araştır 1 (b-1) durumuna karşı gelen problemin uygun
çözüm alanı
Araştır 1
Şekil 8.12’de yeni eklenmiş –x1 + 2x2 ≥ 8 kısıdının belirlediği üst bölgenin
problemin uygun çözüm alanı ile kesişmediğinden, bu problemin uygun çözümü bulunmamaktadır. Bu durumda karar verici, ikinci amaç için belirlemiş
olduğu alt sınırdan bir miktar daha ödün vererek küçültmeği deneyecektir.
(b-2) Karar verici, ikinci amaç fonksiyonunun değerinin en az 7 olacak şekilde birinci amaç fonksiyonunun uygun çözüm alanında en büyüklenmesini
istemektedir. Bu durumda ikinci amaç fonksiyonu ile ilgili bu talep, eşitsizlik
şeklinde uygun çözüm alanına eklenecek ve problem birinci amaç fonksiyonunun en büyüklenmesi şeklinde formüle edilecektir:
–x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
–x1 + 2x2 ≥ 7,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f 1 (x1, x2) = 2x1 + x2.
Bu problemin grafik çözümü Şekil 8.13’te resimlenmiştir.
247
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Araştır Yanıt
Anahtarı
8
x2
-x1+ x2=3
(0,9) 3x1+ x2=9
x1+ x2=5
-x1+ 2x2≥7
(0,5)
B(1,4)
A(0,3)
(-3,0)
O(0,0)
C(2,3)
D(3,0)
(5,0)
x1
Şekil 8.13 Araştır 1 (b-2) durumuna karşı gelen problemin uygun
çözüm alanı
Araştır 1
Şekil 8.13’te yeni eklenmiş –x1 + 2x2 ≥ 7 kısıdının belirlediği üst bölgenin
problemin uygun çözüm alanı ile B(1,4) noktasında kesiştiğinden, bu problemin uygun çözümü sadece bu noktadan oluşmaktadır.
Bu yüzden, bu duruma karşı gelen problemin en iyi çözümü x1 = 1, x2 = 4
olarak belirleniyor. Bu çözüm (a) şıkkında daha önce de incelendiğinden amaç
fonksiyonlarının bu noktadaki f1 = 6, f2 = 7 değerlerinin, aynı zamanda çok
amaçlı problemin de maksimal noktası olduğunu biliyoruz.
Bu durumda karar verici, ikinci amaç için belirlemiş olduğu alt sınırdan bir
miktar daha ödün vererek biraz daha küçültmeyi denemek istemektedir.
(b-3) Karar verici, ikinci amaç fonksiyonunun değerinin en az 6 olacak şekilde birinci amaç fonksiyonunun uygun çözüm alanında en büyüklenmesini
istemektedir. Bu durumda ikinci amaç fonksiyonu ile ilgili bu talep, eşitsizlik
şeklinde uygun çözüm alanına eklenecek ve problem birinci amaç fonksiyonunun en büyüklenmesi şeklinde formüle edilecektir:
–x1 + x2 ≤ 3,
3x1 + x2 ≤ 9,
x1 + x2 ≤ 5,
–x1 + 2x2 ≥ 6,
xj ≥ 0, j = 1, 2,
kısıtları altında
Enb f 1 (x1, x2) = 2x1 + x2.
Bu problemin grafik çözümü Şekil 8.14’te resimlenmiştir.
248
8
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
8
x2
-x1+ x2=3
(0,9) 3x1+ x2=9
x1+ x2=5
-x1+ 2x2≥6
(0,5)
B(1,4)
A(0,3)
Araştır 1
(-3,0)
O(0,0)
E
C(2,3)
D(3,0)
(5,0)
x1
Şekil 8.14 Araştır 1 (b-3) durumuna karşı gelen problemin uygun
çözüm alanı
Şekil 8.14’te yeni eklenmiş –x1 + 2x2 ≥ 6 kısıdının belirlediği üst bölgenin
problemin uygun çözüm alanı ile kesiştiği ve daha önceki uygun çözüm alanının sadece ABE üçgeni içinde kalan bölgeden oluştuğu görülmektedir. Prob4
3
lemin, bu duruma karşı gelen en iyi çözümü koordinatları x1 = , x2 =
11
3
olan E noktası olarak bulunuyor. Amaç fonksiyonlarının bu noktadaki
11
4 11 19
4
⎛ 4 11 ⎞
⎛ 4 11 ⎞
f1 ⎜ , ⎟ = 2 × + = , f2 ⎜ , ⎟ = − + 2 × = 6
⎝3 3⎠
⎝
⎠
3 3
3
3
3 3
3
değerlerini, daha
önce bulunan değerlerle kıyasladığımızda bu değerlerin birbirine baskın olmadıkları görülmektedir. Bu da karar vericiye, bu ödünleşim sonucu ortaya
çıkan çözümü endişelenmeden kullanabileceğini göstermektedir.
249
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Araştır Yanıt
Anahtarı
8
Bu problemin hedef öncelikleri D1, D2, D3 olduğu durum Örnek 8.6’da incelenmiştir. Bu nedenle biz burada sadece bu Araştır 8.2’de belirtilen öncelik
durumunu yansıtan hedef programlama probleminin matematiksel modelini
açıklayarak çözüm sürecini yorumlayacağız.
Karar değişkenlerimiz:
x1 = kullanılacak K1 tür kamyon sayısı;
x2 = kullanılacak K2 tür kamyon sayısı;
s1− = D1 dükkânına eksik ulaştırılan ürün miktarı (ton);
s1+ = D1 dükkânına fazla ulaştırılan ürün miktarı (ton);
s2− = D2 dükkânına eksik ulaştırılan ürün miktarı (ton);
s2+ = D2 dükkânına fazla ulaştırılan ürün miktarı (ton);
s3− = D3 dükkânına eksik ulaştırılan ürün miktarı (ton);
s3+ = D3 dükkânına fazla ulaştırılan ürün miktarı (ton).
8.2-a) Birinci öncelikle ilgili problemin matematiksel modeli.
5x1 + 4x2 – s3+ + s3− = 35, (D3 dükkânı için hedef kısıdı)
1000x1 + 600x2 ≤ 6000 (bütçe kısıdı).
s3+ × s3− = 0
xj ≥ 0, j = 1, 2; s3+ ≥ 0, s3− ≥ 0,
kısıtları altında
Enk s3− .
Araştır 2
Bu problemin grafik çözümüne ait resimleme Şekil 8.2-1’de gösterilmiştir. Bu
grafikte s3+ ile gösterilen ok, üçüncü amaç fonksiyonunun üçüncü dükkanla
ilgili hedefin üstünde değer aldığı bölgeyi ve ok yönünde gidildiğinde s3+ sapma
değişkeninin değerinin arttığını, s3− ile gösterilen ok yönünde gidildiğinde ise
s3− sapma değişkeninin değerinin arttığını bölgeyi göstermektedir. Bu yüzden
8.2-a) probleminin en iyi çözümlerinin yer aldığı bölge Şekil 8.15’te tepe noktaları (3,5), (0, 35/4) ve (0,10) noktalarında bulunan üçgen içinde yer almaktadır.
x2
10x1+ 6x2=60
5x1+ 4x2=35
10
35
4
(3,5)
S3+
S30
6
7
x1
Şekil 8.15 Araştır 2’nin birinci önceliğine ait hedef programlama
probleminin grafik çözümünün resimlenmesi
250
8
Yöneylem Araştırması
Araştır Yanıt
Anahtarı
8
8.2-b) Şimdi, birinci öncelikle ilgili problemin en iyi çözümlerinin bulunduğu uygun çözüm alanı üzerinde ikinci öncelikle ilgili hedefin matematiksel
modelini çözmemiz gerekiyor. İkinci öncelikle ilgili problemin matematiksel
modeli aşağıdaki gibidir:
5x1 + 4x2 ≥ 35 (D3 dükkânı için hedef kısıtı)
1000x1 + 600x2 ≤ 6000, (bütçe kısıtı).
10x1 + 5x2 – s2+ + s2− = 60 (D2 dükkânı için hedef kısıtı)
s2+ × s2− = 0
xj ≥ 0, j = 1, 2; s2+ ≥ 0, s2− ≥ 0,
kısıtları altında
Enk s2− .
Araştır 2
Bu problemin grafik çözümüne ait resimleme Şekil 8.16’da gösterilmiştir. Bu
grafikte s2+ ile gösterilen ok, ikinci amaç fonksiyonunun ikinci dükkânla ilgili
hedefin üstünde değer aldığı bölgeyi ve ok yönünde gidildiğinde s2+ sapma
değişkeninin değerinin arttığını, s2− ile gösterilen ok yönünde gidildiğinde
ise s2− sapma değişkeninin değerinin arttığını bölgeyi göstermektedir. Buradan görüldüğü üzere, 8.2-a) probleminin çözümler alanı tamamen s2− sapma değişkeninin değerinin arttığı kısımda yer almaktadır. Bu yüzden 8.2-b)
probleminin en iyi çözümü, 8.2-a) probleminin çözümler alanında s2− sapma
değişkeninin en küçük değer aldığı (3,5) noktasıdır. Bu problemin en iyi çözümü tek nokta olduğundan, bu nokta aynı zamanda üçüncü hedefle ilgili
problemin de en iyi çözümü kabul edilmektedir.
x2
10x1+ 5x2=60 12
10x1+ 6x2=60
5x1+ 4x2=35
S2+
10
35
4
S2-
(3,5)
S3+
S30
6
7
x1
Şekil 8.16 Araştır 2-b’nin grafik çözümünün resimlenmesi
Dolayısı ile Araştır 8.2’nin en iyi çözümü x1 = 3, x2 = 5.
Bu nokta tam olarak ilgili kısıt çizgisi 5x1 + 4x2 = 35 üzerinde yer aldığından
dolayı s3+ = s3− = 0. Bu durum, ilk hedefin tam tutturulduğunu göstermektedir:
5 × 3 + 4 × 5 = 35.
251
8
Çok Amaçlı En İyileme Problemleri ve Hedef Programlama
Araştır Yanıt
Anahtarı
8
Öte yandan bu nokta ikinci hedef fonksiyonu ile ilgili kısıdın da alt tarafında yer aldığından s2+ = 0 elde ediyoruz. İkinci hedeften negatif sapmayı
s2− hesaplayalım. İlgili kısıt 10x1 + 5x2 – s2+ + s2− = 60 olduğundan, en iyi
çözüm noktasındaki değeri hesaplarsak
10 × 3 + 5 × 5 – 0 + s2− = 60
elde edilir ve buradan da s2− = 5 bulunur. Dolayısıyla ikinci dükkana hedeflenenden tam olarak 5 ton eksik ürün ulaştırılacaktır.
Üçüncü hedefle ilgili sapma değişkenlerinin değerlerini de benzer şekilde hesaplayabiliriz. Bu durumla ilgili grafik çözüm Şekil 8.17’de resimlenmiştir.
Burada kalabalığı önlemek adına ikinci hedefle ilgili çizgiler kaldırılmıştır.
Şekil 8.17’den de görüldüğü üzere, en iyi çözüm noktası birinci dükkânla ilgili hedef kısıdının alt tarafında yer alıyor ve bu sebepten de s1+ = 0 elde edi−
yoruz. Üçüncü hedeften negatif sapmayı s1 hesaplayalım. İlgili kısıt 7x1 +
+
−
3x2 – s1 + s1 = 40 olduğundan, en iyi çözüm noktasındaki değeri hesaplarsak
7 × 3 + 3 × 5 – 0 + s1− = 60
elde edilir ve buradan da s1− = 4 bulunur. Dolayısıyla birinci dükkâna hedeflenenden tam olarak 4 ton eksik ürün ulaştırılacaktır.
x2
40
3
7x1+ 3x2=40
10x1+ 6x2=60
Araştır 2
S1+
5x1+ 4x2=35 10
35
4
S1-
(3,5)
S3+
S3-
0
40 6
7
7
x1
Şekil 8.17 Araştır 2’nin üçüncü hedefle ilgili çözümünün
resimlenmesi
Elde edilen en iyi çözümün yorumu.
• Kamyon şirketi, K1 tür kamyondan 3, K2 tür kamyondan ise 5 adet kullanmalıdır: x1 = 3, x2 = 5.
• D1 dükkânı ile ilgili hedef tutturulamayacak (Mandıracının 3. sıradaki
tercihi), hedeflenenden 4 ton eksik ürün ulaştırılacaktır: s1− = 4
• İkinci dükkân ile ilgili hedef de tutturulamayacak ve hedeflenenden tam olarak 5 ton eksik ürün ulaştırılacaktır (Mandıracının 2. sıradaki tercihi): s2− = 5.
• Üçüncü dükkânla ilgili hedef tam olarak tutturulacaktır (Mandıracının 1.
sıradaki önceliği): s3+ = s3− = 0.
252
8
Yöneylem Araştırması
Kaynakça
Chankong, V. ve Haimes, Y. Y. (1983). Multiobjective
Decision Making: Theory and Methodology. Elsevier
Science Publishing Co. Inc.
Charnes, A. ve Cooper, W. W. (1961). Management
Models and Industrial Applications of Linear
Programming, John Wiley & Sons, New York.
Gass S. I. ve Assad, A. A. (2005). An Annotated
Timeline of Operations Research. An Informal
History, Springer Science + Business Media, Inc.,
Kluwer Academic Publishers.
Kasimbeyli, R., Ozturk, Z. K., Kasimbeyli, N., Yalcin,
G. D. ve Erdem, B. I. (2019). Comparison of
some scalarization methods in multiobjective
optimization. Bulletin of the Malaysian
Mathematical Sciences Society, 42(5), 1875-1905.
Winston, W. L. (2004). Operations Research:
Applications and Algorithms (Fourth Edition),
Brooks/Cole-Thomson Learning.
253