Difference between revisions of "B'log"


(Simülasyon Örneği - Gofret Makinesi)
Line 423: Line 423:
  
 
Simülasyonun Excel dosyasına da göz atmanızı öneririm.
 
Simülasyonun Excel dosyasına da göz atmanızı öneririm.
 +
 +
<hr>
 +
 +
==Simülasyon Örneği - Golf Topları==
 +
Problem: Golf topları satan bir spor mağazası haftalık talepler (kutu olarak) ve bu taleplere ait olasılık dağılımını aşağıdaki şekilde oluşturmuştur. Mağazanın kutu başına 5 TL’lik kar elde ettiğini varsayalım. Bizden istenen, 200 adımlık simülasyon yaparak haftalık ortalama kar miktarı ile teorik kar miktarını karşılaştırmaktır.
 +
 +
Analitik Model: Bu probleme ait analitik model sonucu haftalık 35.6 kutuluk talep ve bu talebe karşılık gelen 178 TL kardır.
 +
 +
Simülasyon Modeli: Simülasyon modeli sonuçları aşağıdaki tablolarda görünmektedir. Simülasyon modeli ile analitik model sonuçları arasındaki benzerlik beklenen bir sonuçtur.
 +
 +
Şekil 1: Rassal Sayı Haritası
 +
 +
Şekil 2: Simülasyon
 +
 +
Şekil 3: Sonuçların Karşılaştırılması
 +
 +
Simülasyonu ayrıntılı incelemek için Excel dosyasına bakınız.
  
 
<hr>
 
<hr>

Revision as of 02:35, 17 February 2019

B'log.jpg

Graphic from internet, Anonymous.

Feb 17 2019: Must Read Books

  • This is Biology: The Science of the Living World, Ernst Mayr, 1998.
  • The Elegant Universe: Superstrings, Hidden Dimensions, and the Quest for the Ultimate Theory, Brian Greene, 2003.

Jun 26 2015: Weasel Program

Weasel program is a good point to start thinking about behavioural evolution of manufacturing companies. Let say, -hypothetically- we have a company which is producing some products with a set of tools (i.e. best practices). This toolset includes limited number of tools (say genomes) and called genetic combination. Accordingly, this company is being exist in a limited business environment. The business environment has a limited set of environmental factors (e.g. common industrial best practices' requirements), called environmental set. In each step, the company evolves and try to adapt to the environment. As a beginning, we can imagine that the environment can be in one of two different state in the proposed model of simulation: (1) Environmental set is not changing, it is in a steady state; (2) Environmental set is changing randomly in each step, it is in a transient period. I am going to call these two situations as scenarios.

Learn more

Jun 25 2015: Meeting or Not Meeting

I have joined a faculty meeting yesterday and had a chance to see that "I shouldn't be a wise man", again. Selfnote: Next time, if you need to say something, try to do that: "just shut the fuck up".

Oct 17 2014: Chapters from 'On the Origin of Species'

Chapter IV Natural Selection - its power compared with man's selection - its power on characters of trifling importance - its power at all ages and on both sexes - Sexual Selection - On the generality of intercrosses between individuals of the same species - Circumstances favourable and unfavourable to Natural Selection, namely, intercrossing, isolation, number of individuals - Slow action - Extinction caused by Natural Selection - Divergence of Character, related to the diversity of inhabitants of any small area, and to naturalisation - Action of Natural Selection, through Divergence of Character and Extinction, on the descendants from a common parent - Explains the Grouping of all organic beings.

Sep 26 2014: XML day

Today is a XML day for me. I am trying to parse a CSV file to a meaningful XML file to produce represent it on SCOM architecture. I wrote a Python code for parsing a basic SCOM CVS file to a fundamental SCOM XML file like that:

Python code:

scom.csv file:

and the output is scom.xml file:

Sep 22 2014: Time and galaxies

Today's big news is coming from a Nature article by R. Brent Tully, Hélène Courtois, Yehuda Hoffman & Daniel Pomarède: The Laniakea supercluster of galaxies.

The supercluster of galaxies that includes the Milky Way is 100 times bigger in volume and mass than previously thought, a team of astronomers says. They have mapped the enormous region and given it the name Laniakea — Hawaiian for 'immeasurable heaven'. Galaxies tend to huddle in groups called clusters; regions where these clusters are densely packed are known as superclusters. But the definition of these massive cosmic structures is vague.

The new study, published in Nature[1], describes a novel way to define where one supercluster ends and another begins. A team led by Brent Tully, an astronomer at the University of Hawaii in Honolulu, charted the motions of galaxies to infer the gravitational landscape of the local Universe, and redraw its map.

{{#widget:YouTube|id=rENyyRwxpHo|width=560px|height=315px}}

Sep 7 2014: 'Gist'ing day

Today is a Gist day for me. I was trying to embed my GitHub Gists in this website, and I did it. How?

At first, I must to say that this website is working on the Mediawiki platform. I am using an extension to embed Gists into my website (eg. Supply_Chain_Markup_Language_(SCML)) named GistHub, created by Adam Meyer and Jan Musinsky. And the second there are two Chrome extensions (by https://app.gistboxapp.com) to manage my gists. I am happy to be able to integrate these two. Yay! Today is the Gist'ing Day.

Here the code:

1 def quickSort(arr):
2 	less = []
3 	pivotList = []
4 	more = []
5 	if len(arr) <= 1:
6 		return arr
7 	else:
8 		pass

And here the example: Best.

~ ilter


Sep 7 2014: Periodic table and currency

Last week, Dr. Kiyanda (my roommate at ENCS Concordia University) and me, we were talking about metals as currency materials. After checking couple of websites, as some people mentioned it before on TV, we noticed that there are only three metals on the periodic table (Gold, Silver and Copper) which are eligible for processing and making metal currency.

Our criteria about the metal currency was, it (1) could be processed by middle age technologies, (2) not so rare and not so common in nature, (3) doesn't oxidized suddenly like Aluminum. Except these three, some metals could be find commonly in nature like Iron or so rare like Platinum, some others absolutely have been dangerous to touch or carry like Zinc, some of them were impossible to extract and process in those days like Titanium.

After checking some properties of possible metals, we could understand the metal currency idea. It was a nice morning conversation.

Maybe you want to check them on the periodic table yourself via http://www.ptable.com/ or read some history on wikipedia:History_of_money.

Best.

~ ilter


Sep 5 2014: Human evolution

Be aware yourself. Didn't you read the J. Pickrell's article yet? It was published on NewScientist's website in 2006.

Human Evolution

~ ilter


Sep 5 2014: Website update

I have rearranged Research section of my website for the extensions of SCOM. There is a BIPOLAR Hub right now. I have collected all stuff related to SCOM and put in this hub thingy.

Content of the hub is planned as (tentative):

  • Ontological Supply Chain Management (SCOM)
  • Supply Chain Markup Language (SCML)
  • SCOM Examples
  • SCOM Links
  • SCOM Templates
  • SCOM Terms

BIPOLAR Hub

~ ilter


Sep 2 2014: XML base for SCOM

Let me marking today is a beginning day to construct a XML base for SCOM.

1   <scom>
2     <name>Example model</name>
3     <type>Basic</type>
4   </scom>

:) Funny, isn't it?

~ ilter


Aug 25 2014: Welcome to SCOM

I am currently working on a project, SCOM - Ontological Supply Chain Management Model, which aims to create a dynamic model for tracking and tracing product/service, members, flow and operations of a supply chain with an upper ontology.

It will hopefully let us to track any product/service and to trace its all physical, social or mental components (raw materials, parts, know-how, patents, managerial strategy etc.) efficiently.

We may use outputs of this project in the future to track or trace almost all properties in a not-usual supply chain and operations management, such as interstellar supply chains (eg. raw materials from the planet Mars), health-related supply chains (eg. blood products), food management (eg. genetic structures of agricultural products), environmental issues of production systems (eg. nuclear power usage in a production process) and protection of art and artistic materials (eg. tracing an artifact).

You can find out more info about the SCOM project, as well as basic SCOM diagrams at hkilter.com.

Best.

~ ilter


2008: Rassallık Üzerine

Rassallık, düzensizlik veya öngörülemezlik durumunu anlatmaktadır. Rassal süreç ise, sonuçları deterministik olarak açıklanamayan ancak bir olasılık dağılımını takip eden bir olaylar bütünüdür.

İstatistiğin konuları içinde sıklıkla karşılaştığımız rassallık belirli bir korelasyondan (ilişkiden) yoksun olayları istatistiksel olarak açıklamak için kullanılmaktadır.

Rassallık çeşitli bilim dallarında son yüzyılda önemini artırmış görünmektedir. Örneğin fizikte, termodimanik ve gazların özellikleri gibi konularda istatistiksel mekaniğin gelişmesinde moleküllerin rassal hareketleri bir fikir olarak ortaya çıkmış ve daha sonra kuantum mekaniğinin de temelini oluşturacak konularda kullanılmaktadır. Biyolojide, evrim teorisinin temelinde yeralan, genlerin çevre koşullarından etkilenerek mutasyona uğraması ve canlının hayatta kalma başarısının belirlenmesi gibi konularda kullanılmaktadır. Matematikte, olasılık teorisinin içinde yeralan rassallık, olayların oluşma ihtimallerini matematiksel olarak açıklamak için kullanılmakta, kökeni bahis oyunlarına dayanmaktadır. İstatistik, gözlem yoluyla belirlenen verilerin olasılık dağılımlarını belirlemek için kullanılmaktadır. Simülasyon (benzetim) ise, gözlem yaparak elde edilemeyecek çoğunlukta rassal değerler oluşturmak için üzerinde çalışılan bir alandır.

Rassallık öngörülemezlik değildir. Örneğin, kriptoloji söz konusu olduğunda, aynı mesajı alan iki kişiden biri mesajı tamamen rassal olarak algılarken, diğeri için, mesajın “anahtarına” sahip olduğu için, tamamen anlamlı olacaktır. Hatta deterministik kozmolojide uzayın rassal olmadığı ancak öngörülemez olduğuna dair hipotezler de kullanılmaktadır.

Rassallık, matematiksel bir algoritmayla ortaya çıkarıldıysa yapay rassallık (pseudorandom) olarak adlandırılabilir. Yapay rassallık ise gerçekte öngörülemezdir. Bir olayın rassallığında, aslında o olayın saf rassal olmadığını, olayın olasılık veya beklenen değer gibi kavramlarla açıklanabilen bir karakteristiğe sahip olduğunu görüyoruz.

Örneğin bir madeni para atışının sonucunu öngöremez olmamıza rağmen, sonuçlarının (yazı veya tura) ortaya çıkma olasılıklarından bahsedilebilir ve rassaldır. On atışın beşinin tura gelmesini beklememiz işte bu olasılığa dayalı bir beklenti olacaktır. Gerçekleşen değerler farklı olabilir ancak yeterince çok sayıda atışın sonunda yazı ve tura sayılarının birbirine çok yaklaştığını görmemiz de bu olayın olasılığının bir sonucudur.

Rassallık temelde üç durum sonucunda ortaya çıkabilir:

  1. Çevredeki olaylardan (örn: Brownian Motion)
  2. Başlangıç durumlarından (örn: Kaos teorisi)
  3. Sistem tarafından (örn: Matematiksel olarak oluşturulmuş algoritmalar)

2008: Simülasyon

Simülasyon (benzetim), bir sistemin davranışlarının belirlenebilmesi için o sistemin laboratuvar ortamında oluşturulması anlamına gelebilmektedir. Amaç, gerçek sistemin davranışlarının ve sistem çıktılarının benzerlerinin oluşturulması ve sistemin tanımlanmasıdır. Bir simülasyon, bir sistemin belirli bir zaman içinde sayısal olarak evrimleşmesini modellemek için kullanılabilmektedir.

Bir analitik modelin simülasyonuna şu durumlarda ihtiyaç duyabilmekteyiz:

  1. Analitik modelin altında yatan bütün varsayımların geçerli olmadığı durumlarda,
  2. İstenen sonuçları elde etmenin matematiksel karmaşıklıktan dolayı zor olduğu durumlarda,
  3. İyi (optimal olması gerekmeyen) çözümlerin yeterli olduğu durumlarda.

Temelde iki tür simülasyondan bahsedilebilir: Sürekli ve Kesikli. Sürekli simülasyon, sistemi onun durumundaki değişikliği anlık olarak takip edebileceğimiz bir modelleme sağlarken, kesikli simülasyon sistemi belirli zaman dilimlerinde takip edebileceğimiz bir modelleme anlamına gelmektedir.

Bir çok pratik problemin simülasyon modeli bilgisayarların kullanımını gerektirmektedir. Bir simülasyon modelinin oluşturulmasında kullanılan farklı yaklaşımlar olabilmektedir.

  1. Excel’in kullanılması (@Risk, Crystal Ball gibi “add-on”lar ile birlikte)
  2. Programlama dillerinin kullanılması (FORTRAN, PL/1, C, Pascal, Basic, vb.)
  3. Simülasyon dillerinin kullanılması (GPSS, SIMAN, SLAM vb.)
  4. Bir simülasyon yazılımının kullanılması (ARENA, PROMODEL vb.)

Simülasyon modellerini etkin kullanabilmek için, modelleme ve programlama bilgisinin yanısıra, istatistik bilgisinin de önemli olduğu görülmektedir.

Örnek olarak “para atışı simülasyonu”nu inceleyelim.

Para atışlarını, sonuçları Yazı (Y) veya Tura (T) ile sonuçlanacak olaylar olarak tanımlayalım (dik düşme olasılığının olmadığı, para atanın bu konuda bir profesyonelliğin olmadığı, paranın hilesiz olduğu vb. varsayımlarımız var). Parayı havaya atacağız ve sonucunu bir kağıda not edeceğiz, olası sonuç uzayı iki alternatiften oluşuyor {Y, T}. Diyelim ki, 10 defa atış yaptık ve sonuçları 6 Y ve 4 T şeklinde oldu. Y/T oranı 1.5 olarak gerçekleşmiş (1 olması gerekirdi) demektir. Oysa Y veya T gelme olasılığının %50 (1/2) olduğunu biliyoruz. Nedir yanlış giden? Deney sayısı yeterli olmamış, bu örnekte kuramın bize söylediği sonucun oluşmaması şeklinde ortaya çıkmıştır. Excel’deki simülasyonuna bakalım (Şekil 1).

Şekil 1

Bu şekildeki sonuçlar bizim kağıda yazdığımız gibi oluşturulmuştur, oran 1.5 olarak görünmektedir. Bu simülasyonda atışlar E sütünundaki rassal değişkenler kullanılarak simüle edilmektedir. E sütunundaki rassal değerlere bakarak bu değerlere karşılık gelen sonuç (VLOOKUP fonksiyonu ile) atışın sonucu olarak yazılmaktadır. G ve H sütunlarındaki tablo rassal sayı haritası olarak tanımlanmaktadır. Olası sonuç uzayının olasılıklarını belirlediğimiz yapıya verdiğimiz isim “rassal sayı haritasıdır”. Şekil 2 ‘de bu simülasyon sırasında kullanılan formüller görülmektedir.

Şekil 2

Oysa yeterli sayıda para atışı (veya simülasyon adımı) gerçekleştirilmiş olsaydı, yukarıda bahsedilen oranın 1′e yaklaşacağını görmemiz gerekirdi (Şekil 3).

Şekil 3

Şekil 3′deki simülasyon 1000 adımdan oluşmaktadır.


2008: Monte Carlo Yöntemi

Monte Carlo yöntemi, tekrarlanan rassal değerlerden belirli sonuçlar çıkarabilmek için kullanılan sayısal bir yöntemdir, fiziksel ve matematiksel sistemlerin simülasyonu için kullanılmaktadır. Kesin sonuç verecek bir deterministik algoritma ile hesaplanamayacak durumlarda tercih edilmektedir.

Monte Carlo yöntemi sistemlerin simülasyonları sırasında rassal değerlerin özelliklerinin belirlenmesi sırasında kullanılmaktadır.

Monte Carlo yöntemi temel olarak şu aşamalardan oluşur:

  1. Olası girdilerin tanımlanması,
  2. Olası girdilerden rassal olarak değerlerin seçilmesi ve deterministik hesaplamanın yapılması,
  3. Bağımsız hesaplamaların sonuçlarının birleştirilerek sonuca ulaşılması.

Örnek olarak pi değerinin yaklaşık değerinin hesaplanması Monte Carlo yönetimi ile şu şekilde olabilir: Alanı bir birim olan bir karenin içine tam olarak oturacak bir daire çizildiğinde dairenin alanının karenin alanına oranı pi/4 kadar olacaktır. Karenin içine rastgele atılacak küçük objelerin (kum, pirinç tanesi vb.) uniform dağıldığı kabul edildiğinde, dairenin içinde kalan obje sayısının atılan obje sayısına oranı pi/4 kadar olacaktır. pi’nin değeri bu şekilde hesaplanabilir.


Kuyruk Sistemi Çalışması

Kuyruk Sisteminin Tanımı ve Açıklaması: Bu bölümde üzerinde çalıştığınız ve gözlem yaptığınız kuyruk sisteminin temel özelliklerini belirtmeniz beklenmektedir. Sistemin işleyişi, müşterilerin ve sunucuların tanımları ve işlevleri, bekleme hattının özellikleri, servisin ne olduğu, sistemin genel olarak yapısı, çalışmaya başlamadan önceki durumu gibi konular bu bölümde bulunacaktır. Alt başlıklar olarak Sistem, Müşteriler, Sunucular ve Bekleme Hattı kullanılabilir. Geliş süreci ve servis süreciyle ilgili ölçüm sonuçlarına dayanmayan gözlemler ve sistemin ne zaman incelendiği, nerede bulunduğu gibi konular burada bulunabilir. Sunucu sayısı ve özellikleri, bekleme hattı kapasitesi ve potansiyel müşteri sayıları ile kuyruk sisteminin sayısal performans ölçütleri için temel özellikler bölümde verilebilir.

Ölçüm ve Ölçüm Sonuçları: Sistemin ölçülmesi ve analiz edilmesi bu bölümde yer alacaktır. Ölçümlerde kullanılacak zaman analist tarafından belirlenecektir, bazı sistemlerde gün, saat, dakika veya saniye olarak belirlenebilir, bu sistemin detaylı bir şekilde ele alınmasını sağlayacaktır. Ölçüm sayısı istatistiki anlamlılık ifade edecek ve tatmin edici bir sayı olarak seçilmelidir. Ölçümler iki konuda gerçekleştirilecektir: Geliş Süreci ve Servis Süreci. Geliş süreci müşteri gelişleri arasındaki zamanın ölçülmesi anlamına gelmektedir. Bunun için müşterilerin sisteme girişleri tam olarak belirlenmelidir. Yığın girişlere izin vermeyen (aynı anda gelen müşterilerden sadece biri için zaman tutulacak) bir ölçüm için müşterilerin sisteme ne zaman girdiklerinin ölçülmesi yeterlidir (örnek 1).

Örnek 1: Gelişlerarası zaman ile ilgili ölçümler

Servis süreci için ise, mümkünse, benzer bir period içinde müşterilerin servis süreleri ölçülecektir. Bu ölçüm diğer ölçümden sonra ya da önce yapılabilir. Senkronize yapılması ise zor olmasına rağmen kabul edilebilir. Ölçüm müşterinin servisinin başlaması ile bitişi arasındaki fark ölçülerek yapılacaktır. Müşterinin sunucunun önüne kadar gelmesi veye sistemden ayrılması için oluşan süre servis süresinin içine dahil edilmelidir. Çok uç durumlarda bu süre ayrı tutulabilir ancak bu konudaki açıklamalar bu bölümde bulunmalıdır. Her bir sunucu için ayrı ölçüm yapılması gerekmektedir. Aksi durumda performansı çok -ama çok- benzerlik gösterdiğinden farklı sunuculara ait açıklamalar verilmelidir. (örnek 2)

Örnek 2: Servis süresi ile ilgili ölçümler

Her iki ölçüm de bitirildiğinde bazı ayrıntıların belirlenmesi, verilerin ayıklanması, analize hazır hale getirilmesi gerekmektedir (örnek 3). İstatistiki testlerin burada devreye gireceğini söyleyebiliriz. Belirlenen ölçüm sonuçlarının ortaya çıkardığı dizilerin beklentilere uygun olup olmadıkları ile ilgili testler bu bölümde bulunacaktır. İlk olarak gelişler için Poisson, servis için Exponential dağılımlar test edilmelidir. Bunlara uygunluk yoksa diğer dağılımlara ait testlerde bu bölümde verilmelidir. Test sonuçları olumsuz ise G (General - ortalama ve standart sapması zaten biliniyor) kullanılabilecektir. İstatistiki testlerin yöntemlerinin açıklamaları ve sonuçları bu bölümde detaylı bir şekilde verilmelidir. Sonuçta kuyruk sisteminin sayısal performans ölçütleri için notasyon bu bölümde verilebilir (Örnek 4). Lambda ve Mü değerlerinin bu çalışmanın sonucunda ortaya çıktığını söyleyebiliriz.

Örnek 3: Ölçüm sonuçları

İstendiği takdirde, müşterinin bekleme süresi, sunucunun boş kaldığı süre gibi değerler de ölçülerek daha sonra ortaya çıkarılacak performans ölçütleri ile karşılaştırılabilir (örnek 5)

Örnek 4: Kuyruk Sistemi Notasyonu

M / M / 2 // 6

Örnek 5: Ek Ölçümler

Kuyruk Sisteminin Performans Ölçütleri: Bu bölümde diğer bölümlerde elde edinilen bilgiler ışığında ortaya çıkarılmış Lambda ve Mü değerleri ile kuyruk notasyonu kullanılarak performans ölçütleri hesaplanacaktır. Bunun için WinQSB yazılımının kullanılması yeterli olacaktır. Performans ölçütlerinin detaylı bir şekilde ödevde verilmesi gerekmektedir (örnek 6). Performans ölçütleriyle ilgili her türlü yorum ve açıklama bu bölümde yer alacaktır.

Örnek 6: Performans Ölçütleri

Kuyruk Sisteminin Analiz Sonuçları ve Değerlendirme: Bu bölümde kuyruk sisteminin özelliklerine bağlı olarak ortaya çıkan performans ölçütlerinin genel ve detaylı değerlendirmeleri ile bu değerlendirmelerin sistemin daha iyi olmasına dönük olacak yorumları bulunabilir. Sistemin iyileştirilmesi için neler yapılması gerektiği konusundaki fikirler bu bölümde verilecektir. Değerlendirmeler sırasında sistemin maliyeti ile ilgili bilginin verilmesine gerek yoktur. Bu konuda ek bir çalışma yapmadan sistem maliyetini hesaplamış olanlar bunu da ödeve dahil ederlerse ödevin kalitesini artırmış olacaklardır. Ödevin her türlü grafik, tablo, şekil ile desteklenmesi sistemin daha iyi anlaşılmasına yardımcı olacaktır (örnek 7).

Örnek 7: Ek Tablolar ve Grafikler

DİKKAT: Sistem tam olarak anlaşılmadan ölçüme başlamayın, olası hataları düzeltmek için tekrarlamak zorunda kalabilirsiniz.


Simülasyon Örneği - Büfe (Kuyruk Sistemi)

Problem 1: Köşedeki büfenin müşterilerinin gelişleri, saat 15:00-16:00 arasında, Poisson dağılımına göre 28/saat geliş oranında gerçekleşmektedir. Büfede çalışan eleman ise müşterilere Exponential dağılımla saatte 30 müşteri hızında servis verebilmektedir. Büfenin 15:00-16:00 saatleri arasındaki durumunu simülasyon ile ortaya çıkaralım ve analitik modelin bize sunduğu performans ölçütleri açısından bir değerlendirme yapalım.

Analitik model 1: M/M/1 olan bu kuyruk sisteminin geliş oranı = 28/saat ve servis oranı = 30/saat ise performans ölçütleri Tablo 1′de görülebilir. Tablo 1′de görülen değerleri simülasyon sonucunda da elde etmek mümkündür ancak simülasyon adımlarının ve iterasyon sayılarının yüksek olması gerekmektedir.

Tablo 1: Kuyruk sisteminin performans ölçütleri

Simülasyon modeli 1: Belirlenen kriterlere göre (Tablo 2) 30 müşteri için (yaklaşık 1 saat) simülasyon yapılmıştır (Tablo 3) ve bazı performans ölçütleri elde edilmiştir. Simülasyon 10 iterasyon ile ortalama değerleri de göstermektedir (Tablo 4). Dikkat edildiğinde, analitik performans ölçütleriyle simülasyon sonuçları arasındaki farkları görebiliriz. Bunun nedeni, simülasyonu yeteri tekrarda yapmayışımız olabilir. Merak edenler hem simülasyon adımlarının sayısını (kuramsal olarak 1 saatten fazla aynı sistemi çalıştırmak) hem de iterasyon sayısını artırırsa sonuçların ne yönde değiştiğini görebilecekler.

Tablo 2: Açıklamalar ve simülasyon sonuçları

Tablo 3: Simülasyon

Tablo 4: İterasyonlar ve ortalamalar

Problemin Excel dosyasına bakabilirsiniz.

Problem 2: Yukarıdaki örnekteki sunucu sayısını artırdığımız durumda simülasyon sonuçları bundan etkilenecektir. Büfede çalışmak üzere, ikinci bir kişinin işe alındığını varsayalım (diğeriyle aynı hızda çalışıyor). Bu durumda yeni sistem M/M/2 olacaktır. Bu sistem için modelleri tekrar oluşturalım.

Analitik model 2: M/M/2 olan bu kuyruk sisteminin geliş oranı = 28/saat ve servis oranı = 30/saat ise performans ölçütleri Tablo 5′de görülebilir.

Tablo 5: Kuyruk sisteminin performans ölçütleri

Simülasyon modeli 2: Bu bölümde M/M/2 sisteminin simülasyonu görünüyor.

Tablo 6: 2. simülasyonun Excel sonuçları


Simülasyon Örneği - Pastane

Problem: Bir pastane günlük olarak 20 adet pasta üretmektedir. Pastalara olan günlük talep aşağıdaki olasılık dağılımı ile ortaya çıkmaktadır (Tablo 1).

Tablo 1: Talebe ait olasılık dağılımı

Pastane, pastalar için 15TL birim maliyete katlanmakta ve pastaları 30TL birim fiyatla satmaktadır. Gün içinde satılmayan pasta olursa, onları da gün sonunda yakındaki bir öğrenci yurduna 7.5TL birim fiyatla (maliyetinin altında) vermektedir. Pasta talebi günlük üretimden fazla ise satış miktarı üretimle sınırlı olacaktır, pasta talebi günlük üretimden az ise satış miktarı talep kadar olacaktır.

Pastanenin 30 günlük pasta satışı ile ilgili simülasyonunu yaparak, ortalama günlük karını hesaplayacağız.

Simülasyon Modeli 1: Yukarıdaki açıklamalara göre simülasyon aşağıdaki Tablo 2 ve Tablo 3′den izlenebilir.

Tablo 2: Simülasyon açıklamaları ve rassal sayı haritası

Tablo 3: Simülasyon

Simülasyon modeli 2: Pastanenin gün sonunda elinde kalan pastaları öğrenci yurdu vermek yerine ertesi güne sakladığını ve ertesi gün için gerçekleşen talebin en azından bir kısmını bununla tamamlamaya çalıştığını varsayalım (pastalar en fazla 1 gün dayanmaktadır). Pastane elinde kalan pastaları ertesi gün yeni ürettiği pastalarla birlikte 30TL birim fiyatla satabilmektedir. Ancak talebi karşılanamayan her birim talep için 10TL memnuniyet maliyetine katlanmaktadır. 30 günlük ortalama kar aşağıdaki gibi değişecektir.

Tablo 4: Simülasyon açıklamaları ve rassal sayı haritası

Tablo 5: Simülasyon

Simülasyonu ayrıntılı olarak incelemek için Excel dosyasına bakınız.


Simülasyon Örneği - Klima Satışları

Problem: Çeşitli soğutma ve ısıtma sistemleri satışı yapan ABC Sistem Limited Şirketi’nin satış müdürü Ahmet bey, klima satışlarındaki bir aylık ortalama maliyeti merak etmektedir. Bazı bilgiler ışığında (aşağıdaki tablolarda görülmektedir) bu maliyeti hesaplamak üzere simülasyon yapmak istemektedir. Arkadaşı olarak ona yardımcı olmamızı rica etmiş. Biz de bu simülasyonu yapacağız.

Ahmet bey deneyimine dayanarak günlük klima taleplerine (satışlar) ait aşağıdaki olasılık dağılımını belirlemiştir (Tablo 1).

Tablo 1: Talebe ait olasılık dağılımı

ABC şirketi, başlangıçta deposunda 10 adet klima bulundurmaktadır. Satışı yapılan klimalar müşterilere teslim edilmekte, stoklarda 6 veya daha az klima kaldığında ise fabrikaya sipariş verilmektedir. Siparişler 10′ar adetlik partiler halinde yapılmakta ve bu partilerin tedarik süresi aşağıdaki olasılık dağılımındaki gibi olmaktadır (Tablo 2).

Tablo 2: Tedarik süresine ait olasılık dağılımı

Örnek olarak, 4. günde 2 günlük tedarik süresine sahip bir sipariş verilirse, teslimat 7. günün başında yapılmaktadır. Siparişi verilen her parti için sipariş maliyeti 50$ olmaktadır.

Şirket gün içinde satılmayan klimalar için -klima başına- günlük 2$’lık stok maliyetine katlanmaktadır. Ayrıca satışı yapılıp müşteriye teslim edilemeyen (stokta olmadığı için) klimalar için de 30$ memnuniyet maliyetine (veya indirime) katlanmaktadır.

Analitik Model: Bu probleme ait analitik model hazırlanmamıştır.

Simülasyon Modeli: Simülasyon modeli aşağıdaki şekillerde görülmektedir.

Şekil 1: Simülasyon

Şekil 2: Rassal Sayı Haritaları ve Açıklamalar

Şekil 3: İterasyonlar ve Sonuçlar

Grafik 1: Herhangi bir simülasyon adımında ortaya çıkan stok ve talep miktarlarının değişimine ait örnek

Grafik 2: Simülasyonun 10 iterasyonu sonrasında oluşan maliyet değerlerine ait örnek

Simülasyonda kullanılan bazı önemli Excel formülleri

Günbaşı stok: B3 için (1. gün) =O10 , B4-B32 için (diğer günler) =IF(H3=0;E3+10;E3)

Günsonu stok: E3-E32 için =B3-D3

Tedarik süresi: G3 için (1. gün) =IF(E3<7;VLOOKUP(F3;$P$3:$Q$6;2);”") , G4-G32 için (diğer günler) =IF(OR(H3=0;H3=”");IF(E4<6;VLOOKUP(F4;$P$3:$Q$6;2);”");”")

Teslime kalan gün: H3 için (1. gün) =G3 , H4 için (diğer günler) =IF(OR(H3=0;H3=”");IF(G4<>0;G4;”");H3-1)

Sipariş maliyeti: I3-I32 için =IF(G3<>”";$O$11;”")

Stok maliyeti: J3-J32 için =IF(E3>=0;E3*$O$12;”")

Memnuniyet maliyeti (indirim): K3-K32 için =IF(E3<0;-E3*$O$13;”")

Simülasyonu ayrıntılı incelemek için Excel dosyasına bakınız.


Simülasyon Örneği - Bahçedeki Tavuk

Problem: Ali’nin 5m x 5m’lik bir bahçesi var (Şekil 1a). Bahçesinde tavuk besliyor. Ali herhangi bir tavuğu bahçenin tam ortasına koysa bile, tavuk bahçede dolaşarak (her hücrede 1 saat olmak üzere) belirli bir süre sonra çitlerin arasından geçerek bahçeden kaçıyor.

Şekil 1a: Başlangıç durumu - tavuk bahçenin ortasında (0,0)

Diğer bir deyişle, tavuğun bahçenin ortasına konulması durumunda, bir süre sonra Ali onu komşu hücrelerde bulabiliyor (Şekil 1b). Başlangıç durumu (0,0) noktasıdır. (x,y) değerleri K ve D için pozitif, G ve B için negatif değişim göstermektedir.

Şekil 1b: İki saat sonra - tavuk (2,-1) pozisyonunda

Ali bahçeye koyduğu tavukların ortalama kaç saatte bahçe dışına çıktığını merak ediyor. Bu problemi modelleyecek bir simülasyon yaparak bu merakını gidermek istiyor.

Problemle ilgili varsayımlar: Tavuğun bahçedeki hücreler arasındaki (her metrekare arasındaki) hareketleri dört farklı yönde olabilir: Doğu (D), Batı (B), Kuzey (K) ve Güney (G). Tavuk her adımda rassal olarak belirlenen yöne doğru hareket ediyor. Yönlerin seçilme olasılıkları birbirine eşit. Tavuk her adımda (her saatte) diğer bir hücreye geçmekte ve çapraz hareket etmemektedir.

Analitik model: Tavuk, %25′lik olasılıklarla çeşitli yönlere hareket ettiği için bahçeden kaçması için gereken minimum adım sayısı (D, D, D veya B, B, B veya K, K, K veya G, G, G) üç olacaktır. Tavuğun bahçeden üç adımda kaçma olasılığı 4 x (0.25 x 0.25 x 0.25) = 0.0625 (%6.25) olacaktır. Diğer bir deyişle tavuk bahçeden en az 3 saat sonra kaçabilecektir. Ali’nin tavuğu daha önce kontrol etmesine gerek yoktur. Analitik model karmaşık olduğu için burada belirtilmedi. İsteyen varsa kendisi uğraşabilir.

Simülasyon modeli: 100 adımlık simülasyon modeli Excel ile hazırlanmıştır. Şekil 2 simülasyonu göstermektedir. Her yön tercihinde tavuğun bahçedeki konumu bu yöne göre hesaplanmaktadır. Simülasyonun her tekrarında farklı bir kaçış süresi bulunmaktadır. Kaçma kontrolü, herhangi bir adımda tavuğun kaçıp kaçmadığını kontrol edebilmek için eklenmiştir. 100 saatten daha fazla sürede kaçabilecek tavuklar dikkate alınmamıştır, böyle durumlarda sonuç bölümünde “N/A” göreceksiniz, endişelenmeyin bu tavuklar sadık tavuklardır.

Şekil 2: Simülasyon

Şekil 3 rassal sayı haritasını göstermektedir. Her yönün tercih edilme olasılığının %25 olduğu bilinmektedir.

Şekil 3: Rassal sayı haritası

Şekil 4 simülasyonun 10 defa tekrarlandığı durumu ve genel sonucu göstermektedir. 5m x 5m’lik bir bahçeye konulan tavukların kaçtığı ortalama süreyi (veya adım sayısını) bu bölümde görebilirsiniz.

Şekil 4: İterasyon ve sonuçlar

Daha fazla eğlence için Excel dosyasına bakabilirsiniz. “F9″ tuşu simülasyonu tekrar etmek için kullanılabilir.


Simülasyon Örneği - Gofret Makinesi

Problem: Gofret üreten bir işletme, çeşitli yerlere (metro durakları, üniversiteler, alışveriş merkezleri, vb.) şekerlerinin müşteri tarafından satın alınabileceği Gofret Makineleri yerleştirmektedir. Müşteriler gofret makinelerine bozuk para atarak gofret alabilmektedir. İşletmenin bir çok yerde makinesi vardır ve bu makinelerde oluşan günlük gofret taleplerini bir olasılık dağılımı ile tespit etmiştir (Tablo 1).

P(talep=0) = 0.10 P(talep=1) = 0.15 P(talep=2) = 0.20 P(talep=3) = 0.30 P(talep=4) = 0.20 P(talep=5) = 0.05

Tablo 1 - Makinelerdeki günlük gofret talebine ait olasılık dağılımı

Tablo 1′de görüldüğü üzere 6 veya daha fazla gofret satışı hiç görülmemiştir, dolayısı ile bununla ilgili bir olasılık değeri yoktur. Makineler 80 adet gofret alabilmektedir. İşletme gofret makinelerini içindeki gofret sayısı yarıya düştüğünde (40 adet) doldurmak istemektedir.

İşletme, bu makinelerden birini yeni açılan bir süpermarkete yerleştirmek ve yeni makinenin ne zaman doldurulması gerektiği konusunda fikir sahibi olmak istemektedir. İşletmenin bu işle ilgili departman şefi bu görevi, işe yeni girmiş yönetici adayı olarak size vermiştir.

Sistemin simülasyon modelini oluşturarak, makinenin ne zaman doldurulması gerektiğine karar vermeniz istenmektedir.

Analitik model: Makinede oluşan talep, olasılık dağılımına göre günlük ortalama 2.5* kadar olacaktır. 40 gofretin boşalması için gereken süre 40 / 2.5 = 16 gündür.

  • (0.10 x 0) + (0.15 x 1) + (0.20 x 2) + (0.30 x 3) + (0.20 x 4) + (0.05 x 5) = 2.5

Simülasyon modeli: Simülasyon modelini Excel’de oluşturabiliriz. Şekil 1 bu probleme ait simülasyonu göstermektedir.

Şekil 1

Şekil 2, bu simülasyon sırasında kullandığımız olasılık dağılımını modelde kullanılabilecek haliyle sunmaktadır.

Şekil 2

Şekil 3, simülasyon sırasında kullandığımız değerleri ve simülasyon sonucunda ortaya çıkan “Doldurma Günü”nü göstermektedir.

Şekil 3

Şekil 4, simülasyon modelinin tekrarlarını ifade eden iterasyonları göstermektedir. İterasyonların altında yeralan standart sapma ve t değerleri hipotez hesti için (H=16?) kullanılmaktadır. Bu simülasyon modelinde 30 iterasyon yapılmıştır.

Şekil 4

Şekil 5 ise, beklediğimiz doldurma dünü olan 16 yerine, %95 olasılıkla güven aralığını ifade edecek haliyle bir değerle aralığı sunmaktadır. Aradığımız cevap bu bölümde bulunmaktadır.

Şekil 5

Simülasyonun Excel dosyasına da göz atmanızı öneririm.


Simülasyon Örneği - Golf Topları

Problem: Golf topları satan bir spor mağazası haftalık talepler (kutu olarak) ve bu taleplere ait olasılık dağılımını aşağıdaki şekilde oluşturmuştur. Mağazanın kutu başına 5 TL’lik kar elde ettiğini varsayalım. Bizden istenen, 200 adımlık simülasyon yaparak haftalık ortalama kar miktarı ile teorik kar miktarını karşılaştırmaktır.

Analitik Model: Bu probleme ait analitik model sonucu haftalık 35.6 kutuluk talep ve bu talebe karşılık gelen 178 TL kardır.

Simülasyon Modeli: Simülasyon modeli sonuçları aşağıdaki tablolarda görünmektedir. Simülasyon modeli ile analitik model sonuçları arasındaki benzerlik beklenen bir sonuçtur.

Şekil 1: Rassal Sayı Haritası

Şekil 2: Simülasyon

Şekil 3: Sonuçların Karşılaştırılması

Simülasyonu ayrıntılı incelemek için Excel dosyasına bakınız.


Simülasyonlarda Veri Tablosunun Kullanımı

Simülasyon örneklerinin bazılarının Excel dosyalarında nasıl hesaplandığı anlaşılamayan “İterasyonlar” bölümü bulunmaktadır. Bu bölümün nasıl oluşturulduğunu anlamaya çalışacağız.

Para atışı simülasyonunu ele alalım. Örneklem uzayında iki alternatif vardır (Yazı ve Tura), dolayısı ile %50′lik olasılıklara sahip olduklarını varsayalım. 20 atışlık simülasyon aşağıdaki gibi oluşacaktır:

İstersek atış sayısını artırarak daha net sonuçlar ortaya çıkarabiliriz. Fakat biz adım sayısını değil de simülasyonun tekrarlanma sayısını (iterasyon) sayısını artıracağız. Bunun için aşağıdaki gibi bir tabloya ihtiyacımız olacaktır:

1. İterasyon Tablosunun Hazırlanması

Dikkat ederseniz tablonun ilk satırı dolu diğerleri boş. Birinci satırda yukarıdaki simülasyon sonuçları arasındaki Yazı ve Tura sayılarını sayarak buraya yazıyoruz. Daha detaylı bilgi vermesi için sağdaki sütuna da bu iki sayının oranını yazdım. Bu oranın “1″ olması zaten analitik model sonucunda beklediğimiz bir sonuç.

2. İterasyon Tablosunun Seçilmesi

Şimdi sıra geldi veri tablosunu kullanmaya. Önce yeni oluşturduğumuz tabloda iterasyon numaralarını ve tablonun içindeki verileri seçiyoruz.

3. Veri Tablosunun Belirlenmesi

Daha sonra Data menüsünden What-if Analysis bölümünden Data Table’ı seçiyoruz.

4. Veri Tablosu Seçeneklerinin Belirlenmesi

Sonra boş olduğunu bildiğimiz bir hücreyi Column bölümüne tanımlıyoruz. Sütunu doldurup satırı boş bırakmamızın nedeni tablonun aşağıya doğru (sütun) doldurulmasını istememiz.

5. İterasyon Tablosunun Oluşturulması

Excel iterasyon tablomuzun boş olan hücrelerini ilk satırda belirttiğimiz formüllere bağlı olarak dolduruyor. Bu doldurma işleminde farklı rassal sayılar kullanıldığı için iterasyonlar birbirinden farklı sonuçlar oluşturuyor. Bizim ilgilendiğimiz bölüm ise ortalama değerler olacaktır.

Siz de deneyin, çok kolay olduğunu göreceksiniz.


OR Poetry

A poem from M. Bartholomew-Briggs

Mission Statement

Optimization means a quest for best answers with the least trouble.

Optimism means believing both objectives are achievable.

M. Bartholomew-Briggs. Uneasy Relations, Hearing Eye, London. ISBN 978-1-905082-31-5 (thanks to Laura McLay for maintaining Punk Rock Operations Research Blog)



References

  1. Tully, R. B., Courtois, H., Hoffman, Y & Pomarède, D. Nature 513, 71–73 (2014). http://dx.doi.org/10.1038/nature13674