Computational Economics 1998 - Seating Simulation

Ravinder Bhavnani

John W. Patty

Jianping Shen

William Vachula

Introduction

We develop a simple model in which agents enter an auditorium and select a seat, based on their locational preference, on group dynamics, and on their desire for solitude. Our model permits us to introduce any number of factors that determine the seating preferences of agents, by virtue of its structure. The results presented here are based on an experiment in which 50 agents enter the auditorium sequentially, once the agent ahead of them has been seated. We present an overview of agent characteristics, describe the auditorium, step through the algorithm for our model, and discuss results and possible extensions in the sections below.

Parameters of the Model

Our model possesses three defining characteristics. These are

The design of our framework was motivated by a desire for flexibility. At its most general, the model can accomodate almost any plausible location, agent population, and decision algorithm(s). In particular, we make the following assumptions for our numerical runs.

Assumptions

  1. The auditorium has 10 rows of 10 seats each, with a walkway encircling the entire body of seats.
  2. Agents costlessly observe the characteristics of all seats and already seated individuals.
  3. Agents move to their seat costlessly (i.e. agents are indifferent with respect to the distance walked to their seat).
  4. Agents enter the auditorium one at a time (in a random order) and seat themselves before the next agent enters.
  5. Each agent is either a member of group 1 or she is not.
  6. An agent must remain seated after choosing her most preferred seat.
The attributes a seat is allowed to have include the following: Thus, we allow individuals to care not only about the location of the seats (front, back, aisle, none of the above), but also about the number of people (0,1, or 2) seated to their left and/or right and the group membership of any such neighbors. We make the simplifying assumption that attendees prefer to sit next to people in their own group rather than those in the other group. We also allow individuals to prefer sitting alone to sitting next to anyone at all, regardless of group. The function we use to calculate the value of seat s to agent i is given by

f(s;i) =
   P[i,1] * # Neighbors in Your Group
+ P[i,2] * I{Is seat s on an aisle?}
+ P[i,3] * I{Is seat s in front?}
+ P[i,4] * I{Is seat s in back?}
+ P[i,5] * I{Is seat s neither aisle, front, or back?}
+ P[i,6] * # Neighbors
+ e[i,s],
where # neighbors is either 0, 1, or 2, I{x} is the indicator function which takes on a value of 1 if x is true and -1 otherwise, and e[i,s] is an agent and seat-specific random variable uniformly distributed between 0 and 1.

Thus we see that an agent is defined by the following type, t[i]:

t[i]=(v[i], h[i], g[i], P[i,1], ..., P[i,6], e[i,1], ..., e[i,100]), where v[i] and h[i] represent the row and column coordinates of agent i, respectively, and g[i] is either 1 or -1, depending on whether or not agent i is a member of group 1 (1 => member of group 1, -1 => not a member).

The Algorithm

We generated 50 agents randomly, with each agent's types being drawn independently. In addition, the draws of the components of an agent's type were independent as well. Finally, agent 1 was allowed to choose her most preferred seat in the empty auditorium, with agent 2 following her, and so forth, until all 50 agents were seated, at which point one run of the numerical analysis of the model was complete.

Results

The computational model, described above, is executed many times for the purpose of observing the effects that each parameter has on the agent’s l ocation or seat, especially group dynamics and externality effects. Below are the results from a single representative run of the model. This particular run used the following model parameter settings:

A 10X10 auditorium with an aisle on each side and one entrance

50 independent agents

Aisle, front, back, and middle seat preferences independently and randomly assigned

Group dynamics of one variable, randomly assigned the value of 1 or -1

A matching preference where like prefers to sit next to like (also 1 or -1)

One externality variable, called solitude, randomly assigned the value of 1 or -1

The results of the model run are shown as tables that represent a bird’s eye view of the auditorium. The 10X10 matrix in the middle of the table represents the seats and the surrounding -1 values the aisles (front, sides, and back). The front of the auditorium is the top row of seats.

Position

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
21
47
20
16
45
-1
41
35
-1
19
-1
-1
44
-1
18
2
-1
-1
-1
-1
-1
1
-1
-1
39
-1
3
-1
-1
30
-1
-1
-1
22
-1
-1
-1
-1
-1
-1
-1
36
-1
-1
-1
23
-1
-1
14
-1
-1
-1
-1
32
-1
-1
33
37
-1
-1
46
-1
-1
-1
-1
40
-1
12
-1
26
-1
-1
-1
-1
25
-1
-1
-1
-1
43
38
49
-1
-1
15
-1
-1
-1
-1
-1
31
-1
9
-1
-1
-1
10
27
48
-1
-1
5
24
11
7
42
-1
-1
8
28
34
-1
29
4
17
0
6
13
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1

This table shows the seating location of all fifty agents. Each agent is individually numbered. Note that since the seating preferences for each agent are dominated by "edges" (aisle, front, and back) over the middle, most agents are located at the "edges".

Aisle Preference

0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
1
0
-1
-1
0
-1
0
0
-1
0
-1
-1
0
0
0
0
0
1
0
0
1
0
1
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
-1
0
0
-1
1
0
0
1
0
0
0
0
1
0
-1
0
1
0
0
0
0
-1
0
0
0
0
-1
-1
1
0
0
1
0
0
0
0
0
-1
0
-1
0
0
0
1
-1
-1
0
0
1
1
1
-1
1
0
0
1
-1
-1
0
-1
-1
-1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0

This table shows each seated agent’s aisle seat preference, either 1 (prefer) or -1 (do not prefer). Note that most of the seated aisle agent’s preferences are met.

Front Preference

0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
1
1
0
1
1
0
1
0
0
1
0
-1
1
0
0
0
0
0
-1
0
0
1
0
-1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
-1
0
0
-1
-1
0
0
1
0
0
0
0
-1
0
1
0
-1
0
0
0
0
-1
0
0
0
0
-1
1
-1
0
0
1
0
0
0
0
0
1
0
-1
0
0
0
-1
1
-1
0
0
-1
-1
-1
1
-1
0
0
1
1
-1
0
-1
1
-1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0

This table shows each seated agent’s front seat preference, either 1 (prefer) or -1 (do not prefer). Note that most of the seated front agent’s preferences are met.

Back Preference

0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
1
0
-1
-1
0
1
0
0
-1
0
-1
-1
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
-1
0
0
-1
1
0
0
-1
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
-1
0
-1
0
0
0
1
-1
1
0
0
-1
1
-1
1
-1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0

This table shows each seated agent’s back seat preference, either 1 (prefer) or -1 (do not prefer). Note that most of the seated back agent’s preferences are met.

Middle Preference

0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
-1
0
-1
-1
0
-1
0
0
-1
0
1
1
0
0
0
0
0
-1
0
0
-1
0
1
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
-1
0
0
-1
-1
0
0
-1
0
0
0
0
1
0
1
0
-1
0
0
0
0
-1
0
0
0
0
-1
1
-1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
1
1
1
-1
0
0
1
-1
-1
0
-1
-1
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0

This table shows each seated agent’s middle seat preference, either 1 (prefer) or -1 (do not prefer). Note that more of the seated middle agent’s preferences are not met. This may be due to the effects of group dynamics and/or solitude.

Group Dynamics

0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
-1
0
-1
-1
0
-1
0
0
-1
0
1
1
0
0
0
0
0
-1
0
0
-1
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
1
0
0
-1
1
0
0
-1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
1
0
0
0
0
0
-1
0
-1
0
0
0
1
1
1
0
0
-1
-1
-1
-1
1
0
0
1
1
1
0
1
-1
-1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0

This table shows each seated agent’s group type, either 1 or -1. Note that clusters of agents of the same type are occurring.

Solitude

0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
-1
0
-1
1
0
1
0
0
1
0
1
-1
0
0
0
0
0
1
0
0
-1
0
-1
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
-1
0
0
0
0
-1
0
0
-1
1
0
0
-1
0
0
0
0
1
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
-1
1
0
0
1
1
1
1
1
0
0
-1
1
1
0
-1
-1
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0

This table shows each seated agent’s solitude preference, either 1 (prefer to be next to others) or -1 (prefer to be alone). Note that most, if not all, agents that prefer to be alone have a neighbor. This is due to the fact that this parameter is dominated by all other parameters, but also, more importantly, that an agent’s solitude changes when other agents who enter the auditorium after that particular agent sit next to her. Most of the agents that prefer solitude have an agent that prefers others sitting next to her. This effect occurs because solitude is a preference that can not be observed by incoming agents and thus an entering agent sees all other agents as the same.

Extensions and Future Work

The current model is rudimentary, but constructed in a manner so that modifications and extensions can easily be implemented and executed. The following is a list of extensions that could be built upon the current model.

Aggregate Utility - Agents have a utility not only for the event, but also due to the combined effects of all of their preferences (friends, solitude, etc.) The utilities of the seated agents can be combined into an aggregate utility. What is that aggregate utility and how can it be increased?

Exiting - Agents have an individual utility for the lecture and if their seating preferences are not met, then this utility may fall below a threshold upon which the agent then decides to leave the auditorium.

Auditorium Structure - The configuration of the auditorium can be altered and the new aggregate effects observed. This could help in determining better configurations for particular types of participants. Aisles could be placed in the center, either vertically or horizontally. The number of seats, row widths, number of rows could all be changed.

Generic Seat Values - Instead of having just aisle, front, back, and middle seat types, each seat could have its own individual value in any configuration.

Moving - It could take time and cost to move from the entrances to your seat and the agents could move over this time, changing their location for each step until they finally sit down.

Multiple Active Agents - There could be more than one agent looking for a seat at the same time. When included with moving, an agent could lose her preferred seat because another agent sits in it before she can get to it.

Groups of Agents - Small groups of agents can arrive simultaneously, either with common preferences, or not. In addition, the group can either act as a whole or with a leader whose preferences dominate. There could also be communication between the group members.

Scanning/Updating - Agents may not be able to "see" the entire auditorium a can only scan an area of their preference. This scanning could be joined with moving for an agent to be able to update her preference while moving toward her seat.

Time-dependent Preferences - An agent’s set of preferences could change due to the amount of time either before or after the beginning of the event.

Moving to Another Seat - An agent remains active, even after sitting down and continues to scan the room for a seat that may be now more preferred to her current location. This could generate some very interesting and complex dynamics.