You are on page 1of 23

YÖNEYLEM ARAŞTIRMASI (operations research)

İçerik:

1 Giriş
Yöneylem araştırmasının doğuşu
Yöneylem araştırmasının gelişimi ve uygulama alanları

1. BÖLÜM MATEMATİK PROGRAMLAMA

2 Doğrusal programlama
Formülasyon ve grafik çözüm
Simplex yöntemi
Simplex yönteminin dejenere olması durumu
Dualite
3 Ulaşım Modelleri
Genel ulaşım problemi
Ulaşım problemlerinin çözümü
Ulaşım problemlerinin dejenere olması durumu
4 Ağ modelleri
En kısa yol problemi ve en kısa yol algoritması
Maksimum akış problemi
5 Tam sayılı programlama
6 Dinamik programlama

2. BÖLÜM OLASILIKLI MODELLER

7 Karar teorisi
8 Oyun teorisi
İki kişili sıfır toplamlı oyunlarda optimum çözüm
Karma stratejiler
9 Proje planlama teknikleri
CPM ve PERT yöntemleri
Aktivite sürelerinin tahmini
Krıtik yolun bulunması
10 Kuyruk modelleri
11 Simülasyon

Kaynaklar:
Operations Research, Hamdy A.Taha,1992
Operations Research,F.S. Hillier,G.J.Lieberman,1967
Quantitative Approaches to Management,R.I.Levin,D.S.Rubin,J.P.Stinson,1986

BÖLÜM 1

GİRİŞ

1
Yöneylem araştırmasının doğuşu

Sanayi devriminin gerçekleşmesinden sonra bu devrimi gerçekleştiren ülkelerdeki


organizasyonların hacimlerinin büyüdüğü ve işlemlerin karmaşıklıklarının arttığı
gözlenmiştir.Organizasyonların büyümesi ile birlikte yeni problemler ortaya çıkmış ve
hala da çıkmaktadır.Büyümeyle artan karmaşıklık kaynakların organizasyonun yararına
en etkin şekilde kullanımını güçleştirmiştir.Bu tür problemler ve bunlara çözüm arayışı
yeni bilim dallarının doğuşunu hızlandırmıştır.Yöneylem araştırması da bunlardan
biridir.II.Dünya savaşından önceki yıllarda özgün YA çalışmalarına rastlanılmasa da YA
nın ilk uygulamalarının yönetimde bilimsel yaklaşımların kullanılması olarak
gösterilmektedir.Hatta yönetim bilimi ve YA ile ilgili çalışmalar M.Ö. 212 yılına kadar
uzanmaktadır.Sürekli karar verme durumunda olan yöneticilere(decision makers)
seçenekler içinde en iyisini (optimum) bulma konusundaki bilimsel yaklaşımlar II.
Dünya savaşına kadar süregelmiştir.
İlk YA çalışmasının II.Dünya savaşı sırasında İngiltere’de (1939) bir ekip tarafından
yapıldığı tüm yöneylem araştırmacılarınca kabul edilmektedir.İngiltereye yapılan hava
akınları sırasında en iyi savunma şeklini belirlemek için radarların en etkin kullanımını
saptamak amacıyla biraraya gelen farklı mesleklerdeki uzmanlar bu ekip çalışması ile en
iyi çözümü bulmuşlardır.Bu ilk YA çalışmasının başarılı olması sonucunda savunma
sisteminin diğer bölümlerinde de benzer ekipler kurularak YA çalışmaları
yaygınlaştırılmıştır.
1942 yılında İngilterede General Spaatz’ın isteği ile Hava Kuvvetleri Komutanlığında
“operations analysis groups(Eighth Bomber Command)” kurulmuştur.Bunun bir
benzeri de A.B.D. Deniz Kuvvetlerinde MIT den Philip M. Morse başkanlığında
“ operations research teams “ adı altında organize edilmiştir.Savaştan sonra da özellikle
A.B.D. de askeri alanda uygulamalar devam etmiştir.Kurulan Operations Research Office
(daha sonra Research Analysis Corporation adını almıştır) çalışmalara devam
etmiştir.Hava kuvvetlerinde Operations Analysis Division kurulmuş ve RAND
corporation tarafından yönetilen RAND projesi çalışmalarına başlanmıştır.
Diğer yandan üretimin makinalaşmasi, organizasyonların sürekli büyümesi,insan-makine
sistemlerindeki karmaşıklık YA çalışmalarına endüstride de ihtiyaç olduğunu ortaya
çıkarmıştır. YA çalışmalarının gelişmesinde anahtar rol oynayan iki faktör
vardır.Bunlardan bir tanesi bilim adamlarının YA tekniklerini geliştirerek bu teknikleri
gerçek hayata uygulamaya başlamalarıdır.Bu konuda özellikle 1947 yılında George
B.Dantzig tarafından geliştirilen ve ilk formülasyonu Leontieff ‘e ait olan Doğrusal
Programlama (Linear programming) tekniğinin Simpleks algoritması ile çözümü
önemli bir aşamadır.Bu tekniğin benzer problemlere uygulanması hızla yayılmış ve
süregelen bilgi birikimi ile diğer tekniklerin gelişmesi çabuklaşmıştır.İkinci faktör ise
bilgisayarlardaki gelişmedir.Bilgisayar donanımı ve yazılımı alanındaki hızlı gelişmeler
YA tekniklerinin gerçek hayat problemlerine uygulanışını kolaylaştırmış,elle çözümü çok
uzun zaman alan ve hata oranının arttığı problemlerin çözümü kolaylıkla
gerçekleştirilmiştir.
1950 yılından sonra bilimsel bir nitelik kazanan YA nın bir çok tanımı yapılmıştır.Bu
tanımlardan bir tanesi şöyledir:
“YA , bir sistemde ortaya çıkan problemlere ,sistemin denetlenebilir bileşenleri
cinsinden bilimsel yöntem, teknik ve araçların uygulanması ile en iyi(optimum)
çözümün bulunmasıdır.”

2
Kısaca YA nın konusu ,yaklaşımı ve amacı şu şekilde verilebilir ;

YA nın Konusu : İnsan - Makina sistemlerinin tasarım , kuruluş ve işletiminde


karşılaşılan problemleri belirlemek ve karar problemlerine optimum çözüm aramaktır.

YA nın yaklaşımı : Sistemi bütünüyle ele alarak farklı disiplinlerden oluşan ekiple
bilimsel yöntemi izlemektir.

YA nın amacı : Yönetimin politika ve uygulamalarını bilmsel olarak belirlemesine


yardımcı olmak , böylece yönetimle ilgili kararların tutarlılık ve uygulanabilirliğini
arttırmaktır.

YA Model Yaklaşımı

Bir YA çalışmasında kullanılan aşamaları aşağıdaki gibi verebiliriz:

1. Problemin formüle edilmesi.


2. Çalışılan sisteme ait matematik modelin kurulması.
3. Modelin çözümünün yapılması.
4. Modelin ve çıkarılan çözümün test edilmesi.
5. Çözüm üzerinde kontrollerin yapılması.
6. Çözümün gerçek hayata geçirilmesi.(uygulanması)

Karar problemleri her ne kadar matematiksel model oluşturulup çözülse de bu


problemleri etkileyen başka faktörler mevcuttur. Bu faktörlerin başında insan unsuru
gelir. Bazı görüşlere göre karar problemlerinin matematik modellerle çözülmesi pratik
değildir. Buna en iyi örnek asansör problemidir.
Bir işyerinde asansörlerin yavaşlığından ötürü oluşan şikayetleri gidermek amacıyla bir
bekleme hattı(kuyruk) modeli kurularak problem analiz edilmiş ve sonunda asansörün
hızının arttırılmasına karar verilmiştir. Ancak şikayetler azalmadığı için insan faktörü ele
alınarak, bekleyenlerin can sıkıntısından şikayetlerini arttırdıkları düşünülmüş ve asansör
girişlerine ayna yerleştirilmiştir. Asansör bekleyenler ayna sayesinde kendileriyle
ilgilendiklerinden şikayetler ortadan kalkmıştır.
YA tekniklerinin pek çoğunun yapısında iteratif(yinelemeli) algoritmalar yer alır.
Bundan dolayı bu algoritmaları elle çözmek uzun hesaplamalar gerektirir. Bilgisayarların
gelişimi ile bu tekniklerin çözümleri kolaylaşmıştır.
Gerçek problemlerin matematik modele uygulanmasındaki zorluklar, bazı modellerin
matematik formüllerle gösterilmeyip simülasyon teknikleriyle çözülmesini gerektirir.
Simülasyon, gerçek sistemi küçük birimler halinde inceler ve bu birimleri birlikte hareket
ettirecek mantıksal ilişkileri kullanarak, sistemin mevcut davranışını taklit eder.

1. Problemin formüle edilmesi

Burada yapılacak ilk iş ele alınan sistemi iyi tanımlayarak problemin değişkenlerini
saptamak ,bunların organizasyonun diğer birimleriyle olan ilişkilerini göz önüne alarak
problemin çerçevesini oluşturmaktır.Yöneylem araştırmacısı (veya grubu) karar verici
durumunda olan yöneticilere danışarak probleme doğru cevap arayacaktır.Yönetimin

3
tavsiyeleriyle ayrıntılı bir teknik analiz yapılıp,işletmenin amacı,politikası ,kaynakları
araştırılarak bir rapor oluşturulacaktır.Yönetimin amacını(amaçlarını) kesin olarak tespit
etmesi doğru cevabın bulunması açısından gereklidir.Örneğin kar etme amacı öncelikli
olan bir kuruluş uzun dönem kar maksimizasyonunu yegane amacı olarak
bemimseyebilir.Ancak yapılan araştırmalar birçok işletmenin diğer amaçları yanında
güvenli kar hedefini benimsediğini göstermektedir.Bir çok işletme de tek amacın kar
olmadığını, pazardaki payını yükseltmek, karın devamlılığı,çalışanların morallerinin
yükseltilmesi, işletmenin prestijinin yükseltilmesi, sabit fiyatlar gibi tipik amacların da
hedeflenebileceğini savunmaktadır.Dolayısıyla YA çalışmasının başlangıcında bu
hedeflerin tespit edilip yönetim tarafından bildirilmesi gerekmektedir.

2. Çalışılan sisteme ait matematik modelin kurulması

Problemi formüle ettikten sonraki aşama matematiksel bağlantıları kurarak problemi


matematik semboller ve ifadelerle sunmaktır.Matematiksel model, matematik ifadelerle
ilişkilendirilmiş,çözümleri ele alınan sistemin durumunu açıklayan bir eşitlikler
kümesidir. Matematik eşitlikler fizik kurallarını,kimyasal reaksiyonları en iyi şekilde
açıklayabildikleri gibi sosyal bilimlerde de incelenen sistemin davranışlarını anlama,
açıklama ve yorumlamada bize yardımcı olmaktadırlar.Sistemin anlaşılması açısından
diğer sistemlerden daha kullanışlı olmaları, ardışık irdeleme olanağının bulunması ve
model üzerinde denemeler yapılabilmesi matematiksel modellerin avantajları olarak
sayılabilir.Sosyal bilimlerde bilimsel yöntemlerin uygulanması matematik modellerin
yardımıyla olmaktadır.

3. Modelin çözümünün yapılması

Matematik modelin kurulmasından sonra bu modelin çözüm aşamasına geçilir.Bir YA


çalışmasında bu aşamanın çalışmanın en önemli parçası olduğu düşünülürse de gerçekte
bu adım araştırmacılar için en kolay adım olarak alınabilir..Çünkü burada geliştirilmiş
olan algoritmalardan birisinin bilgisayar kullanılarak çözümü yapılmaktadır.YA nın bu
aşamadaki rolü çözümün optimum yani en iyi çözüm olmasını sağlamaktır.Modeldeki
amacın gerçekleşip gerçekleşmediği , kısıtlamaların amaç üzerindeki
etkileri,değişkenlerin aldıkları değerlerin yorumu çözümden sonra değerlendirilecek
hususlardır.Duyarlılık analizi(sensitivity analysis) yapılarak parametreler üzerinde
yapılacak herhangi bbir değişikliğin modeli nasıl etkileyeceği görülür.

4. Modelin ve çözümün test edilmesi

Modelin çözümünden sonra dikkat edilmesi gereken nokta çözümün ne denli güvenilir
olduğudur.Modeli kurarken yapılan bir hata çözümün tüm aşamalarına
yansıyabilir.Çözüm bulunduktan sonra modelin tamamını değerlendirerek,sonucun
modelin gerçek olarak uygulanabileceğini kanıtlaması gerekir.Probleme ait model
yeniden gözden geçirilir ve bir hata olup olmadığı araştırılır. Bir diğer yararlı test etme
şekli de matematik ifadelerin kullanıldıkları birimlerdeki doğruluklarıdır.Modelin ve
çözümünün başlangıç uygulamasından önce test edilmesi güvenli bir uygulama ve zaman
içinde geçerlilik kazanması açısından gereklidir.

4
5. Çözüm üzerinde kontrollerin yapılması

Eğer model devamlı kullanılacaksa ,bir sonraki adım modeli açıklayan çok iyi bir sistem
dökümantasyonunun hazırlanmasıdır. Bu sistemde model, çözüm prosedürü ve
uygulama için kullanılan işlemler yer almalıdır.Kullanıcının değişmesi durumunda bile
böyle bir prosedür hazırlanmışsa uygulama aksamayacaktır.Öte yandan gerçek hayatta
sürekli koşullar değiştiği için bu değişikliklerin modele yansıtılması yani modelin
güncelleştirilmesi söz konusudur.

6. Çözümün gerçek hayata geçirilmesi(uygulanması)

YA çalışmasının son aşaması da çözümün karar verici tarafından benimsenip


uygulanmasıdır.Çalışmanın başarısı şüphesiz üst kademe yöneticilerinin ve işlemleri
yürütecek kişilerin vereceği desteğe bağlıdır.YA çalışması yapan grup yöneticilerle
devamlı işbirliği ile bulunan çözümün güvenli bir şekilde uygulanabileceğini izlemelidir.

Türkiye’de YA Çalışmaları

Türkiyede ilk YA çalışmaları 1960 yılında askeri amaçlı olarak başlatılmıştır. 1965
yılında Tübitak da ilk YA grubu kurulmuştur.1964 yılından itibaren de üniversitelerde
YA konularının anlatımı başlamış ve dersler konulmuştur.1975 yılında kurulan
YA derneği ulusal kongreler düzenlemekte ,çıkardığı yayınlarla da YA çalışmalarını
desteklemektedir.

YA nın dünyadaki gelişimi

Çeşitli ülkelerde kurulan dernekler YA ilgili periyodikler yayınlayarak bu konudaki


gelişmeleri duyurmaktadırlar.1950 yılı başında A.B.D. da kurulan ORSA(Operations
Research Society of America) ile TIMS(The Institute of Management Sciences) bu
kuruluşların en ünlüleridir.YA uygulamalarını ve yapılan araştırmaları aktaran dergilerin
bazıları aşağıda verilmektedir.

• A.I.E.E. Transactions
• C.O.R.S. Journal
• Decision Sciences
• Industrial Engineering
• Journal of Industrial Engineering
• Management Science
• Mathematical Programming
• Mathematics of Operations Research
• Naval Research Logistics Quarterly
• Networks
• Operations Research
• Transportation Science

YA tekniklerinin uygulama alanları

5
Çok değişik uygulama alanları olmasına karşın işletmeler dikkate alındığında değişik
departmanlardaki uygulamalar şu şekilde verilebilir:
Muhasebe : Nakit akış planı,Kredi politikası
Tasarım : Proje kaynaklarının yaratılması, Proje planlama, Bina planlama,fabrika
kapasite ve yerinin planlanması,Hastane planlaması,Bölgesel depoların
seçimi,Uluslararası logistik sistemler
Finans : Kar politikası, Yatırım analizi,Değerli kağıt analizi
Üretim :Envanter kontrol, Üretim planlama, İnsan-gücü planlaması, Üretimi
kolaylaştırma
Pazarlama : Reklam yönetimi
Organizasyon :Personel temini, Personel planlama
Satın alma : Optimum satın alma,Malzeme yönetimi
Araştırma-geliştirme: AR-GE projelerinin kontrolu, Ürün geliştirme

Ayrıca ulusal planlama,enerji planlaması ve yönetimi,teknoloji


planlaması,savunma,çevre sağlığı , haberleşme sistemleri gibi konularda da uygulamalar
yapılmaktadır.

YA teknikleri

YA teknikleri olarak kullanılan algoritmaları iki bölümde toplamak mümkündür.


1. Matematiksel programlama teknikleri
• Doğrusal programlama(linear programming)
• Networks
Transportation problem
PERT-CPM
Dinamik programlama
• Integer programming
Goal programming
• Game theory

2. Olasılıklı modeller

• Olasılık teorisi (probability)


• Karar teorisi(decision making)
• Envanter teorisi
• Simulasyon
• Kuyruk teorisi( wating lines)
• Markov analizi

DOĞRUSAL PROGRAMLAMA

Yöneylem Araştırması modelleri, alternatifler, kısıtlar ve amaç fonksiyonu adı verilen temel
elemanlardan oluşur. Karar problemlerinin alternatifleri genelde bilinmeyen değişkenler olarak
ortaya çıkar. Bu değişkenler uygun bir matematik model oluşturmak üzere kısıtlar ve amaç
fonksiyonu olarak düzenlenir. Modelin çözümü ile tüm kısıtları sağlayan, aynı zamanda da

6
amaç fonksiyonunu optimum (maksimum veya minimum) yapan karar değişkenlerinin değerleri
bulunur.
DP, sınırlı kaynakların kullanımını optimum yapmak için geliştirilmiş bir matematiksel
modelleme yöntemidir. Bir optimizasyon tekniği olarak belirli ortak özellikleri bulunan
problemlere uygulanır. Problemden kaynaklanan bazı özel durumlar dışında tüm DP modelleri üç
temel özellik taşır:

• Doğrusal amaç fonksiyonu


• Doğrusal kısıtlar
• Pozitiflik koşulu

Dogrusal amaç fonksiyonu

Tüm organizasyonların varmak istediği bir veya birden çok amaç vardır. Çoğu organizasyonlar
kar maksimizasyonu ya da maliyet minimizasyonunu amaç olarak alırlar. DP modellerinde
birçok değişkenin doğrusal fonksiyonundan oluşan bir “amaç fonksiyonu” bulunur. Bu
fonksiyonu Z , değişkenleri x1 , x2 , ………., xn ve sabit katsayıları da c1 , c2 , ……… cn ile
göstermek üzere;

Z = c1 * x1 + c2 * x2 + ......................... + cn * xn

Şeklinde yazılır. Problemin amacı Z ‘i maksimum veya minimum yapa x değerlerinin


bulunmasıdır. Eğer kar maksimizasyonu amaçlanmışsa Z’i maksimum yapan, aksi
durumda da maliyet minimizasyonu için Z’ i minimum yapan x değerleri aranır.

Doğrusal kısıtlar

Bütün doğrusal fonksiyonlar pozitif sonsuzda maksimum, negatif sonsuzda minimum


değerini alırlar. Dolayısıyla doğrusal amaç fonksiyonlarının aynı maksimum ve
minimuma sahip olduklarını söyleyebiliriz. Matematiksel olarak anlamsız olan bu
sonuçtan kaçınmak için değişkenler üzerinde bazı kısıtlamalar yapılmalıdır. Zaten
organizasyonların kaynaklarının da sonsuz olmadığı düşünülürse bu kısıtlamaların
modelde yer alması normaldir. DP modellerinde kısıtlar, doğrusal eşitsizliklerden
meydana gelir.
a11 , a12 , ........................., amn
ve
b1 , b2 , ..........................., bm

sabit sayılar olmak üzere kısıtlar :

a11 * x1 + a12 * x2 + …………………………+ a1n * xn <= b1


a21 * x1 + a22* x2 + …………………………+ a2n * xn < = b2
..............................................................
..............................................................

am1 * x1 + am2 * x2 + …………………………+ amn * xn <= bm

7
şeklinde gösterilir. Kısıtlar incelendiğinde şu özellikler göze çarpmaktadır:

• Sistemin her satırı genellikle bir eşitsizliktir. Bazı durumlarda eşitlik de olabilir.
• Eşitsizliklerin sol tarafları doğrusal fonksiyonlardır.
• Kısıtların sayısı (m ) için bir sınırlama yoktur.

Kısıtları ifade eden eşitsizlikler , problemin çözümü olabilecek x değişkenlerinin içinde


bulunduğu « çözüm bölgesini » belirler. Sonuçta tüm kısıtları sağlayan optimum(en
uygun) çözüm bulunur.

Pozitiflik koşulu

DP ‘ nin gerçek problemlere uygulanmasını kolaylaştırmak amacı ile çözümde karar


değişkenlerinin negatif değer alamayacağı koşulu getirilmiştir. Matematik olarak
problem çözüldüğünde ;

x1 , x2 , ………., xn >= 0 olmalıdır.

DP modellerinin formülasyonu değişik şekillerde gösterilmektedir. En yaygın gösterim


şekli aşağıda verildiği gibi matris notasyonu kullanılarak formüle etmektir.

n
min veya max Σ c j * xj amaç fonksiyonu
j=1

n
Σa ij * xj <= bi kısıtlar
j=1
i = 1,2, ...., m

xj >= 0 pozitiflik koşulu

veya

min veya max f (x ) = C * X

A*X<=b
X>=0

C = (c1 , c2 , ……… cn )

8
a11 a12 ....... a1n b1
x1
X= x2 A= a21 a22 ....... a2n b = b2

xn ............................ ...
............................
bm
am1 am2…...... amn

Örnek Problem : XX şirketi, H1 ve H2 hammaddelerinin karışımından iç ve dış duvar boyası


üretmektedir. Aşağıdaki tabloda problemin temel verileri gösterilmektedir.

ton başına hammadde günlük maksimum


miktarı (ton) kapasite(ton)
dış boya iç boya

H1 6 4 24
H2 1 2 6

Ton başına kar(1000$) 5 4

Şirketin yaptığı pazar araştırmasında, günlük iç boya talebinin en fazla 2 ton olduğu
görülmüştür. Yine aynı araştırmada, günlük iç boya talebinin günlük dış boya talebinden
fazla olduğu ve bu fazlalığın günde en çok 1 ton olduğu anlaşılmıştır. Sirket karını
maksimum yapacak şekilde optimum üretim miktarını belirlemek istemektedir. Bu
problem bir DP modeli olarak düşünüldüğünde 3 temel elemanı olacaktır :
1. karar değişkenleri
2. amaç fonksiyonu
3. kısıtlar
Modelin karar değişkenleri iç ve dış boya miktarlarıdır.

x1 dış boyanın günlük üretim miktarını( ton)


x2 iç boyanın günlük üretim miktarını( ton ) göstersin.

Şirket için en iyi amaç toplam karı maksimum yapmaktır. Z toplam karı göstermek üzere ;

maksimum Z = 5 * x1 + 4 * x2

Şeklinde yazılabilir. Modelin son elemanı hammadde ve taleple ilgili sınırlamalardır.

H1 hammaddesinin kullanımı:

9
6 * x1 + 4 * x2 ton

H2 hammaddesinin kullanımı da :

1* x1 + 2 *x2 tondur.

Bu hammaddelerin günlük kullanımları sınırlı olduğu için kısıtları şu şekilde yazabiliriz :

6 * x1 + 4 * x2 < = 24 H1 hammaddesi için

1* x1 + 2 *x2 <= 6 H2 hammaddesi için

Ayrıca taleple ilgili sınırlamalar da vardır :


İç duvar boyası talebinin günde en çok 2 ton olması ;
x2 < = 2
İç boyanın günlük üretiminin dış boyanın üretiminden en çok 1 ton fazla olması ;
x2 - x1 < = 1
Modelde yer alan değişkenlerin negatif olmama (pozitiflik koşulu) sınırlamasını da ekleyerek
matematik modeli aşağıdaki gibi yazabiliriz :
amaç fonksiyonu :

maksimum Z = 5 * x1 + 4 * x2
kısıtlar :
6 * x1 + 4 * x2 < = 24
x1 + 2 *x2 <= 6
- x1 + x2 <= 1
x2 <= 2
pozitiflik koşulu :
x1 , x2 > = 0

Bu kısıtların tümünü sağlayan herhangi bir çözüm uygun çözüm adını alır.

Grafik çözüm

İki değişkenli bir DP modeli grafik olarak çözülebilir. Grafik yöntemin iki önemli adımı vardır :
• Modelin tüm kısıtlarının sağlandığı uygun çözümleri içeren bir çözüm uzayının
belirlenmesi,
• Çözüm uzayındaki tüm noktalar arasından optimum çözümün bulunması.

Yukarıda verilen örneğin grafik çözümünü yapalım. Kısıtları bir koordinat sisteminde
göstermenin en kolay yolu, eşitsizlikleri eşitlik şeklinde düşünerek bunlara ait doğruların
çizilmesidir. Daha sonra eşitsizliğin işaretine göre doğrunun altında ya da üstünde kalan bölge
çözüm bölgesi olarak seçilir. Birinci kısıtı ele alırsak ;

6 * x1 + 4 * x2 < = 24 eşitsizliğini
6 * x1 + 4 * x2 = 24 şeklinde eşitlik olarak yazalım.

Bu doğruyu çizebilmek için iki nokta gerekir. x1 = 0 için x2 ‘yi, x2= 0 için de x1 ‘ i
hesaplayabiliriz. x1 = 0 için x2= 6 , x2 = 0 için x1 = 4 bulunur. (0,6) ve (4,0) noktalarından
geçen doğru aranılan doğrudur. Eşitsizliğin yönü (<= ) şeklinde olduğu için bu doğrunun altında

10
kalan alan bu kısıtı sağlayan alandır. Tüm kısıtlara ait doğrular çizildikten sonra, çözüm uzayı
belirlenir. Aslıda uygun çözüm bölgesi sonsuz sayıda uygun nokta içerdiği için , bunların
arasından optimum noktayı bulmamız gerekir.

x2

5 1
3
4

3
4
2 E D
C
1 F Çözüm uzayı
2
0A B
1 2 3 4 5 6 x1

Optimum çözümün belirlenmesi için kar fonksiyonunun artış yönünün bilinmesi gerekir.
Bu da Z’e keyfi değerler atayarak yapılabilir. Z’ e önce 10 sonra 15 değerleri verilerek;

5 * x1 + 4 * x2 = 10 ve
5 * x1 + 4 * x2 = 15 doğruları çizilir.

Amaç fonksiyonunun daha artırılması durumunda ABCDEF uygun çözüm uzayının dışına
çıkılacaktır. Şekilden çözüm uzayının dışına C noktasından çıkıldığı görülmektedir. Dolayısıyla
uygun çözümü içeren nokta C noktasıdır. C noktası 1 ve 2 numaralı kısıtların kesişim noktası
olduğu için buradan x1 = 3 ve x2= 1.5 bulunur. Günlük üretimde 3 ton dış boya, 1.5 ton iç boya
üretildiğinde günlük kar Z= 21000$ olacaktır. Optimum çözümün çözüm uzayının komşu köşe
noktalarından birinde bulunması raslantı değildir. Amaç fonksiyonunun eğimi değiştirilse bile,
yeni çözüm yine köşe noktalarından birinde olacaktır.

x2
z=21
z’deki artış
3 z=15

z=10
2 optimum nokta
C x1 = 3

11
x2= 1.5
1 Z= 21000$

0 1 2 3 4 x1

Örnek problem: Bir çiftlikte günde en az 800 kg özel bir karışımla yapılan yem
kullanılmaktadır. Bu karışım, aşağıdaki tabloda verilen maddelerin belirtilen miktarları
kullanılarak elde edilmektedir.

1 kg yemde kullanılan miktarlar(kg)

Protein Lif
Maliyet($/kg)

Mısır 0.09 0.02 0.30

Soya unu 0.60 0.06 0.90

Bu ürünün bileşiminde en az %30 protein ve en çok da % 5 lif bulunması zorunludur.


Firma minimum maliyetle günlük yem karışımını belirlemek istemektedir. Önce
probleme ait matematik modeli kuralım:

Karar değişkenleri:
x1 karışımdaki mısır miktarı (kg)
x2 karışımdaki soya unu miktarı(kg)

Amaç fonksiyonu:
Minimize Z = 0.3* x1 + 0.9 * x2

Kısıtlar :

x1 + x2 > = 800 ( günlük üretim)

0.09* x1 + 0.60* x2 > = 0.3 ( x1 + x2 ) (protein miktarı)

0.02 * x1 + 0.06 * x2 < = 0.05(x1 + x2 ) ( lif miktarı)

Kısıtları ve amaç fonksiyonunu yeniden yazalım:

Minimize Z = 0.3* x1 + 0.9 * x2


x1 + x2 > = 800
0.21* x1 - 0.30* x2 <=0
0.03* x1 - 0.01 * x2 >= 0
x1 , x2 >=0

12
Grafik çözüm:

x2

2
1500

1000 Çözüm
Bölgesi 1

500
optimum nokta

500 1000 1500 x1

optimum noktada değişkenlerin değerleri:

x1 = 470.59 kg
x2 = 329.42 kg
Amaç fonksiyonu : Z = 437.65 $

13
SİMPLEKS YÖNTEMİ

Bir doğrusal programlama modelini çözmek üzere geliştirilmiş , optimum çözümü


iterasyon (ardışık yaklaşım) yoluyla bulan matematiksel bir yöntemdir. Probleme ait
matematik model kurulduktan sonra, ilk adım modeli standart DP modeli şekline
getirmektir. Standart bir DP modelinde eşitsizlikler eşitlik şekline dönüştürülmelidir.

Eşitsizliklerin eşitlik haline getirilmesi

Bir DP modelinde <= yönündeki bir kısıtı eşitlik haline getirmek için eşitsizliğin sol
tarafına bir artık (slack) değişken eklenir.
x1 + 3* x2 <= 4
eşitsizliği,
x1 + 3* x2 + S1 = 4
eşitliği ile aynı anlamdadır. S1 >= 0 olup, artık değişken adını alır.
Eşitsizliğin yönü >= yönünde ise artık değişken eklemek yerine çıkarmak gerekir. Ancak bu
durumda da değişkenin negatif olmasından ötürü başlangıç çözümünde yer alamaz. Bunun için
bu tür kısıtlarda bir de yapay(artificial) değişken eklenir.
x1 + 2* x2 >= 6
eşitsizliği,
x1 + 2* x2 - S1 + A1 = 6
şeklinde eşitlik haline getirilir. Bazı modellerde de sadece = şeklinde kısıtlar da yer alabilir. Bu
durumda da eşitsizliğin sol tarafına bir yapay değişken eklenir.

2*x1 + 3* x2 = 10
eşitsizliği,
2* x1 + 3* x2 + A1 = 10
eşitlik haline getirilir.

Bir eşitliğin sağ tarafı mutlaka negatif olmama koşuluna uygun olmalıdır. Gerekirse bu koşulu
sağlamak için eşitsizliğin her iki tarafı –1 ile çarpılır ve eşitsizliğin yönü de değiştirilir.

Simpleks algoritması

Simpleks algoritması uygun bir temel çözümle başlar ve daha sonra amaç fonksiyonunun daha da
iyileştirildiği başka uygun çözümlerle devam eder. İlk uygun çözüm için probleme eklenen artık
ve yapay değişkenlerden yararlanılır. Problemin karar değişkenleri (x1 , x2 , ………., xn )
başlangıçta sıfır değerini alırken , artık (S ) ve yapay (A ) değişkenler sağ taraf değerlerine
eşitlenir. Şimdi bir örnek problem ele alarak algoritmayı adım adım uygulayalım.

Örnek problem: Yüksek kaliteli cam ürünleri üreten bir firmanın üretimini gerçekleştirdiği 3
atölyesi mevcuttur.1. atölyede aliminyum çerçeve ve bağlantıları,2. atölyede ağaç çerçeve , 3.
atölyede de cam üretilerek, kapı ve pencere ürünleri yapılmaktadır. Kazançlarındaki azalmadan
dolayı üst kademe yönetimi üretim hattını yenilemek istemektedir. Kar getirmeyen bazı ürünler
üretilmeyecek, buna karşılık talebi olan bir veya 2 yeni ürün, üretim kapasitesinin izin verdiği
ölçüde üretilecektir.Yeni ürün olarak aliminyum çerçeveli kapı ve çift camlı ağaç çerçeveli
pencere üretilmesi kararlaştırılıyor. Pazarlama departmanı elde mevcut kapasite ile üretilecek bu

14
ürünlerin satılacağını garanti etmektedir. Atölyelerden elde edilen bilgiler aşağıdaki tabloda
verilmektedir:

Birim başına kullanılan kapasite


Atölye Yüzdesi mevcut
kapasite
Ürün 1 Ürün 2 (yüzde)

1 1 0 4

2 0 2 12

3 3 2 18

birim kar 3$ 5$

Firma karını maksimum yapacak ürün miktarlarını belirlemek istemektedir. Problemin


matematik modelini aşağıdaki gibi kuralım:
Karar değişkenleri:
x1 dakikada üretilecek aliminyum çerçeveli kapı miktarı
x2 dakikada üretilecek çift camlı pencere miktarı

Amaç fonksiyonu:
Maksimum Z =3* x1 + 5 * x2

Kısıtlar :

x1 < = 4 ( 1.atölye 1.ürün için kapasitenin %1 ini kullanıyor)

2* x2 < = 12 (2.atölye 2.ürün için kapasitenin %2 sini


kullanıyor)

3 * x1 + 2 * x2 < = 18 (3. atölyedeki kullanım yüzdeleri)

x1 , x2 > = 0

Modelde iki değişken yer aldığı için 2 boyutlu grafik çözümü yapılabilir. Önce pozitiflik koşulu
dikkate alınarak değişkenlerin koordinatların pozitif tarafında yer alması sağlanır. Daha sonra her
bir kısıtın doğruları çizilerek çözüm bölgesi bulunur. Son adım ise amaç fonksiyonunun
maksimum değerinin aranmasıdır.

Problemin grafik çözümü aşağıda gösterilmektedir:

15
x2

10

1
8 3 optimum

A(0,6) B(2,6) 2
6

çözüm
4 bölgesi
C (4,3) Z=36

D (4,0)
2 4 6 8 x1

Z=10 Z=20

Şimdi de problemi standart hale getirip simpleks çözümü yapalım. Önce eşitsizlikler
eşitlik şekline getirilir. Bunun için kısıtların yönüne göre değişken eklenir. Modeldeki
kısıtlar <= yönünde olduğu için artık(slack) değişkenler eklenecektir. Artık değişkenler
boş(aylak) kapasiteyi gösterdiği için amaç fonksiyonundaki katsayıları sıfırdır. Diğer bir
deyişle amaç fonksiyonunu etkilemezler. Her kısıta aşağıdaki gibi bir artık değişken
eklenir:

x1 + S1 = 4

2* x2 + S2 = 12

3 * x1 + 2 * x2 + S3= 18

Başlangıç uygun çözümü için karar değişkenleri sıfıra eşitlenip, artık değişkenler sağ
taraf değerini alır.
x1 = 0 , x2 = 0

S1 = 4 , S2 = 12 , S3= 18

Bundan sonra başlangıç tablosu kurularak iterasyonlara geçilir.

Başlangıç simpleks tablosu:

iterasyon amaç fonk.kats. 3 5 0 0 0


taban değiş. kapasite x1 x2 S1 S2 S3

16
0 S1 4 1 0 1 0 0
0 0 S2 12 0 2 0 1 0
0 S3 18 3 2 0 0 1

Değişkenler ve katsayıları yerleştirildikten sonra, tabloya iki satır daha eklenir. Bu


satırlar Z j ( zarar /birim) ve C j - Z j (kar/birim – zarar/birim) satırlarıdır ve aşağıdaki
gibi hesaplanırlar:

Z j satırının hesaplanması :

Z j (kapasite sütunu) =0*4 + 0*12 + 0*18 = 0


Z j (x1 sütunu) =0*1 + 0* 0 + 0* 3 = 0
Z j (x2 sütunu) =0*0 + 0* 2 + 0* 2 = 0
Z j (S1sütunu) =0*1 + 0* 0 + 0* 0 = 0
Z j (S2sütunu) =0*0 + 0* 1 + 0* 0 = 0
Z j (S3sütunu) =0*0 + 0* 0 + 0* 1 = 0

C j - Z j satırı ise şu şekilde hesaplanır:

Değişken Cj Zj C j- Zj

x1 3 0 3
x2 5 0 5
S1 0 0 0
S2 0 0 0
S3 0 0 0

Başlangıç simpleks tablosunun yeni şekli aşağıdaki gibidir:

iterasyon amaç fonk.katsa. 3 5 0 0 0


taban değişk. kapasite x1 x2 S1 S2 S3
0 S1 4 1 0 1 0 0
0 0 S2 12 0 2 0 1 0
0 S3 18 3 2 0 0 1

Zj 0 0 0 0 0 0

Cj - Z j 3 5 0 0 0
Giren ve çıkan değişkenlerin seçimi

Bundan sonraki aşamada sıfır katsayılı taban değişkenlerinden biri tabandan çıkarılıp,
yerine sıfırdan farklı pozitif katsayılı bir değişken getirilir. Çözüm dışı kalması istenen
temel değişkene çıkan değişken, seçilmiş yeni değişkene de giren değişken adı verilir.
Bu değişkenlerin seçimi için de bir anahtar sütun ve anahtar satır belirlenir.
C j - Z j satırındaki en büyük pozitif sayının olduğu sütun anahtar sütun olarak alınır ve
bu sütunun üzerindeki değişken tabana girecek değişken olarak seçilir. Tabandan çıkacak

17
değişkenin seçimi için de kapasitelerle anahtar sütun elemanlarının oranına bakılır. En
küçük pozitif orana sahip satır anahtar satır olarak alınır ve satırdaki değişken tabandan
çıkacak değişken olarak seçilir.

iterasyon amaç fonk.katsa. 3 5 0 0 0


taban değişk. kapasite x1 x2 S1 S2 S3
0 S1 4 1 0 1 0 0
0 0 S2 12 0 2 0 1 0

0 S3 18 3 2 0 0 1

Zj 0 0 0 0 0 0

Cj - Z j 3 5 0 0 0

Anahtar satır için kapasitelerle anahtar sütun oranları :


4/0
12 / 2 = 6 (en küçük oran)
18 / 2 = 9
yeni tobloya geçerken değişkenler yer değiştirilir ve anahtar satır anahtar sayıya ( anahtar
satır ile anahtar sütunun keşistiği yerdeki sayı) bölünerek yeni tabloya geçirilir. Diğer
satırlar ise aşağıdaki gibi hesaplanır:

eski satır - anahtar sütun katsayısı * yeni anahtar satırı

S1 satırı için hesaplama yapmaya gerek kalmıyor çünkü bu satırdaki anahtar sütun
katsayısı sıfır olduğu için satır aynı şekilde yeni tabloya aktarılır.
S3 satırı için yukarıdaki formüle göre hesaplama yapalım:

18 , 3, 2, 0, 0, 1 - 2 * 6, 0, 1, 0, ½, 0 = 6, 3, 0, 0, - 1, 1

Yeni tablo oluşturulduktan sonra aynı işlemler tekrarlanır. Iterasyona C j - Z j satırında


pozitif sayı kalmayıncaya kadar devam edilir. Probleme ait iterasyon sonuçları aşağıda
verilmektedir.

0 S1 4 1 0 1 0 0
1 5 x2 6 0 1 0 1/2 0
0 S3 6 3 0 0 -1 1

Zj 30 0 5 0 5/2 0

18
Cj - Z j 3 0 0 -5/2 0

0 S1 2 0 0 1 1/3 -1/3
2 5 x2 6 0 1 0 1/2 0
3 x1 2 1 0 0 -1/3 1/3

Zj 36 3 5 0 3/2 1
Cj - Z j 0 0 0 -3/2 -1

Son tabloda ;
x1 = 2
S1 = 2
x2 = 6
S2 = 0
S3 = 0
x1 den dakikada 2 adet , x2 den dakikada 6 adet üretildiğinde Z= 36 olmaktadır. Bu
amaç fonksiyonunun bu kısıtlar altında alacağı maksimum değerdir. 1.kısıtta yer alan S1
artık değişkeni 1.atölyenin boş kalan kapasite yüzdesini vermektedir(%2). Diğer atölyelerde boş
kapasite kalmamaktadır (S2 = 0, S3 = 0).

M yöntemi

Tüm kısıtların ( <= ) yönünde olması durumunda artık değişkenler eklenerek problem
standart hale getiriliyordu. Ancak (=) ve (>=) yönündeki kısıtlar için artık değişken
eklemek yerine çıkarmak gerekir ki bu da başlangıç uygun çözümünü bozar. Bunu
önlemek için bu tür kısıtlarda yapay değişkenler kullanılmaktadır. Yapay değişkenler
başlangıç tablosunda taban değişkenleri oluştururlar ,daha sonra bu değişkenler tabandan
çıkarılmaya çalışılır.Artık değişkenlerin amaç fonksiyonundaki katsayıları sıfır olmasına
karşın, yapay değişkenlerin amaç fonksiyonundaki katsayıları çok büyük pozitif değerli
bir sayıyı gösteren M sayısıdır. M aynı zamanda bir ceza katsayısıdır. Bu ceza nedeniyle
yapay değişkenler iterasyonlar sonunda sıfır değerini almaya çalışacaktır.

Örnek problem: Protein ve karbonhidrat karışımından özel bir ürün hazırlayan bir
firma, 200 kg ’lık bir sipariş almıştır. 1 kg protein için verilen maliyet 3YTL, 1 kg
karbonhidrat için maliyet 8YTL ’dir. Karışımdaki protein oranının %40’dan fazla
olmaması ve karbonhidrat oranının da en az %30 olması istenmektedir. Firma minimum
maliyetle karışıma girecek protein ve karbonhidrat miktarlarını belirlemek istemektedir.
Probleme ait matematik modeli kuralım:
Karar değişkenleri:
x1 karışıma girecek protein miktarı
x2 karışıma girecek karbonhidrat miktarı

Amaç fonksiyonu:
Minimum Z =3* x1 + 8* x2

Kısıtlar :

19
x1 + x2 = 200 ( sipariş miktarı)

x1 < = 80 (protein oranı: 0.40*200)

x2 > = 60 (karbonhidrat oranı:0.30*200)

x1 , x2 > = 0
Modeli standart hale getirmek için dolgu değişkenleri ekleyelim. 1. kısıtta karar
değişkenleri başlangıç çözümü için sıfır değerini aldığı zaman sağ taraf değerinin
eşitleneceği bir değişken olarak bir yapay değişken (A) eklenir. A çok yüksek maliyetli
(M) ve optimum çözümde yer almayacak bir değişkendir.
x1 + x2 + A 1 = 200
2. kısıt (<=) yönünde olduğu için bir artık değişken eklenir ve eşitlik şekline
dönüştürülür.
x1 + S1 = 80
buradaki S1 son çözümde bulunacak protein miktarı ile 80 kg arasındaki farkı
göstermektedir.
3.kısıt (>=) yönünde bir eşitsizliktir. Bu kısıta bir artık değişken eklemak yerine
çıkarmak gerekir:
x2 - S2 = 60
S2 artık değişkeni negatif değer taşımakta ve son çözümde karbonhidratın 60 kg’dan
fazla olabilecek miktarını göstermektedir.
x2 = 0 alındığında , 0 - S2 = 60 veya S2 = - 60 olacaktır.
Negatif bir kaynak(kapasite) modelde yer alamayacağı için bu kısıta bir de pozitif
değerli bir yapay değişken eklenir.
x2 - S2 + A 2 = 60

Modeli yeniden yazarsak;

Minimum Z =3* x1 + 8* x2 + 0* S1 +0* S2 + M* A 1 + M* A 2


Kısıtlar :

x1 + x2 + A 1 = 200 ( sipariş miktarı)

x1 + S1 = 80 (protein oranı)

x2 - S2 + A 2 = 60 (karbonhidrat oranı)

x1 , x2 > = 0

Model standart hale getirildikten sonra simpleks algoritması uygulanır. M yönteminde


anahtar sütun seçiminde C j - Z j satırındaki negatif değerli M sayıları arasından en

20
küçüğü seçilir. Bu sütun üzerindeki değişken tabana girecek değişkendir. İterasyona C j -
Z j satırında negatif sayı kalmayıncaya kadar devam edilir.

iterasyon amaç fonk.katsa. 3 8 M 0 0 M


taban değişk. kapasite x1 x2 A1 S1 S2 A2

M A1 200 1 1 1 0 0 0

0 0 S1 80 1 0 0 1 0 0

M A2 60 0 1 0 0 -1 1

Zj 260M M 2M M 0 -M M

Cj - Z j 3-M 8-2M 0 0 M 0

M A1 140 1 0 1 0 1 -1

1 0 S1 80 1 0 0 1 0 0

8 x2 60 0 1 0 0 -1 1

Zj 620M M 8 M 0 M-8 8-M

Cj - Z j 3-M 0 0 0 8-M 2M-8

M A1 60 0 0 1 -1 1 -1

2 3 x1 80 1 0 0 1 0 0

8 x2 60 0 1 0 0 -1 1

Zj 780M 3 8 M 3-M M-8 8-M

Cj - Z j 0 0 0 M-3 8-M 2M-8

0 S2 60 0 0 1 -1 1 -1

3 3 x1 80 1 0 0 1 0 0

8 x2 120 0 1 1 -1 0 0

Zj 1200 3 8 8 -5 0 0

Cj - Z j 0 0 M-8 5 0 M

Son tabloda ;
x1 = 80, x2 = 120 ve Z = 1200 bulundu. S2 = 60 karbonhidratın
fazla miktarını göstermektedir.
Özetlersek minimizasyon problemlerinde iterasyona, C j - Z j satırında negatif sayı
kalmayıncaya kadar ,maksimizasyon problemlerinde de pozitif sayı kalmayıncaya kadar
devam edilir.

21
Örnek Uygulamalar:

#1
Maksimum Z =10* x1 + 20* x2
Kısıtlar : - x1 +2* x2 <= 15
x1 + x2 < = 12
5* x1 +3* x2 < = 45
x1 , x2 > = 0
iterasyon sayısı:2 Z= 210 x1 =3 , x2 = 9, S3 = 3

#2
Minimum Z =x1 + x2
Kısıtlar : x1 >= 30
x2 >= 20
x1 +x2 >= 8
x1 , x2 > = 0
iterasyon sayısı:3 Z=50 x1 =30 , x2 = 20

#3
Minimum Z =2* x1 + 3* x2 + x3
Kısıtlar : x1 +4* x2 + 2* x3 >= 8
3* x1 + 2*x2 >= 6
x1 , x2, x3 > = 0
iterasyon sayısı:2 Z=7 x1 =0.8 , x2 = 1.8

Örnek problem: Aşağıda verilen DP problemi bir maksimizasyon problemi olup (>=)
yönünde bir kısıt içermektedir. Bu kısıtı standart hale getirmek için bir yapay değişken
eklenerek tablo hazırlanır. C j - Z j satırında negatif değerli M kalmadığı zaman
maksimizasyon problemi olduğu için pozitif sayı kalıp kalmadığına bakılır. Negatif M
ve pozitif sayı kalmadığı görüldüğünde iterasyona son verilir.

Maksimum Z =2* x1 + 3* x2
Kısıtlar : x1 +2* x2 <= 4
x1 + x2 >= 3
x1 , x2 > = 0

iterasyon amaç fonk.katsa. 2 3 0 0 M


taban
değişk. kapasite x1 x2 S1 S2 A1

0 0 S1 4 1 2 1 0 0

M A1 3 1 1 0 -1 1

Zj 3M M M 0 -M M

22
Cj - Z j 2-M 3-M 0 M 0

3 x2 2 0.5 1 0.5 0 0

1 M A1 1 0.5 0 -0,50 -1 1

Zj 6M 0.5M+1.5 3 1.5-0.5M -M M

Cj - Z j 0.5-0.5M 0 0.5M-1.5 M 0

2 3 x2 1 0 1 1 1 -1

2 x1 2 2 0 -1 -2 2

Zj 7 2 3 1 -1 1

Cj - Z j 0 0 -1 1 M-1

0 S2 1 0 1 1 1 -1

3 2 x1 4 1 2 1 0 0

Zj 8 2 4 2 0 0

Cj - Z j 0 -1 -2 0 M

23

You might also like