<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">XCrowd: A Realistic Crowd Simulation Tool for Efficient Movement Management</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jan</forename><surname>Appel</surname></persName>
							<email>appeljan@students.zhaw.ch</email>
						</author>
						<author>
							<persName><forename type="first">Andreas</forename><surname>Weiler</surname></persName>
							<email>andreas.weiler@zhaw.ch</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Science</orgName>
								<orgName type="institution">Zurich University of Applied Sciences (ZHAW)</orgName>
								<address>
									<settlement>Winterthur</settlement>
									<country key="CH">Switzerland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<address>
									<settlement>Paestum</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">XCrowd: A Realistic Crowd Simulation Tool for Efficient Movement Management</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">5D08D30C5477C7292AF49F3821975B7A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T17:17+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Real-Time Crowd Simulation</term>
					<term>Graph Networks</term>
					<term>Crowd Movement Optimization</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This demo paper introduces XCrowd, a solution aiming to bridge the gap between theoretical crowd movement optimisation and realworld operations. By simulating crowd movements on graph networks, XCrowd provides an efficient tool to evaluate crowd behaviour under specific conditions and, for example, validate the efficiency of a certain environment layout. We discuss the methodology, implementation, and potential implications for crowd movement management, as well as outline future directions, including scalability, integration with scheduling models, and addressing real-world dynamic factors.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Events like Music Festivals, Sport Events, or Political Events are usually hosting more than thousands of visitors. Some events have become key destinations for leisure and entertainment, underscoring the importance of efficient visitor scheduling. Visitor Attraction Management is a extensive research area. Leask et al. <ref type="bibr" target="#b0">[1]</ref> present a survey about different aspects like Visitor motivations, preferences, expectations, and segmentation. However, existing theoretical visitor models, may fall short in accounting for dynamic crowd movements and real-world disturbances within defined environments and events.</p><p>Bridging this gap, XCrowd seeks to provide a solution, employing crowd simulation on graph networks to provide a realistic and adaptable, yet computationally feasible, approach to crowd movement management. We introduce XCrowd, detailing its methodology, implementation, and potential implications for crowd movement management. By offering a tool to evaluate crowd behavior under specific conditions, XCrowd aims to validate the efficiency of environment layouts and scheduling models, as well as the accuracy of theoretical scenarios, bringing a different perspective to the intersection of theoretical crowd movement optimization and real-world operations.</p><p>Nowadays, almost any person is trackable by GPS data within a smartphone, wearable, or any other device. Therefore, we are able to know the coordinates of any person in a defined environment. In this presented approach, we currently simulating the GPS signals of persons within a pre-defined environment. However, this could be easily exchanged by the real-time GPS data of mobile devices by single persons or groups of persons.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Approach</head><p>XCrowd is designed as a client-side web application, offering real-time simulation capabilities with the aid of WebGL for efficient rendering and cross-platform support. The core of the simulation relies on a linked graph structure which effectively models the layout and pathways of pre-defined environments. As early performance tests confirmed, a modern personal computer is capable of simulating several thousands of visitors in real-time. To ensure efficient path finding, XCrowd employs a modified version of Dijkstra's algorithm <ref type="bibr" target="#b1">[2]</ref> that takes into account the current capacity of edges, allowing visitors to navigate within the environment and avoid congestion in a manner reflective of real-world crowd dynamics. The application utilizes a real environment map as its foundational base, providing a realistic reference for the graph network. Furthermore, XCrowd envisions future integration with real-world environment semantics, enhancing the accuracy and applicability of the simulation to diverse event scenarios.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Implementation</head><p>The core of the simulation is based on a graph representation of the environment, realised as a linked graph of MapNodes, which represent geographical locations in the environment, such as restaurants, shops, crossroads, or simply points along a pathway, and MapEdges, which represent the connections between these locations, i.e., the pathways. Each MapNode knows its properties such as its coordinates or the type of location it represents, as well as which MapEdges are connected to it. Each MapEdge knows its properties such as its length, the MapNodes it connects, or its capacity.</p><p>Visitors of the events are represented as Persons. When they are created at a MapEntrance, which is a special kind of MapNode that allows Persons to enter and exit the environment, they are assigned a list of stops they wanted to visit. Currently, these are random locations within the environment and serve as a placeholder for visitor schedules. Upon initialization, the Person's route to the first stop is computed using a modified version of Dijkstra's algorithm.</p><p>Each simulation step, each Person moves along its current MapEdge. Once it reaches a MapNode, three possible things may have occurred: Firstly, the Person may have reached its destination, i.e., the Person's last stop. Usually, this is a MapEntrance. If so, the Person is removed. Secondly, the Person may have reached one of its stops. If so, the stop is removed from the Person's list and a new route to the next stop is computed. Thirdly, the Person may have simply reached a MapNode within its current route, in which case the Person checks whether the next MapEdge's current capacity is greater than zero. If so, the Person enters the MapEdge. Otherwise, a new route to the next stop is computed. This way, the Person will try to avoid congested pathways and might find a way around the congestion much like a real-world visitor would.</p><p>The route computing algorithm is based on Dijkstra's algorithm. In addition to the MapEdge's length, however, its currently remaining capacity is also a factor: With capacityPunishment(𝑝, 𝑐, 𝑚) = 1 + 𝑎</p><formula xml:id="formula_0">( max(0,𝑐−𝑝) 𝑚 ) 𝑏 + 1</formula><p>, 𝑝 is the capacity needed by the Person (usually 1, but this allows for groups of people), 𝑐 is the current capacity of the MapEdge, and 𝑚 is the maximum capacity of the MapEdge used for normalization. 𝑎 and 𝑏 are arbitrary constants describing the maximum punishment and sensitivity, respectively. We chose 𝑎 = 100 and 𝑏 = 100. The cost of a MapEdge 𝑒 is computed as</p><formula xml:id="formula_1">cost(𝑒) = distance(𝑒) • capacityPunishment(𝑒).</formula><p>Since in some circumstances of high congestion, the Persons may not be able to find a route to their next stop and end up calling the route computing algorithm over and over, we introduced a cool down of 20 simulation steps for each Person. This way, the Person will simply wait for up to 20 simulation steps before trying to find a new route, which reduces the computational load dramatically.</p><p>Although under specific circumstances, a situation may occur where the Persons on a MapEdge are unevenly distributed, this poses no problem in the overall simulation as this effect is only noticeable on graphs with very few or very long MapEdges and vanishes as the graph becomes more detailed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Results</head><p>The current status of the project showcases XCrowd as a functional web-based application, offering users real-time simulation and graph editing capabilities. A publicly accessible instance is available at https://xcrowd.cloudlab.zhaw.ch/, providing a platform for users to interact with the simulation and assess the project.</p><p>XCrowd serves as a supportive application for evaluating and enhancing environment efficiency by identifying potential bottlenecks and improving visitor flow within the simulated environment. While the current version represents a functional foundation, the project continues to evolve with future enhancements and features planned to further refine its capabilities and broaden its applicability to diverse environmental setups or other scenarios as can be seen in the Figures <ref type="figure" target="#fig_1">1 and 2</ref>.</p><p>Figure <ref type="figure" target="#fig_1">2</ref> presents a case studie for a pre-defined music festival environment. The famous heavy metal festival Wacken increased its visitor amount from 800 in 1990 to 100.000 in 2022 and 61.000 in 2023. Therefore, the management of the crowd movement becomes more and more crucial. By using the XCrowd application we are able to simulate the movement of the pre-defined amount of visitors between the different spots, stages, and other points of interest. By defining the weight of the single edges between the spots, we can also simulate how many persons would be able to use this path. Hereby, it would be possible to evaluate emergency exits and the paths to them. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Vision</head><p>To accommodate larger environments, there is potential to shift towards server-side simulation or even make use of distributed computing. This would enable the simulation of more detailed scenarios as well as larger crowds and more complex environment layouts, ensuring scalability to meet the demands of diverse environments.</p><p>We are also plan to evaluate further work with an extended version of XCrowd, which is specialized for theme parks, to identify features such as daily schedule planners for theme park visitors. By combining XCrowd with these models, the application could offer insights not only into crowd dynamics but also into the overall visitor experience, including the effectiveness of their schedules or the park's resource allocation. Enhancing the realism of the simulation involves incorporating unexpected events such as changes in ride availability, or variations in visitor behavior. Factors such as weather conditions, the need for food or restroom breaks, and potential emergencies could be integrated to create a more realistic and adaptable simulation, providing a broader spectrum of scenarios for evaluation.</p><p>Future iterations of XCrowd should also focus on improving the user interface and experience. This includes working on the simulation customization options, the map editing tools, and the inspector capabilities, making the application more intuitive and user-friendly for event managers and planners.</p><p>To enhance compatibility and streamline the workflow, XCrowd could support common standards and allow direct import for data such as the events's expected visitor numbers, opening hours, or geographical layout. This would facilitate the integration of real-world event semantics and enable users to work with a wider range of data sources seamlessly.</p><p>XCrowd offers a work-in-progress and a vision for the future of crowd movement management evaluation by combining theoretical models with more realistic crowd simulations. The application provides valuable insights into visitor behaviors and event dynamics, paving the way for more informed decision-making and enhanced visitor experiences. By integrating recorded or live GPS data, which of course requires the confirmation of the visitor, of the visitors the application gets even more powerful. It would be possible to simulate past crowd movements and detect special cases or abnormal behavior. Furthermore it would be possible to reconstruct single paths from monitored visitors or groups.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Overview of the XCrowd application interface. Blue dots represent nodes, green dots represent entrance nodes, black lines of different thickness represent edges of different capacity, and red dots represent people. The park layout used for reference is from Europa-Park in Rust, Germany and was rendered from OpenStreetMap data [3].</figDesc><graphic coords="2,72.00,65.61,451.24,266.32" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Another use case of the XCrowd application interface. This map represents the festival environment of the Wacken Festival 2023. We can simulate the movement of the visitors within the environment.</figDesc><graphic coords="3,72.00,65.61,451.26,262.98" type="bitmap" /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Visitor attraction management: A critical review of research 2009-2014</title>
		<author>
			<persName><forename type="first">A</forename><surname>Leask</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.tourman.2016.06.015</idno>
		<ptr target="https://doi.org/10.1016/j.tourman.2016.06.015" />
	</analytic>
	<monogr>
		<title level="j">Tourism Management</title>
		<imprint>
			<biblScope unit="volume">57</biblScope>
			<biblScope unit="page" from="334" to="361" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Dijkstra&apos;s algorithm online: an empirical case study from public railroad transport</title>
		<author>
			<persName><forename type="first">F</forename><surname>Schulz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Wagner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Weihe</surname></persName>
		</author>
		<idno type="DOI">10.1145/351827.384254</idno>
		<idno>doi:10.1145/ 351827.384254</idno>
		<ptr target="https://doi.org/10.1145/351827.384254" />
	</analytic>
	<monogr>
		<title level="j">ACM J. Exp. Algorithmics</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page">12</biblScope>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">O</forename><surname>Contributors</surname></persName>
		</author>
		<ptr target="https://www.openstreetmap.org" />
		<title level="m">Planet dump retrieved from</title>
				<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
