Discrete-event simulation

A discrete-event simulation (DES) models the operation of a system as a (discrete) sequence of events in time. Each event occurs at a particular instant in time and marks a change of state in the system.[1] Between consecutive events, no change in the system is assumed to occur; thus the simulation time can directly jump to the occurrence time of the next event, which is called next-event time progression.

In addition to next-event time progression, there is also an alternative approach, called incremental time progression, where time is broken up into small time slices and the system state is updated according to the set of events/activities happening in the time slice.[2] Because not every time slice has to be simulated, a next-event time simulation can typically run faster than a corresponding incremental time simulation.

Both forms of DES contrast with continuous simulation in which the system state is changed continuously over time on the basis of a set of differential equations defining the rates of change for state variables.

In the past, these three types of simulation have also been referred to, respectively, as: event scheduling simulation, activity scanning simulation, and process interaction simulation. It can also be noted that there are similarities between the implementation of the event queue in event scheduling, and the scheduling queue used in operating systems.

Example

A common exercise in learning how to build discrete-event simulations is to model a queueing system, such as customers arriving at a bank teller to be served by a clerk. In this example, the system objects are Customer and Teller, while the system events are Customer-Arrival, Service-Start and Service-End. Each of these events comes with its own dynamics defined by the following event routines:

  1. When a Customer-Arrival event occurs, the state variable queue-length is incremented by 1, and if the state variable teller-status has the value "available", a Service-Start follow-up event is scheduled to happen without any delay, such that the newly arrived customer will be served immediately.
  2. When a Service-Start event occurs, the state variable teller-status is set to "busy" and a Service-End follow-up event is scheduled with a delay (obtained from sampling a service-time random variable).
  3. When a Service-End event occurs, the state variable queue-length is decremented by 1 (representing the customer's departure). If the state variable queue-length is still greater than zero, a Service-Start follow-up event is scheduled to happen without any delay. Otherwise, the state variable teller-status is set to "available".

The random variables that need to be characterized to model this system stochastically are the interarrival-time for recurrent Customer-Arrival events and the service-time for the delays of Service-End events.

Components

State

A system state is a set of variables that captures the salient properties of the system to be studied. The state trajectory over time S(t) can be mathematically represented by a step function whose value can change whenever an event occurs.

Clock

The simulation must keep track of the current simulation time, in whatever measurement units are suitable for the system being modeled. In discrete-event simulations, as opposed to continuous simulations, time 'hops' because events are instantaneous – the clock skips to the next event start time as the simulation proceeds.

Events list

The simulation maintains at least one list of simulation events. This is sometimes called the pending event set because it lists events that are pending as a result of previously simulated event but have yet to be simulated themselves. An event is described by the time at which it occurs and a type, indicating the code that will be used to simulate that event. It is common for the event code to be parametrized, in which case, the event description also contains parameters to the event code.[citation needed] The event list is also referred to as the future event list (FEL) or future event set (FES).[3][4][5][6]

When events are instantaneous, activities that extend over time are modeled as sequences of events. Some simulation frameworks allow the time of an event to be specified as an interval, giving the start time and the end time of each event.[citation needed]

Single-threaded simulation engines based on instantaneous events have just one current event. In contrast, multi-threaded simulation engines and simulation engines supporting an interval-based event model may have multiple current events. In both cases, there are significant problems with synchronization between current events.[citation needed]

The pending event set is typically organized as a priority queue, sorted by event time.[7] That is, regardless of the order in which events are added to the event set, they are removed in strictly chronological order. Various priority queue implementations have been studied in the context of discrete event simulation;[8] alternatives studied have included splay trees, skip lists, calendar queues,[9] and ladder queues.[10][11] On massively-parallel machines, such as multi-core or many-core CPUs, the pending event set can be implemented by relying on non-blocking algorithms, in order to reduce the cost of synchronization among the concurrent threads.[12][13]

Typically, events are scheduled dynamically as the simulation proceeds. For example, in the bank example noted above, the event CUSTOMER-ARRIVAL at time t would, if the CUSTOMER_QUEUE was empty and TELLER was idle, include the creation of the subsequent event CUSTOMER-DEPARTURE to occur at time t+s, where s is a number generated from the SERVICE-TIME distribution.[citation needed]

Random-number generators

The simulation needs to generate random variables of various kinds, depending on the system model. This is accomplished by one or more Pseudorandom number generators. The use of pseudo-random numbers as opposed to true random numbers is a benefit should a simulation need a rerun with exactly the same behavior.

One of the problems with the random number distributions used in discrete-event simulation is that the steady-state distributions of event times may not be known in advance. As a result, the initial set of events placed into the pending event set will not have arrival times representative of the steady-state distribution. This problem is typically solved by bootstrapping the simulation model. Only a limited effort is made to assign realistic times to the initial set of pending events. These events, however, schedule additional events, and with time, the distribution of event times approaches its steady state. This is called bootstrapping the simulation model. In gathering statistics from the running model, it is important to either disregard events that occur before the steady state is reached or to run the simulation for long enough that the bootstrapping behavior is overwhelmed by steady-state behavior. (This use of the term bootstrapping can be contrasted with its use in both statistics and computing).

Statistics

The simulation typically keeps track of the system's statistics, which quantify the aspects of interest. In the bank example, it is of interest to track the mean waiting times. In a simulation model, performance metrics are not analytically derived from probability distributions, but rather as averages over replications, that is different runs of the model. Confidence intervals are usually constructed to help assess the quality of the output.

Ending condition

Because events are bootstrapped, theoretically a discrete-event simulation could run forever. So the simulation designer must decide when the simulation will end. Typical choices are "at time t" or "after processing n number of events" or, more generally, "when statistical measure X reaches the value x".

Three-Phased Approach

Pidd (1998) has proposed the three-phased approach to discrete event simulation. In this approach, the first phase is to jump to the next chronological event. The second phase is to execute all events that unconditionally occur at that time (these are called B-events). The third phase is to execute all events that conditionally occur at that time (these are called C-events). The three phase approach is a refinement of the event-based approach in which simultaneous events are ordered so as to make the most efficient use of computer resources. The three-phase approach is used by a number of commercial simulation software packages, but from the user's point of view, the specifics of the underlying simulation method are generally hidden.

Common uses

Diagnosing process issues

Simulation approaches are particularly well equipped to help users diagnose issues in complex environments. The theory of constraints illustrates the importance of understanding bottlenecks in a system. Identifying and removing bottlenecks allows improving processes and the overall system. For instance, in manufacturing enterprises bottlenecks may be created by excess inventory, overproduction, variability in processes and variability in routing or sequencing. By accurately documenting the system with the help of a simulation model it is possible to gain a bird’s eye view of the entire system.

A working model of a system allows management to understand performance drivers. A simulation can be built to include any number of performance indicators such as worker utilization, on-time delivery rate, scrap rate, cash cycles, and so on.

Hospital applications

An operating theater is generally shared between several surgical disciplines. Through better understanding the nature of these procedures it may be possible to increase the patient throughput.[14] Example: If a heart surgery takes on average four hours, changing an operating room schedule from eight available hours to nine will not increase patient throughput. On the other hand, if a hernia procedure takes on average twenty minutes providing an extra hour may also not yield any increased throughput if the capacity and average time spent in the recovery room is not considered.

Lab test performance improvement ideas

Many systems improvement ideas are built on sound principles, proven methodologies (Lean, Six Sigma, TQM, etc.) yet fail to improve the overall system. A simulation model allows the user to understand and test a performance improvement idea in the context of the overall system.

Evaluating capital investment decisions

Simulation modeling is commonly used to model potential investments. Through modeling investments decision-makers can make informed decisions and evaluate potential alternatives.

Network simulators

Discrete event simulation is used in computer network to simulate new protocols, different system architectures (distributed, hierarchical, centralised, P2P) before actual deployment. It is possible to define different evaluation metrics, such as service time, bandwidth, dropped packets, resource consumption, and so on.

See also

System modeling approaches:

Computational techniques:

Software:

Disciplines:

References

  1. ^ Stewart Robinson (2004). Simulation – The practice of model development and use. Wiley.
  2. ^ Matloff, Norm. "Introduction to Discrete-Event Simulation and the SimPy Language" (PDF). Retrieved 24 January 2013.
  3. ^ Park, Hyungwook; Fishwick, Paul A. (2010). "A GPU-Based Application Framework Supporting Fast Discrete-Event Simulation". Simulation. 86 (10): 613–628. doi:10.1177/0037549709340781. ISSN 0037-5497. S2CID 9731021.
  4. ^ Dannenberg, Roger. "An Introduction to Discrete-Event Simulation". Carnegie Mellon School of Computer Science. Retrieved 2022-03-11.
  5. ^ Güneş, Mesut. "Chapter 3: General Principles" (PDF). Freie Universität Berlin. Retrieved 2022-03-11.
  6. ^ Damerdji, Halim; Glynn, Peter W. (1998). "Limit Theory for Performance Modeling of Future Event Set Algorithms". Management Science. 44 (12): 1709–1722. doi:10.1287/mnsc.44.12.1709. ISSN 0025-1909. JSTOR 2634704.
  7. ^ Douglas W. Jones, ed. Implementations of Time, Proceedings of the 18th Winter Simulation Conference, 1986.
  8. ^ Douglas W. Jones, Empirical Comparison of Priority Queue and Event Set Implementations, Communications of the ACM, 29, April 1986, pages 300–311.
  9. ^ Kah Leong Tan and Li-Jin Thng, SNOOPy Calendar Queue, Proceedings of the 32nd Winter Simulation Conference, 2000
  10. ^ Dickman, Tom; Gupta, Sounak; Wilsey, Philip A. (2013). "Event pool structures for PDES on many-core Beowulf clusters". Proceedings of the 2013 ACM SIGSIM conference on Principles of advanced discrete simulation - SIGSIM-PADS '13. p. 103. doi:10.1145/2486092.2486106. ISBN 9781450319201. S2CID 17572839.
  11. ^ Furfaro, Angelo; Sacco, Ludovica (2018). "Adaptive Ladder Queue". Proceedings of the 2018 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation - SIGSIM-PADS '18. pp. 101–104. doi:10.1145/3200921.3200925. ISBN 9781450350921. S2CID 21699926.
  12. ^ Marotta, Romolo; Ianni, Mauro; Pellegrini, Alessandro; Quaglia, Francesco (2017). "A Conflict-Resilient Lock-Free Calendar Queue for Scalable Share-Everything PDES Platforms". Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation - SIGSIM-PADS '17. pp. 15–26. doi:10.1145/3064911.3064926. hdl:11573/974295. ISBN 9781450344890. S2CID 30460497.
  13. ^ Lindén, Jonatan; Jonsson, Bengt (2013). "A Skiplist-Based Concurrent Priority Queue with Minimal Memory Contention". Proceedings of the 2013 Conference on Principles of Distributed Systems - OPODIS 2013. pp. 206–220. doi:10.1007/978-3-319-03850-6_15. ISBN 9783319038490.
  14. ^ John J. Forbus; Daniel Berleant (2022). "Discrete-Event Simulation in Healthcare Settings: A Review". Modelling. 3 (4): 417–433. arXiv:2211.00061. doi:10.3390/modelling3040027.

Further reading

  • Myron H. MacDougall (1987). Simulating Computer Systems: Techniques and Tools. MIT Press. ISBN 9780262132299.
  • William Delaney; Erminia Vaccari (1988). Dynamic Models and Discrete Event Simulation. Dekker INC.
  • Roger W. McHaney (1991). Computer Simulation: A Practical Perspective. Academic Press.
  • Michael Pidd (1998). Computer simulation in management science – fourth edition. Wiley.
  • A, Alan Pritsker, Jean J. O'Reilly (1999). Simulation with Visual SLAM and AweSim. Wiley.{{cite book}}: CS1 maint: multiple names: authors list (link)
  • Averill M. Law; W. David Kelton (2000). Simulation modeling and analysis – third edition. McGraw–Hill.
  • Bernard P. Zeigler; Herbert Praehofer; Tag Gon Kim (2000). Theory of modeling and simulation: Integrating discrete event and continuous complex dynamic systems – second edition. Academic Press.
  • Jerry Banks; John Carson; Barry Nelson; David Nicol (2005). Discrete-event system simulation – fourth edition. Pearson.
  • James J. Nutaro (2010). Building software for simulation: theory and algorithms, with applications in C++. Wiley.

Read other articles:

Hollywood & Highland CenterHalaman depanLokasiHollywood, Los Angeles, CaliforniaAmerika SerikatKoordinat34°06′08.5″N 118°20′22″W / 34.102361°N 118.33944°W / 34.102361; -118.33944Koordinat: 34°06′08.5″N 118°20′22″W / 34.102361°N 118.33944°W / 34.102361; -118.33944Alamat6801 Hollywood BoulevardTanggal dibuka9 November 2001PengembangThe Hahn CompanyPemilikCIM GroupArsitekEhrenkrantz Eckstut & Kuhn ArchitectsJumlah to...

 

Municipality in Tarlac, Philippines Municipality in Central Luzon, PhilippinesBambanMunicipalityMunicipality of BambanPanoramic of Bamban FlagSealMap of Tarlac with Bamban highlightedOpenStreetMapBambanLocation within the PhilippinesCoordinates: 15°16′27″N 120°34′01″E / 15.2742°N 120.5669°E / 15.2742; 120.5669CountryPhilippinesRegionCentral LuzonProvinceTarlacDistrict 3rd districtFoundedJune 6, 1710Barangays15 (see Barangays)Government [1]...

 

Katedral Aachen Aachener DomKatedral Aachen pada tahun 2014AgamaAfiliasiGereja Katolik RomaProvinsiKeuskupan AachenDiberkati805LokasiLokasiAachen, JermanKoordinat50°46′29.1″N 6°5′2.12″E / 50.774750°N 6.0839222°E / 50.774750; 6.0839222 (Aachener Dom)Koordinat: 50°46′29.1″N 6°5′2.12″E / 50.774750°N 6.0839222°E / 50.774750; 6.0839222 (Aachener Dom)ArsitekturTipeKatedralGaya arsitekturCarolingian, Ottonian, Go...

Signature of Mathematicus Christophorus Rothmannus Bernburgensis Christoph Rothmann (between 1550 and 1560 in Bernburg, Saxony-Anhalt – probably after 1600 in Bernburg) was a German mathematician and one of the few well-known astronomers of his time. His research contributed substantially to the fact that Kassel became a European center of the astronomy in the 16th century. Life It is not known today when Rothmann was born, although it is known that his place of birth was Bernberg on the Sa...

 

Champ électrique Représentation du champ électrique en quelques points de l'espace dû à une charge élémentaire positive.Données clés Unités SI N C−1 Dimension M·L·T −3·I −1 Base SI kg m s−3 A−1 Nature Grandeur vectorielle intensive Symbole usuel E → {\displaystyle {\vec {E}}} Lien à d'autres grandeurs D → = {\displaystyle {\vec {D}}=} ε . {\displaystyle \varepsilon .} E → {\displaystyle {\vec {E}}} Conjugu�...

 

NiueNiuēcode: niu is deprecated   (Niuean) Bendera Segel Lagu kebangsaan: Ko e Iki he Lagi  (Niuean)Tuhan di SurgaLokasi Niue di Barat Pasifik Ibu kota(dan kota terbesar)Alofi19°03′14″S 169°55′12″W / 19.05389°S 169.92000°W / -19.05389; -169.92000Bahasa resmiInggrisNiueanKelompok etnik 66.5% Niuean13.4% Part-Niuean20.1% LainnyaAgama 96.4% Kristen3.3% Tidak beragama0.3% Lainnya[1]DemonimNiueanPemerintahan Parlementer kes...

1993 novel by Tad Williams To Green Angel Tower US Hardcover EditionAuthorTad WilliamsCover artistMichael WhelanCountryUnited StatesLanguageEnglishSeriesMemory, Sorrow, and ThornGenreFantasy novelPublisherDAW BooksPublication dateMarch 1993Media typePrint (Hardback and Paperback)Pages1104 pp (Hardback)ISBN0-88677-521-3 (US Hardback)OCLC27606407Dewey Decimal813/.54 20LC ClassPS3573.I45563 T6 1993Preceded byStone of Farewell  To Green Angel Tower is the third and final ...

 

Запрос «Пугачёва» перенаправляется сюда; см. также другие значения. Алла Пугачёва На фестивале «Славянский базар в Витебске», 2016 год Основная информация Полное имя Алла Борисовна Пугачёва Дата рождения 15 апреля 1949(1949-04-15) (75 лет) Место рождения Москва, СССР[1]...

 

Anders Holch Povlsen (Ringkøbing, 4 novembre 1972) è un imprenditore danese, Amministratore Delegato e unico proprietario della catena internazionale di abbigliamento al dettaglio Bestseller, che comprende Vero Moda, Only e Jack & Jones, una società fondata dai suoi genitori. È il maggiore azionista del rivenditore britannico di moda su Internet Asos e il secondo più grande del rivenditore tedesco di abbigliamento su Internet Zalando.[1] È anche il più grande proprietario t...

DC Extended Universe character This article is about the DC character. For the TV series, see Peacemaker (TV series). For the Eastenders character, see Chris Smith (EastEnders). Fictional character PeacemakerChristopher Chris SmithDC Extended Universe and DC Universe characterPromotional still of John Cena as Peacemaker in The Suicide Squad (2021)First appearanceThe Suicide Squad (2021)Based onPeacemakerby Joe GillPat BoyetteAdapted byJames GunnPortrayed byJohn CenaQuinn Bennett (young)Voiced...

 

Icelandic TV mystery drama series TrappedAlso known asÓfærðGenre Mystery Thriller Nordic noir Created byBaltasar KormákurDeveloped by Baltasar Kormákur Sigurjón Kjartansson Written by Sigurjón Kjartansson Clive Bradley Directed by Baltasar Kormákur Baldvin Zophoníasson Börkur Sigthorsson Óskar Thor Axelsson Starring Ólafur Darri Ólafsson Ilmur Kristjánsdóttir Ingvar Eggert Sigurðsson Nína Dögg Filippusdóttir Bjarne Henriksen Björn Hlynur Haraldsson Composers Jóhann Jóhan...

 

Neil Patrick Jordan Oscar alla migliore sceneggiatura originale 1993 Neil Patrick Jordan (Sligo, 25 febbraio 1950) è un regista, sceneggiatore, produttore cinematografico e scrittore irlandese. Nel 1993 venne candidato al Premio Oscar nelle categorie miglior regista e migliore sceneggiatura originale (vincendolo in quest'ultima categoria) per La moglie del soldato. Altri film noti da lui diretti sono In compagnia dei lupi, Mona Lisa e Intervista col vampiro. Indice 1 Biografia 1.1 Vita priva...

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 1986 in Japan – news · newspapers · books · scholar · JSTOR (December 2016) (Learn how and when to remove this message) List of events ← 1985 1984 1983 1986 in Japan → 1987 1988 1989 Decades: 1960s 1970s 1980s 1990s 2000s See also:Other events of 19...

 

Questa voce sull'argomento centri abitati della Virginia Occidentale è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Huntingtoncity(EN) City of Huntington, West Virginia Huntington – Veduta LocalizzazioneStato Stati Uniti Stato federato Virginia Occidentale ConteaCabell AmministrazioneSindacoSteve Williams (D) TerritorioCoordinate38°25′N 82°26′W38°25′N, 82°26′W (Huntington) Altitudine252 m s.l.m. Superficie46,6 km²...

  ميّز عن رونالدو. كريستيانو رونالدو Cristiano Ronaldo كريستيانو رونالدو مع النصر في سبتمبر 2023م معلومات شخصية الاسم الكامل كريستيانو رونالدو دوس سانتوس أفيرو الميلاد 5 فبراير 1985 (العمر 39 سنة)فونشال، ماديرا، البرتغال الطول 1.87 م (6 قدم 1 1⁄2 بوصة)[note 1] مركز اللعب �...

 

Captain America: The First AvengerPoster FilmSutradaraJoe JohnstonProduserKevin FeigeSkenarioChristopher MarkusStephen McFeelyBerdasarkanCaptain Americaoleh Joe SimonJack KirbyPemeranChris EvansTommy Lee JonesHugo WeavingHayley AtwellSebastian StanDominic CooperNeal McDonoughDerek LukeStanley TucciPenata musikAlan SilvestriSinematograferShelly JohnsonPenyuntingRobert DalvaJeffrey FordPerusahaanproduksiMarvel StudiosDistributorParamount PicturesTanggal rilis 19 Juli 2011 (2011-07-19...

 

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. كان سيرابيس إله يوناني-مصري عُبد في مصر الهلنستية يغطي مفهوم الديانة الهلنستية باعتباره الشكل المتأخر للديانة الإغريقية القديمة أيًا من أنظمة معتقدات وممارسات الذين عاشوا �...

Prévessin-Moëns Lambang kebesaranPrévessin-Moëns Lokasi di Region Auvergne-Rhône-Alpes Prévessin-Moëns Koordinat: 46°15′00″N 6°05′00″E / 46.25°N 6.0833°E / 46.25; 6.0833NegaraPrancisRegionAuvergne-Rhône-AlpesDepartemenAinArondisemenGexKantonFerney-VoltaireAntarkomunePays de GexPemerintahan • Wali kota (2008–2014) Jean-Paul LaurensonLuas • Land112,09 km2 (467 sq mi) • Populasi25.300 • K...

 

Canadian actor and director This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Art Hindle – news · newspapers · books · scholar · JSTOR (March 2008) (Learn how and when to remove this message) Art ...