İSTATİSTİKSEL STOK KONTROLDE
BİLGİSAYAR MODELLEMESİ ÜZERİNE BİR ARAŞTIRMA
Ahmet
KAYA(*) Fikret
İKİZ(**)
Bu çalışmada istatistiksel stok kontrol problemlerinin simülasyon yaklaşımı kullanılarak çözümü üzerinde durulmaktadır. Karmaşık ve zaman alan işlemlerde bilgisayar modellemesi ve simülasyon uygulama araçları tanıtılmış, ayrıca simülasyon dilleri ile genel amaçlı dillerin bir karşılaştırması yapılmıştır.
1.GİRİŞ
Yöneylem araştırması kapsamı içinde incelenen stokastik karar verme yöntemleri içinde, bazı yayınlarda stok kontrol (Cohen, 1985) bazılarında ise envanter kontrol (Hillier ve Lieberman, 1990) olarak isimlendirilen yöntemlerin önemli bir yeri vardır. Bilindiği gibi bu yöntemlerin temel işlevi, işletme faaliyetlerinde konu edilen mal (hammadde, yarı mamül ve mamül maddeler) ve hizmetlerin en ekonomik bir şekilde hangi miktarlarda ne zaman edinilmesi gerektiği sorununa; daha açık bir ifade ile üretim (veya ısmarlama) maliyeti ile depolama maliyeti bakımından en ekonomik miktarın bulunmasına sayısal çözümler üretmektir. Sayısal çözümlemelerde üzerinde durulması gereken en önemli etken şüphesiz söz konusu mal ve hizmete zaman içinde oluşan talep miktarıdır. En basitinden en karmaşığına doğru talep miktarı için karşılaşılabilecek durumlar başlıca üç başlık altında incelenebilir :
·
Deterministik talep : Bu durumda birim zamanda meydana
gelen talep sabittir.
·
Stokastik talep : Burada birim zaman içinde mal ve
hizmete duyulan talep miktarı bilinen bazı olasılık modellerine göre değişiklik
gösterir.
·
Genel talep : Burada ise talep miktarı için bilinen
bir olasılık dağılışı aracılığı ile yaklaşım yapılamaz.
* Y.Doç.
Dr. Ege Üniversitesi, Tire Kutsan Meslek Yüksekokulu, Tire-İzmir.
** Prof.
Dr. Ege Üniversitesi, Mühendislik Fakültesi, Bilgisayar Bölümü, Bornova-İzmir
Deterministik
talep durumunda stok kontrol probleminin çözümü için çok iyi bilinen ekonomik
ısmarlama (üretim) seviyesi (Economic Order Quantity = EOQ) formülü ile kesin analitik çözümlemeye
ulaşılmakta beraber, stokastik talep durumunda olasılık modelinin en yaygın kullanılan poisson modelinin
geçerliliği oranında analitik sonuçlara ulaşmak mümkündür. Ancak talep için
belirli bir varsayımın yapılamadığı, fakat genelleme olanağı olduğu düşünülen
bir dönemde elde edilen gözlemlerle genel frekans dağılışının bulunduğu
durumlar için simülasyonla bilgisayarda modelleme yöntemine başvurma
zorunluluğu vardır (Cohen, 1985). Bu
zorunluluk dikkate alınarak yapılan bu çalışmada öncelikle stok kontrolde,
genelde talep durumunda bilgisayar modelleme yöntemi için üzerinde durulan
değişkenler ile uzun dönemde belirlenen toplam maliyeti en aza indirgemeye
yönelik simülasyon tekniğinden söz edilecektir. Daha sonra bu tip problemlere
yaklaşımda genel olarak bilgisayar yazılımlarının rolü tartışılacak ve bu arada
en yaygın simülasyon yazılımlarının özellikleri üzerinde durulacaktır.
2. STOK KONTROLDE BİLGİSAYAR MODELLEMESİ
Talep
miktarının belirli bir olasılık dağılışı ile açıklanabildiği stokastik model
ile genel talep modelinin söz konusu olduğu durumlarda kullanılan en yaygın
stok kontrol sistemi kaynaklarda Re-Order Level (ROL) Yeniden Üretim Seviyesi
veya Yeniden Ismarlama Seviyesi Olarak tanımlanan sistemdir. (Cohen, 1985). Bu sistem endüstride
iki bidon (two-bin) sistemi olarak bilinen sistemdir. Burada mevcut mal
iki bidonda depolanmış olarak kabul edilir ve ana bidondaki mal birinci
ısmarlama veya üretim gerçekleştirilir. Ismarlamanın veya üretimin ana bidona
getirilene kadar geçen dönemde küçük bidondaki miktarın olası talepleri karşılayacağı varsayılır ki
bu miktar yukarıda sözü edilen ROL ‘dür.
ROL
sistemine göre yapılacak modellemede, değişik ROL değerleri için birim
zamandaki stok hareketleri incelenerek beklenen stok yönetim maliyetinin (üretim+depolama) sınama-yanılma yöntemi ile
hesaplanması ve bu maliyetin en küçük bulunduğu ROL değerinin sistem için en
uygun stok kontrol sistemi olduğuna karar verilmesi gerekir. İşte bu sınama
yanılma zorunluluğu modellemenin bilgisayar desteğinde yürütülmesini
gerektirir.
Stok
kontrol amacı ile modellemede kurgulanacak simülasyon senaryosunda üzerinde
durulacak değişkenler ve bu değişkenler için yapılacak işlemler aşağıda kısaca
özetlenmiştir :
Değişken 1
: Dönem başı stok seviyesi : Bu seviye bir zaman dilimi öncesinden kalan stok
seviyesi ile eğer yapılmışsa üzerinde durulan zaman diliminde yapılan üretim
miktarının toplamıdır. Senaryo başlangıcı için herhangi bir değer atanabilir.
Çünkü bu değer simülasyonun uzun dönem davranışını etkilemez.
Değişken 2
: Dönem İçinde Oluşacak Talep : Bu miktar varsa ilgili teorik
olasılık dağılışından veya yoksa uzun dönemde talep için yapılan frekans dağılışından rasgele seçilir.
Değişken 3
: Dönem Sonu Stok Seviyesi : Bu seviye 1 no’lu değişken ile 2 no’lu değişkenin
farkıdır. Negatif farklar sıfır kabul edilir.
Değişken 4
: Depolama Masrafı : 3 no’lu değişkenin değerinin ROL değerinin üzerinde olması halinde bu
miktar depolanmalıdır. Depolama masrafı ise bu miktar ile birim malın birim
zaman depolama masrafı ile çarpılması suretiyle bulunur.
Değişken 5
: Üretim (veya ısmarlama) Maliyeti : 3 no’lu değişkenin değerinin ROL
altında olması halinde üretim veya ısmarlama gerçekleştirilir. Bu üretimin veya
ısmarlamanın maliyeti doğrudan üzerinde çalışılan zaman dilimine eklenir.
Üretimin veya ısmarlamanın söz konusu olmadığı durumlarda bu masrafın değeri
sıfırdır.
Simülasyon
senaryosunun belirli bir zaman dilimi için toplam maliyet 4
no’lu değişken değeri ile 5 no’lu değişken değerinin toplamı olarak
hesaplanır. Bu işlem çok sayıda zaman dilimi için tekrarlanır.
Simülasyon
senaryosunun uygulanmasında dönem içi talep miktarı için belirli bir olasılık
dağılışından veya gözlemler sonucu oluşturulan frekans dağılışından rasgele bir
sayı seçme zorunluluğu vardır. bu durum şans sayısı türetimini (Random Number
Generation) gerektirir ki bu işlem en etkin bir şekilde bilgisayarlarla
gerçekleştirilebilir.
Senaryo
sonunda her bir ROL değeri için belirli bir zaman dilimine düşen toplam
maliyetler hesaplanır. En düşük toplam maliyeti veren ROL değeri üzerinde
çalışılan sistem için en uygun değer olarak kabul edilir.
3. SİMÜLASYON
UYGULAMA ARAÇLARI
Genel olarak
sistem modellemesi yapıldıktan sonra senaryonun bir bilgisayar sistemine
aktarılması zorunluluğu vardır. Bu zorunluluk bilgisayarların işlem hızı ve
veri depolama kapasitesi bakımından sahip oldukları donanım özelliklerinden ve
bu donanım üzerinde çalışan simülasyon
yazılımlarının ve genel amaçlı programlama dillerinin yaygınlığından
kaynaklanmaktadır. Sözü edilen bu olanaklar sayesinde bilgi teknolojisi sadece
stok kontrol gibi yöneylem araştırması problemleri için değil gerçek hayatta
uygulanmayacak fiziksel sistemlerin benzetimi (uçak simülatörleri, mimari
simülatörler vs.) için de yoğun bir şekilde kullanılmaktadır.
Stok
kontrol ve kaynak sistemleri modellemesi gibi simülasyon tekniği bakımından
kesikli konum simülasyonu kapsamında incelenen modelleme çalışmalarının
bilgisayarda programlanmasında dikkati çeken temel özellikler Law ve Kelton
(1991) tarafından;
·
0 ile 1 arasında uniform U(0,1) dağılışından şans
sayısı türetimi,
·
Bilinen bir olasılık dağılışından şans değerlerinin
türetimi,
·
Simülasyon saatinin çalıştırılması,
·
Uygun simülasyon bloklarına geçişte kontrol sisteminin
kurulması,
·
Simülasyon listesine kayıt ekleme, kayıt çıkarma
olanakları,
·
Uygun veri analiz yöntemlerinin kullanımı,
·
Sonuçların yazdırılması,
·
Hataların izlenmesi,
şeklinde
belirtilmektedir.
Bunlar ve kısmen ileride belirtilecek özellikler simülasyonda özel amaçlı simülasyon dillerinin kullanımını zorlamaktadır. Bu diller daha sonra simülasyon tekniklerinin kullanım alanının genişlemesine yol açmıştır. Ancak buna rağmen özel amaçlı simülasyon dilleri ile genel amaçlı programlama dillerinin arasında simülasyon senaryolarının bilgisayarda programlanması açısından uzun zamandan beri avantaj ve dezavantaj tartışmaları süregelmektedir.
3.1 Simülasyon Dilleri ile Genel Amaçlı Dillerin
Karşılaştırılması
·
Bir simülasyon senaryosunu modelleyen bir analistin
vermesi gereken en önemli kararlardan biri hangi dili seçeceğidir. Bu seçim
simülasyon projesinin başarısını ve zamanlamasını önemli düzeyde etkileyebilir.
Aşağıda simülasyon dillerinin C, C+, C++
veya pascal gibi genel amaçlı dillere
göre avantajları ve dezavantajları verilmiştir. (Law ve Kelton, 1991).
·
Simülasyon dilleri belirli bir simülasyon modelinin
programlanmasından istenen özelliklerin çoğunu sağlar ve bu durum programlama
zamanının azaltılmasında yararlı olabilir.
·
Temel blokların oluşturulması programlama dillerine
göre daha kolaydır.
·
Simülasyon dillerinin kullanımı simülasyon modelinin
üzerinde kolayca değişiklikler yapılmasını sağlar.
·
Çoğu simülasyon dilleri işlem esnasında dinamik bellek
ayrımını sağlar.
·
Daha az sayıda program satırı olduğu için hata
ayıklaması daha kolaydır. (Yani versiyonlardaki hataların izlenmesi
kullanıcılar için daha zor olabilir).
·
Diğer yandan çoğu simülasyon modelleri (Özellikle
güvenlik ve savaş endüstrisine yatkın olanlar) hala genel amaçlı programlama
dilleri ile oluşturulmaktadır. Bunun nedeni genel amaçlı programlama dillerinin avantajları olarak; çoğu uygulamalar genel amaçlı programlama
dillerine, simülasyon dillerine göre daha yatkındırlar.
·
Genel amaçlı programlama dili ile yazılan bir program
etkin bir şekilde oluşturulduğu zaman simülasyon dili ile yazılana oranla daha
kısa zamanda çözümleme aşamasına ulaşabilir.
·
Genel amaçlı programlama dilleri daha esnek bir yapıya
sahiptir.
·
Genel amaçlı programlama dilleri simülasyon projesinin
yazılım giderlerinin daha az olmasına yol açabilir.
Yukarıda sözü edilen simülasyon dillerinin
avantaj ve dezavantajları bir arada dikkate alındığında, iyi bir simülasyon
yazılımından beklenen özelliklerin kritik bir şekilde irdelenmesi gerektiği
ortaya çıkmaktadır.
3.2 Simülasyon Yazılımından Beklenen Özellikler
Genel olarak kesikli konum süreçleri
için yapılan simülasyonlarda dikkat edilmesi gereken hususlar yukarıda incelenmişti.
Bu temel özelliklere ek olarak, Low ve
Haider (1989) tarafından yapılan önerileri de dikkate almak suretiyle ideal
bir simülasyon bilgi işlem paketinden beklenen özellikleri aşağıdaki şekilde
sıralamak mümkündür.
Genel Özellikler :
·
Modelleme esnekliği (bir modelin değişik
parametrelerle yenilenebilmesi),
·
Yeni model geliştirebilme kolaylığı,
·
Hızlı model işleme olanağı,
·
Maksimum model büyüklüğü,
·
Değişik donanım olanakları üzerinde çalışabilme
özelliği.
Animasyon Özelliği :
Animasyon, simülasyonun
anahtar elemanlarının kullanıcı bir tarafından kolayca izlenmesinde yardımcı
olur. Animasyondan beklenen diğer yararlar :
·
Simülasyon programının hatalardan arındırılmasında,
·
Modelin geçerliliğini veya olumsuzluğunu göstermede,
·
Sisteme bir kontrol mantığının yüklenmesinde,
·
Sistemin dinamik akışının anlaşılmasını sağlamada,
·
Kullanıcıların eğitilmesinde ortaya çıkabilir.
İstatistiksel olanaklar :
Gerçek
hayat problemlerinin çoğunda bir tür şans faktörü rol oynadığı için simülasyon
modellemesinde çoğu standart olasılık dağılışlarının kullanımı mümkün
olabilmelidir. (Poisson, exponential, gamma, vs.) Buna ek olarak gözlemler
sonunda elde edilen frekans dağılışları
da kullanılabilmelidir.
Kullanıcı Desteği :
Burada sözü
edilen özellik sadece simülasyon yazılımlarına, o yazılımı gerçekleştiren
kurumun, kullanıcıya vermesi gereken destek için değil, tüm yazılımlar için
önemle üzerinde durulması gereken bir özelliktir. Bu cümleden olmak üzere :
- Yazılım tanıtım seminerleri,
- Periyodik teknik destek verilmesi,
- İyi bir belgeleme,
- Ücretsiz yazılım denemeleri ve
demo diskleri, iyi bir destek için konu edilebilecek özelliklerdir.
Raporlama :
İyi bir
simülasyon yazılımı, üzerinde çalıştığı sistemin performansını yansıtan temel
istatistikleri zorunlu olarak vermenin yanı sıra, bu tür sonuçları, grafikler
ve hatta animasyonlarla destekleyebilmelidir.
3.3 En Yaygın Simülasyon Dilleri
Genel olarak stok kontrol ve kuyruk
sistemleri gibi yöneylem araştırması problemlerinde kullanılabilen ve ticari
olarak pazarlanmış başlıca simülasyon dilleri arasında :
GPPS
(General Purpose System Simulation) (Gordon,
1961). Daha çok kuyruk modelleri için geliştirilmişledir. IBM’in bilgisayar
endüstrisindeki güçlü etkisi nedeniyle uzun yıllar eğitimde kullanılmıştır.
Sonraları yerini GPPS/H (1977) ve GPPS/PC (1988)’e bırakmıştır.
·
SIMAN (SIMulation Analysis)
·
SIMSCRIPT
·
SLAM (Simulation Language for Alternative Modelling)
·
INSIGHT
·
MODSIM
·
SIM ++
gibi diller
sayılabilir.
Bunlara ek olarak
üretim sistemlerinin simülasyonu için,
·
AutoMod
·
ProModel
·
SIMFACTORY
·
WITNESS
·
XCELL +
isimli
dillerin yanısıra network uygulamaları için geliştirilmiş
·
NETWORK ve
·
COMNET
isimli
yazılımlardan söz edilebilir.
4. SONUÇ VE ÖNERİLER
Yapılan açıklamalardan kolayca
görüleceği gibi gerçek hayat problemlerinin çoğunda, simülasyon modelleme,
sistemlerinin tanınmasında kullanılan en önemli çözümleme yöntemlerinden
biridir. Özellikle fiziksel olarak gerçekleştirilmesi mümkün olmayan
sistemlerde bu yöntemlerin kullanımı kaçınılmaz olmaktadır. 3.3 bölümünde sözü
edilen simülasyon yazılımlarının ve onların sürekli geliştirilen yeni
versiyonların bu yaygın kullanımda etkin olduğu yadsınamaz. Bu etkin simülasyon
dillerinin genel amaçlı programlama dillerine üstünlük sağlamasına neden
olmakla birlikte 1. ve 2. bölümlerde açıklanan ve özel talep dağılışına sahip
stok kontrol ve benzeri modellerin çözümünde genel amaçlı dillerin de özel bir
yeri olduğu unutulmamalıdır.
Simülasyon
dillerinin avantaj ve dezavantajlarının tartışılmasında çıkan en önemli sonuç,
simülasyon senaryolarının çözümünde bu dillerin genel amaçlı programlama
dilleri ile desteklenmesinin ve böylece uygulama alanına göre kullanıcıların
kendi yaratıcılık yeteneklerinin kullanılmasına olanak verilmesinin yerinde
olacağıdır.
Simülasyon
dillerinin yeni versiyonlarının bu özelliği taşıyacak şekilde oluşturulması
beklenmektedir.
1.
Cohen,
S.S. (1985) : Operational Research. Edward Arnold,
London.
2.
Hillier F.S
ve Lieberman, G.J. (1990) : Introduction
to operations Research Mc Graw Hill Inc. 5. Ed. New York.
3.
Law, A.M.
ve Kelton, W.D (1991) : Simulation, Modelling and Analysis, Mc Graw-Hill,
INC. N.Y.
4.
Law, A.M ve
Haider, S.W. (1989) : Selecting Simulation Software for Manufacturing Applications.
Ind. Eng., 31. 33-46.