Stok Kontrol Modeli
Merhabalar.
Bitirme tezimin konusu ve üretim planlamanın başlıca konularından biri olan stok yönetimi ile ilgili bir model kurmak istedim.
Yeniden sipariş noktası, stok seviyesi, parti büyüklüğü derken genel anlamıyla stok kontrolünün simülasyonda nasıl gerçekleştiğine bakacağız.
İşletme müşteri taleplerini karşılayabilmek ve stok seviyesini belli bir seviyede düzenli tutmak istemektedir. Öncelikle 2 farklı model kurmalıyız. Biri sisteme parça girişini temsil etmek için diğeri ise gelen müşteri taleplerini temsil etmek içindir. Elimizdeki veriler şu şekildedir;
İşletmede bulunan stok miktarı 100 br, yeniden üretim noktası 125 br, parti büyüklüğü 5 br ve stok seviyesi 400 br dir. İşlenecek hammaddeler sisteme rassal olarak gelmektedir.
Üretim işlemi UNIF (3,6) dk ve bloklar üzerinde hammadde modelini nasıl kurduğumu anlatacağım.
Parça gelişleri rassal olduğu için create bloğu içerisinde değişiklik yapmadan sadece isim veriyoruz. Amacımız sadece parça gelişini sağlamaktır.
Hold modülünü stokta parça tutmak için kullanıyoruz. Type’ını Scan for Condition seçiyoruz. Üretim adında bir değişken tanımlıyoruz. İki durum olduğu için yani üretme ve üretmeme durumları için 0 ve 1 olarak iki durumumuz mevcut. Üretimin olduğu veya başlanacağı zamanda 1 ve üretim durduğunda 0 seçiyoruz.
Process bloğunda Delay Type’ı expression yazmak için seçiyoruz. Partide kaç adet parça varsa üretim işlemi o kadar süre alacağı için birim üretim süresi ile parti büyüklüğünün çarpım ifadesini yazıyoruz.
Assign bloğunda ise elimizde bulunan stok miktarını güncellemek için değişken tanımlamalıyız. Bu nedenle bulunan stok miktarı üzerine ürettiğimiz parti büyüklüğünü de eklemeliyiz.
Decide bloğunda stok seviyesi ile ilgili bir karar vermemiz gerekiyor. Üretim işleminden sonra elimizdeki stok, stok seviyesini geçiyorsa üretimi durdurmalıyız. Diğer durumda stok seviyesinden düşükse üretime devam etmeliyiz. Üretim yapabilmek için false kısmını process bloğuna bağlıyoruz.
Assign bloğunda üretimi durdurmak için değişken değerini 0 seçiyoruz. Ve üretim olmadığı için hold bloğuna bağlıyoruz. Hammadde veya parçaların sisteme gelişini sağladık.
Şimdi müşteriler için ayrı bir model kurmalıyız. Create bloğunda müşterilerin gelişini belirttik.
Assign bloğunda ise gelen müşteri talebini değişken olarak değil nitelik olarak tanımladım ve değerini yazdım. Toplam müşteri sayısı değişkenlik göstereceği için değişken olarak ve sürekli artan durumda olduğunu belirttim.
Decide bloğunda talep stoktan fazla ise müşteri talebine yanıt veremiyoruz ve müşteriyi kaybediyoruz. Eğer talep stoktan düşük ise talebi elimizdeki stoktan karşılıyoruz.
Stoktan talep karşılamak için bir değişken seçtik ve talep miktarını stoktan çıkarttım. Kayıp müşteri sayısı artan olduğu için bir değişken yazdım. Karşılanmayan talebi belirtmek için nitelik tanımladım ve talepten stok değerini çıkarttım. Stok değerini 0 seçtim. Çünkü talebi karşılamadığı ve elde stok kalmadığı için.
Son decide bloğunda stok seviyesini sağlamak için yeniden sipariş noktasına geldiğimizde üretim yapmalı mıyız? sorusunu yanıtlamak için expression belirttim. Stok seviyesi yeniden üretim noktasından düşükse üretime başla seçeneğini belirttim.
Son olarak record bloğu ile karşılanamayan talepleri saymak için expression kullanarak belirttim.
Bütün kullanılan değişkenlerin yer aldığı Variables kısmı şu şekilde oluştu.
İçerisinde değer bulunduran değişkenler bizim tanımladığımız ve değerini bildiğimiz değişkenlerdir. Diğerleri ise model çalıştığında elde edilen değerlerdir.
Sonuç olarak kaybedilen müşteri talebi ortalaması 29 birim olarak bulunmuştur.
Umarım faydalı olmuştur. Diğer örnekte görüşmek üzere 🙂
View Comments (2)
merhaba,
üretime basla assign modülünün içindeki veriler nelerdir paylaşabilir misiniz
Merhaba,
Type: Variable
Variable name: uretim
New value: 1
İyi çalışmalar :)