. MATEMATİKSEL MODELLEME İşletmeler çabuk ve iabetli kararlar alabilmeleri büyük ölçüde itematik yaklaşıma gerekinim duyarlar. İter ayıal analizler, iter yöneylem araştırmaı adı altında olun uygulanmakta veya geliştirilmekte olan ve matematik model kullanan bütün yöntemler, eaında işletme orunlarının matematik olarak programlanmaı ve çözümünden başka bir şey değildir. İşletme problemlerinin matematik modellerinden yararlanarak çözümü üreci, bulunan onuçların gerçeğe uygunluk derecelerinin araştırılmaı, gerekli kontrollerin yapılmaı ve trateilerin aptanmaı ile tamamlanır. İşte matematik modellerin kuruluşu, çözümü, kontrolü ve uygulamaı trateilerinin aptanmaından oluşan bu üreç matematik programlamayı oluşturmaktadır. Karar Problemi Problem Tanımı Matematikel Modelleme Problem Tanımı Alternatiflerin Araştırılmaı Değerlendirme Seçim Gözlem Model Geliştirme Çözüm Tet Sonuçların Analizi Varayımlar ve ınırların belirlenmei Karar değişkenleri Matematikel ilişkiler Kııtlar En iyi alternatifin eçimi Uygulama Bilimel karar alma üreci modellere dayanır. Karar almada kullanılabilecek çok çeşitli modeller ve teknikler geliştirilmiştir. Bunlar; doğrual programlama, ulaştırma modelleri, Leontief modeli, şebeke analizi, tok modelleri, oyun kuramı, bekleme hattı modelleri, dinamik programlama, tam ayılı programlama, Markov analizi, doğrual olmayan programlama vb.dir.
YÖNEYLEM ARAŞTIRMASI DETERMİNİSTİK MODELLER STOKASTİK MODELLER Doğrual Programlama Markov Zincirleri Tam Sayılı Doğrual Programlama Kuyruk Teorii Doğrual Olmayan Programlama Dinamik Programlama Ulaştırma Problemleri Buluşal Yaklaşımlar Çok Amaçlı Karar Verme. DOĞRUSAL PROGRAMLAMA İşletme problemlerinin, ayıal verilerle en bait şekilde anlatımı doğrual programlama ile olanaklıdır. Günümüzde, işletme, ekonomi ve muhaebe dallarını yakından ilgilendiren konulardan biri olan doğrual programlama, aynı zamanda yöneylem araştırmaı için de en önemli konulardan biridir. Doğrual Programlama, optimizayon problemlerinin çözümünde kullanılan bir yöntemdir. 947 'de, George Dantzig doğrual programlama problemlerinin çözümünde kullanılan etkin bir yol olan Simplek Algoritma ' yı buldu ve bu buluşla birlikte doğrual Programlama, ıklıkla ve hemen her ektörde kullanılmaya başlandı. Doğrual programlama, belli doğrual eşitliklerin veya eşitizliklerin kııtlayıcı koşulları altında doğrual bir amaç fonkiyonunu optimum hale getirmek biçiminde tanımlanabilir. Optimum hale getirmek, belli bir amaca en az marafla ulaşmak ya da belli kaynaklarla en çok ürünü ağlamak anlamına gelir. (Ein,998:4) Doğrual programlama ürecinde, önce gerekli bilgiler toplanır, probleme ait bir model kurulur ve daha onra bu modelin çözümleri bilgiayar detekli yazılım paketleri ile bulunur. Bu çözümlerin gerçek yaşam problemlerine uygulanabilirliği tet edildikten onra yöneticilere unulur.
.. DOĞRUSAL PROGRAMLAMANIN MATEMATİKSEL YAPISI Doğrual programlamanın üç önemli bileşeni vardır: Amaç fonkiyonu, kııtlayıcı fonkiyonlar ve pozitif kııtlama (Bealey, 3). Amaç Fonkiyonu: Doğrual programlama modelinde doğrual biçimde ifade edilen bir amaç fonkiyonu vardır. Amaç fonkiyonu, kâr makimizayonu ya da maliyet minimizayonu şeklinde olur. Amaç fonkiyonu Z, kontrol edilebilir değişkenler (=,,,n) ve abit katayılar (birim başına kâr ya da birim başına maliyet katayıları) c (=,,,n) olmak üzere n c. =,,..., = biçiminde ifade edilebilir. Bu amaç fonkiyonun açık yazılımı ie şöyledir: Z = c + c +... + cnn Kııtlayıcı Fonkiyonlar: İşletmeler, faaliyetlerini bir takım kııtlayıcı koşullar altında ürdürürler. Makinelerin kapaite kullanımları, iş gücü, finanman, zaman ınırlılığı vb. gibi koşullar bu kııtlayıcılara örnek olarak verilebilir. Kııtlayıcılar, teknoloi matrii a i, ihtiyaç vektörü b i olmak üzere tandart makimizayon probleminde; n n = a b, i =,,..., m i i Standart minimizayon probleminde ie; n = a b, i =,,..., m i i Biçiminde ifade edilirler. Standart doğrual programlama problemlerinde ya da yanı ıra = işareti hem makimizayonda hem de minimizayon problemlerinde kullanılabilir. Örneğin makinelerin tam kapaite ile çalışmaları durumunda = lik kullanılır. Standart olmayan doğrual programlama problemlerinde kııtlayıcıların ağındaki işaretler, ya da = işaretleri karışık olarak da kullanılabilmektedir (Hacıalihoğlu, 99:38).
Pozitif Kııtlama: İşletme faaliyetleri koordinat düzleminin birinci bölgeinde meydana gelir. Yani, negatif üretim ya da negatif maliyet olmayacağından karar değişkenleri lerin negatif olmaı düşünülemez. Bu, matematikel olarak, =,,..., n biçiminde ifade edilir. Yukarıdaki açıklamalar doğrultuunda bir doğrual programlama probleminin genel yapıı;. Kâr makimizayonunda; Amaç fonkiyonu; Z = c, =,,,..., n ma n = Kııtlayıcılar; n ai bi, i =,,..., m, =,,..., n = Pozitif kııtlama;.maliyet minimizayonu; Amaç fonkiyonu;, =,,..., n i Z = c, =,,,..., n min n = Kııtlayıcılar; n ai bi, i =,,..., m, =,,..., n =
Pozitif kııtlama; biçiminde verilir., =,,..., n i Yukarıda genel matematikel modeli verilen doğrual programlama modeli daha açık biçimde aşağıdaki gibi yazılabilir. Amaç fonkiyonu; Kııtlayıcılar: Zma = c + c +... + cnn a + a +... + a nn b a + a +... + a n n b......... a a a b m m + m m +... + mn mn m Pozitif Kııtlama:,,, n Kâr makimizayonu olan bu modelde kııtlayıcı eşitizliklerin ağ tarafındaki işareti yerine işareti yazılıra maliyet minimizayonunun matematikel modeli elde edilmiş olur. Bu model, matri göterimi ile de aşağıdaki gibi yazılabilir. a i katayılarından oluşan teknoloik matri; A = + 3 9 a a a a a a a a a n n m m mn
İhtiyaç vektörü; b b B = b n fiyat (ya da maliyet) katayılarından oluşan vektörü de şeklinde verilire, Amaç fonkiyonu; X = n ZM in/ M a = ( cc cn ) n Kııtlayıcılar; a a a a a a a a n n m mn n = b b b n Pozitif kııtlama;, =,,..., n i şeklinde olur.
Doğrual programlama yönteminin kullanılışlığı, bilgiayar yazılımlarındaki gelişmeler ile daha da artmıştır (Taha,:). Doğrual programlama problemlerinin bilgiayar ortamında çözümü için LINDO, QSB, DEAP, TORA gibi çeşitli programlar geliştirilmiştir. Bu programların yanı ıra herkeçe rahatlıkla elde edilebilecek ve kullanımı kolay olan Ecel ile de bu problemleri çözmek olanaklıdır. Window un çok yaygınlaşmış olmaı, ofi uygulama programlarının hemen herkeçe kullanılabilmei, bu problemlerin Ecel de çözümünü önemli kılmaktadır... DOĞRUSAL PROGRAMLAMANIN VARSAYIMLARI Doğrual programlamanın varayımları aşağıdaki gibidir:.belirlilik (Certainty).Doğruallık (Linearity) 3.Bölünebilirlik (Diviibility) 4.Toplanabilirlik (Additivity) 5.Orantıallık (Proportionality). Belirlilik Varayımı: Bir doğrual programlama modelinde yer alan parametrelerin bilindiği ve değişmediği kabul edilir. Yani, birim başına kar ya da maliyetlerin ( c ), her faaliyet için gerekli olan kaynak miktarlarının ( a i) ve mevcut kaynak miktarlarının ( b i ) kein olarak bilindiği varayılır. Bu varayımın kabul edilmeiyle doğrual programlama problemlerinin çözümü kolaylaşmaktadır. Ancak, uygulamada bu parametrelerin ık ık değişme eğiliminde olmaı, doğrual programlamada duyarlılık analizi çalışmalarının yürütülmeini gerektirmektedir. Problemin optimum çözümü elde edildikten onra duyarlılık analizi başlığı altında parametrelerdeki değişmelerin optimal çözüm üzerindeki etkileri incelenebilir.. Bölünebilirlik Varayımı: Bölünebilirlik varayımı ile karar değişkenlerinin optimal çözüm değerlerinin keirli değerler alabileceği kabul edilir. Örneğin herhangi bir doğrual programlama modelinin optimal çözümünde 4.6 adet araba üretileceği gibi bir üretim çıktıı onucuna ulaşılabilir. Keirli optimal çözüm değerleri Tam Sayı Programlama algoritmalarıyla tamayılaştırılır. 3. Doğruallık Varayımı: Bir doğrual programlama modelinin amaç fonkiyonu ve kııt denklemleri doğrual olmalıdır. Bir başka deyişle ler birinci dereceden değişkenler olmalıdır. Bir işletmenin girdiler ile çıktıları araında doğrual bir ilişki olduğu varayılır 4. Toplanabilirlik Varayımı: Herhangi bir değişkenin amaç fonkiyonuna katkıı, diğer karar değişkenlerinin değerlerinden bağımızdır. Örnek olarak Zma = 3 + şeklinde bir amaç fonkiyonu olun. nin değeri ne olura olun, birim ünite üretimiyle amaç fonkiyonuna amaç fonkiyonuna her zaman 3 pb. katkı yapacaktır.
Bir değişkenin her bir kııt denkleminin ol tarafına yaptığı katkı diğer değişkenlerin değerlerinden bağımızdır. + 6 (Kııt ) + 3 9 (Kııt ) şeklinde adet kııt denklemi olun. in değeri ne olura olun birim ünite üretimi birim kaynak ve 3 birim kaynak 3 kullanımı gerektirir. 5.Orantıallık Varayımı: Her bir karar değişkeninin amaç fonkiyonuna ve kııt denklemlerinin ol tarafına yapacağı katkı karar değişkeninin değeri ile orantılıdır. Örnek olarak bir adet A tipi oyuncağın amaç fonkiyonu katkıı.8 TL ie dört adet A tipi oyuncağın amaç fonkiyonuna toplam katkıı bunun dört katı olan 3. TL (4.8) olacaktır. Bir adet A tipi oyuncak platik departmanında 4 dakikada işleniyora, 5 adet A tipi oyuncak bunun beş katı olan dakikada (45=) işlenecektir..3. DOĞRUSAL PROGRAMLAMANIN BAZI UYGULAMA ALANLARI Çok ayıda değişkenli ve kııt denklemli doğrual programlama problemleri bilgiayar programları yardımıyla hızlıca çözümlenebildiği için birçok alanda önemli uygulamalardan öz edilebilir. Doğrual programlamanın bazı uygulama alanları aşağıda verilmiştir:. Üretim planlama ve envanter kontrolü. Ulaştırma ve loitik problemleri 3. Atama problemleri 4. Peronel çizelgeleme 5. Pazarlama Problemleri 6. Sermaye bütçeleme problemleri 7. Portföy eçimi problemleri 8. Yatırım problemleri 9. Karışım problemleri.4. DOĞRUSAL PROGRAMLAMADA ÇÖZÜM KAVRAMLARI Doğrual programlama probleminin çözümünde kullanılan tanımları şöyle ıralanabilir: a) Çözüm Bir doğrual programlama probleminin kııtlayıcı fonkiyonlarının hepini birden ağlayan karar değişkenlerinin (,,..., n ) oluşturduğu kümeye çözüm denir.
b) Uygun Çözüm Doğrual programlama probleminin tüm kııtlarını doyuran çözüm. c) Optimal Çözüm Tüm uygun çözümler araında amaç fonkiyonunu iyi karşılayanı optimal çözümdür. d) Deenere (bozulan) Çözüm Çözümün bir veya birkaç temel değişkeninin değeri ıfıra, bozulan çözüm adı verilir..5. EXCEL VE ÇÖZÜCÜ Ecel, Microoft firmaı tarafından geliştirilmiş bir heap tablou programıdır. Window ve Macintoh ortamları için hazırlanmıştır ve şu anda dünyada en çok kullanılan programlardan biriidir. Ecel mühendilere, mimarlara, muhaebecilere ve bütün meleklerdeki inanların heaplama gerekinimlerini gidermek için kullanılabilir. Bu gerekinimler bait toplama işlemleri olabileceği gibi yükek matematik problemlerinin hızlı bir biçimde çözülmeine ya da mimarlık heaplarının yapılmaı da olabilir. Çözücü, verilen kııtlar altında bir amaç işlevin belirli değişkenler için çözümünü ağlar (Yavuz, 999:54). Çözücü ile n. dereceden bir bilinmeyenli denklem çözülebileceği gibi n bilinmeyenli m adet denklem itemini de çözmek olanaklıdır. Çözücünün Etkinleştirilmei ve Örnek Uygulama Bir doğrual programlama probleminin ya da bir denklem iteminin çözümü için öncelikle Ecel in araçlar menüünde çözücü işlevinin olup olmadığı kontrol edilmelidir. Eğer çözücü yok ie izleyen şekilde görüldüğü gibi Araçlar menüünden Eklentilere gelinerek çözücü eklentii onaylanmalıdır.
Eğer Araçlar menüünde çözücü işlevi var ie doğrual programlama problemlerini ya da denklem itemlerini çözmek olanaklı olacaktır. İzleyen örneklerde bir makimizayon, bir de minimizayon probleminin Ecel de çözüm üreci adım adım açıklanmıştır. Amaç Fonkiyonu : Zma = 5 + 8 Kııtlayıcılar: 4 + 6 4 + 8 3 + 9 36 Pozitif Kııtlama:, Öncelikle Ecel çalışma ayfaındaki A ve B adrelerine X ve X girilmeli ve A ve B adrelerine (ıfır) değeri yazılmalıdır (Şekil.). Sonraki adımda uygun bir hücreye gelinerek (Örnekte D hücrei) bu hücreye amaç fonkiyonu izleyen biçimde yazılır: = 5*A+8*B Amaç fonkiyonundan onra da kııtlayıcılar benzer şekilde yan hücrelere girilir. Örnek uygulama için kııtlayıcı fonkiyonların yazılışı ve hücre adreleri izleyen biçimdeki gibi girilmiştir: E Hücreine =4*A+6*B-4 F Hücreine =*A+B-8 G Hücreine =3*A+9*B-36 H Hücreine =A Bu denklemlerin girilmeinden onra, çözüm öncei hücrelerde oluşan durum izleyen şekildeki gibidir: Bu aşamadan onra aktif hücre olarak amaç fonkiyonun bulunduğu D hücrei eçilmeli ve araçlar menüünden çözücü işlevi çalıştırılmalıdır. Çözümün ve gerekli parametrelerin tanımlanacağı çözücü parametreleri pencerei açılacaktır.
Bu penceredeki Hedef Hücre, amaç fonkiyonun bulunduğu hücredir. Çünkü elde edilen çözüm onucunda en yükek kâr ya da en düşük maliyet (optimum onuç) bu hücrede gerçekleşecektir. Eşittir: parametreinde ie eğer kâr makimizayonu problemi çözüleceke En Büyük, maliyet minimizayonu çözüleceke En Küçük alternatifi onaylanmalıdır. Eğer yalnızca denklem itemi çözüleceke bu durumda Eşittir= parametrei eçilmelidir. Değişen hücreler kımı ie makimizayon ya da minimizayon probleminin çözümü onucunda elde edilecek X ve X değerleridir. Kııtlamalar bölümü ie kııtlayıcı fonkiyonların tanımlandığı bölümdür. Ekle düğmei tıklanarak kııtlayıcı fonkiyonlar ıraıyla eçilmelidir. Benzer şekilde diğer kııtlayıcılarda tek tek girilmelidir. Burada Tamam düğmei onaylanarak ya da tekrar Ekle düğmei eçilerek daha onraki kııtlayıcıların girilmei ağlanabilir. Bütün kııtlayıcıların girilmeiyle elde edilen çözücü parametreleri pencerei elde edilecektir.
Bu aşama ile bütün çözücü parametrelerin girilmei tamamlanmış olur. Çöz düğmeinin tıklanmaı ile doğrual programlama problemi çözülür. Denklemin çözücü işlevi ile çözümünden elde edilen Ecel çalışma ayfaı izleyen biçimdeki gibidir. Çalışma ayfaında da görüldüğü gibi X=, =4 ve amaç fonkiyon Zma=3 olarak bulunmuştur. İzleyen D.P. Probleminde ie minimizayon örneğinin Ecel çözücüü ile çözümü verilmiştir. Amaç Fonkiyonu: Zmin = 4 + 8 + 363 Kııtlayıcılar: Pozitif Kııtlama: 4 + + 3 5 3 6 + + 9 8 3,, 3 Ecel çalışma ayfaındaki A, B ve C adrelerine X,X ve X3 girilmeli ve A, B ve C adrelerine (ıfır) değeri yazılmalıdır. Sonraki adımda uygun bir hücreye gelinerek (Örnekte E hücrei) bu hücreye amaç fonkiyonu izleyen biçimde yazılmalıdır: =4*A+8*B+36*C Amaç fonkiyonundan onra da kııtlayıcılar benzer şekilde yan hücrelere girilmelidir. Kııtlayıcı fonkiyonların yazılışı ve hücre adreleri izleyen biçimdeki gibi girilmiştir:
F Hücreine =4*A+*B+3*C-5 G Hücreine =6*A+B+9*C-8 H Hücreine =A I Hücreine =B J Hücreine =C Bu denklemlerin girilmeinden onra hücrelerde oluşan durum izleyen şekildeki gibidir. Bu aşamadan onra aktif hücre olarak amaç fonkiyonun bulunduğu D hücrei eçilmeli ve araçlar menüünden çözücü işlevi çalıştırılmalıdır. Çözücü parametreleri örnek probleme uygun olarak izleyen biçimde tanımlanmıştır. Bu parametrelerin tanımlanmaından onra Çöz düğmei tıklanır ve optimum çözüm elde edilmiş olur. Çöz düğmeinin tıklanmaından onra elde edilen Ecel çalışma ayfaı izleyen biçimde elde edilmiştir Çalışma ayfaında da görüldüğü gibi X=,66667, =, 3=, ve amaç fonkiyonu Zmin=3 olarak bulunmuştur.
.6. SİMPLEKS YÖNTEMİ Simplek yöntemi, amaç fonkiyonunu en büyük (makimum) veya en küçük (minimum) yapacak en iyi çözüme adım adım yaklaşan bir (heaplama yöntemi) algoritmadır. Bu nedenle, problemin çözümüne bir uç noktaından başlayarak optimum noktaya daha yakın bir ikinciine, oradan bir üçüncüüne atlayarak en iyi çözümü veren kenar noktaına ulaşmamızı ağlar. Simplek yöntemi ilk kez 947 yılında G.B.Dantzig tarafından kullanılmıştır. Uygulamada problemin değişkenleri çok fazla olduğunda doğrual programlama problemlerinin çözümü implek yöntemi ile ağlanır. Simplek yöntemi cebirel tekrarlama işlemine dayanır. Yöntemde önce başlangıç implek tablou düzenlenir. Sonra tekrarlayıcı işlemler ile belirli bir heap yöntemi içinde gelişen çözümlere doğru ilerleyerek optimal çözüme ulaşıncaya kadar işlemler ürdürülür. Gelişen çözüm tablolarında amaç fonkiyonunun ve karar değişkenlerinin değişen değerleri gözlenebilir. Simplek yöntemine başlamadan önce problemlerin doğru biçimde ifade edilmei gerekir. Doğrual Programlama Makimizayon Problemlerini Çözmek için Gerekli Aşamalar. Doğrual programlama modeli kurulur.. Model tandart formda yazılır. Doğrual programlama problemlerinin tandart formda olmaı için bütün kııtlar eşitlik, bütün değişkenler pozitif olmalıdır. Eğer i. kııtın tipi küçük eşit ( ) şeklindeye i gölge değişkeni eklenerek eşitlik elde edilir. Gölge değişken i. kııt tarafından kullanılmayan kaynak miktarıdır. Eğer i. kııtın tipi büyük eşit ( ) şeklindeye ei atıl değişkeni eklenerek eşitlik elde edilir. Atıl değişken, i. kııtın aşım miktarıdır. 3. Başlangıç implek tablo oluşturulur. Z ve c Z değerleri heaplanır. 4. Optimal çözüm elde edilene kadar aşağıdaki aşamalar tekrarlanır. a) Çözüme okmak için en yükek pozitif değere ahip c Z ütunu eçilir (Pivot Sütun). b) Çözümden çıkacak değişken ağ taraf oran teti ile belirlenir (Pivot atır). c) Pivot atır için yeni değerler heaplanır. d) Elde edilen tablo için Z ve c Z değerleri bulunur. Eğer ıfırdan büyük bir c Z değeri elde edilire.aşamaya dönülür. Aki durumda optimal çözüme ulaşılmıştır.
Örnek Bir mobilya firmaı ıra, maa ve andalye üretimi yapmaktadır. Her bir mobilyanın üretimi için tahta yanııra boya ve marangozluk atölyelerinin aşağıdaki tabloda verilen ürelerde kullanılmaı gerekmektedir. Kaynak Sıra Maa Sandalye Tahta( m ) 8 6 Boya Atölyei (aat) 4.5 Marangozluk At.(a.).5.5 Firmanın elinde 48 mtahta, aat boya ve 8 aat marangozluk atölyei işgücü vardır. Bir ıranın atış fiyatı 6 TL, bir maanın atış fiyatı 3 TL ve bir andalyenin atış fiyatı TL dir. Sıra ve andalyeler için talep ınırız olmaına rağmen, en fazla 5 adet maa atılabilmektedir. Bu mobilya firmaı mevcut kaynakları kullanarak kaçar adet mobilya üretmelidir? Firmanın elde edebileceği makimum kazanç nedir? Doğrual Programlama Modelinin Kurulmaı Karar Değişkenleri = Üretilen ıra miktarı = Üretilen maa miktarı = Üretilen andalye miktarı 3 Amaç Fonkiyonu Toplam gelirin makimizayonu Z ma = 6 +3 + 3 Model Z ma = 6 +3 + 3 8 + 6 + 3 48 (Tahta kııtı) 4 + +.53 (Boya kııtı) +.5 +.5 8 (Marangozluk kııtı) 3
5 (Talep kııtı),, (Pozitiflik Kııtı) 3 Problemin tandart formu aşağıdaki gibidir: Z = 6 + 3 + + + + + ma 3 3 4 8 + 6 + + = 48 3 4 + +.5 + = 3 +.5 +.5 + = 8 3 3 + = 5 4,,,,,, 3 3 4 c () 6 3 3 3 4 Temel ÇS Değişkenler 8 6 48 c 4.5 3.5.5 8 4 5 z z 6 3 Pivot Sütun Pivot ayı: Pivot ütun ve atırın keişimindeki ayıya pivot ayı denir. Pivot atırdaki her ayının yeni değeri, ayının pivot ayıya bölünmei ile elde edilir. /.5/.75.5/.5 / / /.5 / 8/ 4 Diğer atırlardaki ayılar aşağıdaki formüle göre elde edilir:
Yeni değer = Eki Değer- [(pivot ayının ütündeki veya altındaki ayı) (yeni pivot atırda karşılık gelen değer)] Eki atırı (8*yeni temel değişken atırı) 8 6 48.75.5.5 4 Yeni atırı - -4 6 Eki atırı (4*yeni temel değişken atırı) 4.5.75.5.5 4 Yeni atırı -.5-4 Eki 4 atırı (yeni temel değişken atırı) 5.75.5.5 4 Yeni 4 atırı 5 6 c 6 c 3 3 - -4 6 -.5-4.75.5.5 4 4 5 z 6 45 5 3 4 z -5 5-3 3 4
Optimal Tablo 6 c 6 c 3 3 - -8 4 3 - -4 8.5 -.5.5 4 5 z 6 35 8 z -5 - - 3 4