# Simulaatiomallien järjestelmällinen kehitys - Savonia-AMK

> Simulaatiomallien kehittäminen on kahdeksanvaiheinen prosessi, joka etenee ongelman määrittelystä tulosten analysointiin.

Simulaatiomallit ovat pohjimmiltaan matemaattisia malleja, joilla kuvastetaan jotakin todellisen maailman tapausta. Useimmiten simulaatiomallit sisältävät paljon muuttujia ja vaikuttavia tekijöitä, jonka vuoksi niiden kehittäminen on tarpeellista olla erittäin järjestelmällistä. Tätä varten kehittämiselle on esitetty kahdeksanvaiheinen toimintamalli Manujin, Mentzerin ja Bowersin (2009) toimesta.

## 1. Ongelman määrittely ja rajaukset
Ensimmäisen vaiheen tavoitteena on määritellä simulaation tavoitteet ja rajaukset. Tässä vaiheessa tunnistetaan, mihin mallin tulisi antaa vastaus, miten se tukee päätöksentekoa ja ketkä ovat asianosaisia sidosryhmiä. Sidosryhmien ja asiantuntijoiden kanssa käydään vuoropuhelua, jotta ongelma ja sen rajoitukset voidaan ymmärtää riittävän hyvin. Myös riskien ennakointia tehdään tässä vaiheessa, jotta niitä voidaan välttää.

## 2. Muuttujien määrittely
Määritellään kaikki tarpeelliset muuttujat, jotka toimivat simulaation lähtöarvoina, eli syötteinä, sekä lopputuloksina. Lisäksi varmistetaan, että ne ovat linjassa simulaation tavoitteiden kanssa. Syötteet ovat usein ohjattavia muuttujia kuten esimerkiksi kysynnän vaihtelu tai resurssien allokointi. Lopputuloksena toimivat muuttujat puolestaan kytkeytyvät näihin erilaisten riippuvuuksien kautta, ja ne ovat yleensä suorituskykymittareita kuten esimerkiksi kate, varastotaso tai läpimenoaika.

## 3. Konseptimallin luominen
Kolmannen vaiheen tavoitteena on luoda selkeä ja abstrakti esitys simuloitavasta todellisesta järjestelmästä, joka esittää ongelman rakenteen ja tukee mallia myöhemmissä vaiheissa. Konseptimalli on syytä käydä läpi liittyvien sidosryhmien ja asiantuntijoiden kanssa. Konseptimallin validointi voidaan tehdä asiantuntijoiden toimesta, jolla varmistetaan että malli vastaa mallinnettavaa tapausta riittävän tarkasti.

## 4. Tiedonkeruu
Listataan kaikki tarvittavat tiedot muuttujille, parametreille, järjestelmän asettelulle, toimintatavoille ja esimerkiksi todennäköisyysjakaumille. Käytettävä data voidaan jakaa kolmeen eri osaan:
* **Järjestelmän kuormitusdata:** Määrittää järjestelmän vaatimukset (työn prioriteetti, tuotetiedot, käsittelyajat).
* **Organisaatiodata:** Kuvaa yrityksen rakennetta (vuoromallit, resurssien allokointi, tuotteen reititys). Tuotantojärjestelmän tyyppi määrää datan laajuuden.
* **Tekninen data:** Kuvaa fyysistä asetusta (layout, tuotantorakenne, materiaalivirta, häiriödata).

Tämän lisäksi tunnistetaan lähteet mistä data saadaan. Dataa voi tulla useasta eri lähteestä ja järjestelmästä, kuten esimerkiksi ERP-järjestelmistä, haastatteluista tai kirjallisuudesta. Käytettävää dataa täytyy myös usein muuntaa, puhdistaa ja kategorisoida.

## 5. Mallin verifiointi
Viidennessä vaiheessa varmistetaan, että malli kuvaa tarkasti konseptimallia ja toimii oikein halutun logiikan mukaisesti. Mallin kehitys tehdään inkrementaalisesti aloittamalla yksinkertaisesta ja lisäämällä monimutkaisuutta vähitellen. Mallia testataan tunnetuilla syötteillä, jotta virheet on helppo jäljittää ja tulokset ovat ennustettavia.

## 6. Mallin validointi
Seuraavaksi varmistetaan, että malli kuvastaa reaalimaailman järjestelmää ja antaa luotettavia tuloksia päätöksentekoa varten. Laadullinen validointi voidaan tehdä asiantuntijoiden kanssa katselmoimalla mallin rakenne ja tulokset. Määrällisessä validoinnissa tuloksia voidaan verrata esimerkiksi historiadataan vastaavilla tunnetuilla syötteillä.

## 7. Simulaatioajot
Seitsemännessä vaiheessa suoritetaan varsinaiset simulaatiot, jota varten määritellään simulaatioajojen asetukset ja parametrit. Simulaatioita varten täytyy määritellä tapauskohtaisesti, kuinka monia ajoja tehdään, kuinka pitkiä ne ovat sekä miten ja mitä muuttujia varioidaan.

## 8. Tulosten analysointi ja dokumentointi
Viimeiseksi edellisen vaiheen tulokset analysoidaan esimerkiksi tilastollisilla menetelmillä tai graafisilla analyyseillä. Tässä vaiheessa voidaan käyttää apuna esimerkiksi PowerBI-ohjelmistoa. Lisäksi luodaan kattava dokumentaatio, jotta simulaatio voidaan toistaa tai käyttää myöhemmin jonkun toisen simulaation lähtökohtana.

## Kirjoittajat
* Sorayya Amirahmadi, projektiasiantuntija, Savonia-ammattikorkeakoulu Oy
* Ari Tanskanen, TKI-asiantuntija, Savonia-ammattikorkeakoulu Oy

## Lähteet
* Manuj, I., Mentzer, J.T. and Bowers, M.R. (2009). Improving the rigor of discrete‐event simulation in logistics and supply chain research. International Journal of Physical Distribution & Logistics Management, 39(3)
* Bergmann, S., Stelzer, S. and Strassburger, S. (2011). Initialization of simulation models using CMSD in Proceedings of the 2011 Winter Simulation Conference (WSC). 2011 Winter Simulation Conference – (WSC 2011)
* VDI (2000). VDI 3633-1: Simulation of systems in materials handling, logistics and production – Fundamentals.