Diskret simulering Flashcards

1
Q

Vad är en modell? Förklara även skillnaden mellan en modell och system.

A

En modell är är något som skapas utifrån ett system, där modellens sedan används i ett datorprogram för att kunna imitera det verkliga systemet.

Exempel på ett system är hur ett distributionslina ser ut i ett varuhus, såsom producering av vin på en vingård så ser processen ut som att först måste vindruvor plockas, sedan ska vindruvorna krossas, sedan ska dem till ett jäskärl för jäsning, sedan tappas upp i flaskor som sist ska staplas ihop på backar på en lastbil som ska till systembolaget.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är händelsekalendern (event calender) för något? Beskriv och ge exempel på hur den används i diskret händelsestyrt simulering.

A

För att kunna beskriva vad händelsekalendern är för något måste först en definition av vad en händelse är i en diskret simulering.

En händelse är något som sker vid en specifik tid som ändrar attribut värden, variabel värden eller statistiska värden i modellen/systemet. Dem händelser som sker i ett mycket simpel model med ett Create block, ett Process block och ett Dispose block är följande:

  1. När en ny entitet anländer i modellen. Då ändras b.la dem statistiska variabler som tillhör köer exempelvis kölängden och maximala kölängden.
  2. När en entitet lämnar Process blocket. Då ändras b.la
    dem statistiska variabler som tillhör entiteten exempelvis tid i systemet och antal färdiga entiteter.
  3. När en entitet lämnar modellen. Då måste alla slutgiltiga värden för prestandamåtten beräknas.

Händelsekalendern är en lista som antecknar alla händelser som sker i modellen med specifika tider när dem ska ske. I listan så skrivs dem på följande sätt [Entitetsnummer, Tid, Händelsetyp].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Antag att du bygger en simuleringsmodell föreställandes en akutmottagning. Vad måste du ta reda på för att kunna modellera ankomst av patienter till akutmottagningen? Beskriv, steg för steg, hur du skulle bearbeta/modellera indata som skall användas i modellen för att generera ankomst av patienter.

A

För att kunna bestämma hur vi ska modellera ankomsten av patienter till en akutmottagning är att samla in data om ankomsttider på akutmottagningen. Sedan måste denna data omberäknas till “användbar data” som har data på tidsvariantionen mellan patienternas ankomsttider.

Sedan måste man analysera om ankomsttiderna av patienterna på följande punkter:
- Är ankomsterna av patienterna beroende på varandra?
- Är ankomsttiderna normalfördelade eller inte?, dvs att “ankomstrusher” sker.

Hur jag skulle resonera kring ett akutmottagingssystem är att ankomstrusher kommer att ske t.ex när en stor olycka har skett. Även att ankomster av patienter är oberoende av varandra.

Nu när vi har data samt vet att vi har en icke-stationär ankomstprocess kan vi bestämma hur vi vill modellera ankomsttiderna för modellen.

Detta görs genom att först dela in vår “användbara” data i intervaller där det är någon form av normalt fördelat för att sedan hitta en normalfördelnings funktion som passar datan. För att lyckas med detta kan man använda sig utav ett program inbyggt i Arena som kallas Input Analyser som använder sig tidsvariations datan, där sedan användaren testar olika normalfördelnings funktioner tills man hittar en som passar samt uppfyller goodness of fit testen som är b.la Chi^2 testet. Man vet att det är en bra passning då p-värdet ligger under 0,05.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Förklara följande ARENA koncept:
- Sequence
- Set
- Activity Area
- Attribute
- Entity
- Expression
- Failure
- Queue
- Resource
- Schedule
- StateSet
- Station Data
- Variable

A

Sequence:
Detta är en data modul som definierar dem sekvenser som finns i modellen. Ett användningsområde av sekvenser är om man har flera olika processer i modellen samt flera olika entiteter som ska flöda genom modellen, där varje entitet har en specifik ordning för vilken process som den ska åka genom.

Set:
Detta är en data modul som definierar dem olika uppsättningar som finns i modellen. Man kan ha flera olika uppsättningar, t.ex av resurser, entitets typ, köer m.m. En användning av resursset är om man har bara en typ av resurs men man har flera stycken av dem samt man vill kunna animera alla är ett set av resurser användbar. För utan ett set så skulle vi behöva manuellt i resurs modulen öka kapaciteten till antalet av den resurs typen för att ha en korrekt kapacitet. Genom detta så har vi bara en resurs i resurs modulen som kan bli animerad.

Activity area: ——-

Attribute:
Detta är en data modul där alla egenskapade attribut för entiteterna hamnar. Ett exempel på användnings område är att i en modul som skapar flera olika entiteter som har olika monterings tider så kan man lägga till ett attribut till varje entitet som just håller denna monteringstid i sig så att processen kan förhålla sig till det attributet.

Entity:
Detta är en data modul där grund informationen om varje entitet såsom entitetsbild. Ett användingsområde för detta är om man har flera olika entiteter som flödar genom modellen så vill man kunna se i modellen vad för typ av entitet som flödar genom, så kan man ändra entitetsbilden för alla entiteter så att dem ser annorlunda ut ifrån varandra.

Expression:
Detta är en data modul där alla egenskapade uttryck hamnar. Ett användningsområde för detta är att om varje resurs som finns i systemet har en egen hastighet på hur snabbt dem kan montera entiteter så kan man spara alla dessa hastigheter i ett expression och samtidigt ha ett attribut läggs till på varje entitet som säger vilken montör som ska montera entiteten så blir det möjligt att skicka entiteten till rätt montör i process blocken genom följande formel Monteringstid(montörsindex). Där monteringstiden är det skapade expressionet och montörsindex är det skapade attributet.

Failure:
Detta är en datamodul där alla haverier av varje resurs sparas. Användningen av denna data modul är för att bestämma hur länge en resurs ska kunna arbeta tills ett haveri sker samt hur länge resursen ska vara i ett haveri tillstånd.

Queue:
Detta är en datamodul där alla köer som finns i modellen sparas. Användningen av denna modul är för att kunna definiera hur köerna ska prioritera entiteter i sin kö dvs antingen First in first out (FIFO) eller Last in first out (LIFO) eller att det ska vara attributanpassat efter störta och minsta värde. Man kan även sätta så att två olika köer delar på samma kö.

Schedule:
Detta är en datamodul där alla scheman för resurserna finns. Användnings området för denna modul är att säga när en resurs ska arbeta och när en resurs tar paus.

State set:
Detta är en datamodul där man definierar egenskapade state sets för resurserna. Användnings området för detta är om man har resurser som har flera olika stadier som dem kan befinna sig i så att inte endast idle, busy och failed inte räcker till så kan man skapa egna tillstånd med egna namn.

Station data: ——-

Variable:
Detta är en datamodul där alla egenskapade variabler hamnar. Ett användningsområde för detta är om man vill testa sin modell med olika inputs och vill göra det på ett smidigt sätt kan man använda sig utav egen definierade variabler genom att i exempelvis process blocken deffinering av hur lång tid fördröjningen är så kan man använda sig av variabel namnet istället för att skriva in en siffra. Detta blir ännu effektivare då man använder sig utav Process analyser för då kan man välja att ändra sina variabel definitioner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Du skall jämföra två olika utformningar av incheckningen på en flygplats – en där alla passagerare får stå i en gemensam kö och en där varje incheckningsdisk har en egen kö. För detta har du byggt två simuleringsmodeller. Vilka utdata (prestandamått) skall du använda för att jämföra dessa två system? Hur jämför man resultat från två stokastiska simuleringsmodeller?

A

Dem prestandamått jag skulle använda för att göra denna analys är tiden i systemet för att kunna se hur det allmänt påverkar tiden genom hela modellen. Sedan skulle jag även kolla på den genomsnittliga väntetiden i kön samt max längden av kön då det är dessa prestandamått som påverkar tiden i systemet.

Jag skulle genomföra denna analys genom att använda mig utav programmet Output analyser som är en utdataanalyseringsprogram för Arena. Output analyser jämför 2 st datafiler med varandra genom ett paired t-test, då vi ska analysera två “likadana” modeller där endast kö uppsättningen har förändras. Det resultat vi kommer att få från Output analyser är konfidensintervallet över variationen mellan resultatet från dem olika modeller samt om grundhypotesen förkastas eller inte. Grundhypotesen om vi vill jämföra datan från modellen med en gemensam kö med datan från enskilda köer kommer vara att man ska behålla den gemensamma kön. Så om Grundhypotesen skulle förkastas betyder det att vi borde byta till enskilda köer annars vice versa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Även om det ursprungliga användningsområdet för simulering är produktionssystem, kan de flesta moderna simuleringsprogram, inklusive ARENA, användas för att simulera även servicesystem. Vilka är de huvudsakliga skillnaderna mellan en simuleringsanalys av ett producerande system jämfört med ett servicesystem?

A

Produktionsystem:
Då fokuserar man på produktionsprocessen, man undersöker kapaciteten hos sina resurser, osv. Entiteter har oftast få attribut och transaktionstiderna är stabila.

Servicesystem:
Då fokuserar man på kunderna, serviceupplevelsen, väntetider, osv. Entiteter har oftast många attribut och transaktionstiderna varierar mycket.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad menas med verifiering i simuleringssammanhanget? Hur verifierar man en
simuleringsmodell? Vad är skillnaden mellan verifiering och validering?

A

Validering och verifiering är två olika typer av checkar för att se hur realistisk vår modell är samt om den fungerar på ett korrekt sätt.

Om man utför en validering så vill man undersöka om den byggda modellen stämmer överens med det verkliga system.

Om man gör en verifiering så vill man undersöka om kodningen stämmer överens med modellen.

Några validerings och verifierings metoder är:
- Jämförelse med andra redan gjorda modeller
- Låta experter kolla på modellen “Face Validity”
- Animering
- Jämföra med händelser i modellen med dem verkliga händelser i systemet “Event Validity”
- Turing Test (Visa den data som skapades av det verkliga systemet och den data som skapades av modellen för experter utan att dem vet vilken som är vilken, där experten sedan ska säga vilken som är den riktiga datan.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly