Car Park Overspill Study PROJECT DOCUMENTATION FINAL

From Analytics Practicum
Jump to navigation Jump to search


HOME

PROJECT OVERVIEW

PROJECT MANAGEMENT & DOCUMENTATION

Click-here.png PROJECT ANALYSIS & IMPLEMENTATION


Preliminary Phase

Scope

Our sponsor requires us to finish 5 final reports of different development sites during the preliminary phase of our project. The necessary data and infographics are prepared by the sponsor and his tea, our job scope is to compile the report using the sample template and interpret the data to generate some insights which can be helpful for LTA future planning. A typical final report contains the following components:

  1. Executive Summary
  2. Site Background
  3. Site Characteristics
  4. Site Assessment
  5. Survey Findings
  6. Conclusion

“Executive Summary” gives a brief overview of the report and its conclusion. “Site Background”, “Site Characteristics” and “Site Assessment” provides the basic information of the site, such as the nature, the size, the transportation availability of the site and etc. Our focus is on “Survey Findings” which uses the data collected on both weekday and weekend at the site to generate some insights. The generated insights elaborate on the vehicles traffic pattern, the human traffic during different period of the day and most importantly whether there is overspill, this helps LTA understands the utilization rate of the car park and make certain adjustments in the future.

Actual Deliverables

By the end of the preliminary phase, our group has finished 5 final reports as planned at the beginning of the project. These 5 final reports are:

  • Final Report - Greenwood Ave & Hillcrest Rd
  • Final Report - Vivocity
  • Final Report - Frankel Ave
  • Final Report - Jalan Mata Ayer
  • Final Report - Yuhua Market & Hawker Centre

Phase 2

INTERIM

Click-here.png   FINAL


Revised Methodology

We have revised our goal of Phase 2, instead of building a simulation tool with projection of a car park together with its surrounding environment such as streets and roads, now we aim to let the tool to simulate a car park inside traffic only. Considering the raw data at hand, it includes surveyed car parks inbound and outbound traffic. The data become more meaningful when we uncover the pattern of car arriving at a car park and apply the pattern into a model which simulates the traffic inside a car park only. Therefore, we redefined the Phase 2 objective, and accordingly we update the preparing data process to suit the updated needs.

Data Preparation

To help us understand the traffic situation inside a car park, we process the raw data in the following steps:

1. Based on the nature of the car park's associated site, hence, we categorized 4 sets of data - Shopping Malls, F&B Clusters, Community Clubs, and Hawker Centres. The following table shows the basic information of each category:

Site Category Shopping Mall Community Club Hawker Centre F&B Cluster
Num of Samples 17 10 10 7
Survey Periods 10am - 9pm (Weekday & Weekend) 9am - 6pm (Weekend), 2pm - 10pm (Weekday) 7am - 3pm (Weekday & Weekend), 6pm - 8pm(Weekday) 10am - 10pm (Weekday & Weekend)

2. Organize the Inbound Traffic data of each site in a site category, such that we have a collection of data showing the number of arriving cars at each car park in each 15 minutes interval from 7:00 am to 10:00 pm. The following screen shot shows an example of the collection of data of Shopping Mall Category sites:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P1.PNG

3. We understand that the car parks' associated development site have varied capacities in accommodating patrons or customers, so we normalized the data , by applying below formula:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P2.png

The following screen shot shows an instance of data has been normalized:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P3.PNG

4. After normalizing the data, in each site category, we still found a few outliers with normalized value deviating from the mean value greatly. To ensure that the data as input is effective in representing the general cases to the agent-based model we build, we have to remove those outliers. The following plot chart shows an example of the effect before and after removing the outliers:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P4.PNG

Implementation of Agent-based Model

Agent-based Simulation is a micro scale model that simulates the simultaneous operations and interactions of multiple agents in an attempt to re-create and predict the appearance of complex phenomena. Agents are a defined class of objects which have certain attributes and behaviours, they will interact with each other and also the world settings within the environment based on their pre-defined attributes and behaviours. Agent-based simulation is commonly used when agents’ behaviour can be easily defined by simple behavioural rules but the outcome could be complex and difficult to predict, such as the modelling of reproduction, economic benefits, social status and others.

There are 3 main benefits for agent-based simulation compared to normal simulation, such as business process simulation:

  • The utilization of the car park depends on every individual drivers’ behaviour
  • Visualization that is commonly used in agent-based simulation helps us better understand which area of the car park tend to have congestions
  • The model will be flexible enough to takes in user’s inputs since the drivers’ behaviour can easily be adjusted for once and all the drivers will have the updated behaviour

Model Introduction

The following diagram abstractly shows the inputs the simulation model needs and the output it generates. It takes two sorts of inputs:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P8.PNG

1. built-in configurations: Processed data in earlier stage is used here are configuration for the model when simulation the pattern of arriving cars at a car park. It will be scaled up proportionally to one of the user inputs - Car Park Capacity - and generate the number of arriving cars in each time interval.


2. User inputs and heuristic algorithm configuration parameters: There are 4 key user inputs which have to be specified before the simulation of the model. They are “Development Site Type”, “Peak/Non-Peak”, “Maximum Head Count” and “Number of Parking Space” as highlighted in orange in the pictures above. Based on “Development Site Type” and “Peak/Non-Peak”, we will retrieve the processed data which belongs to the 2 categories and this data will be used to calculate the “incoming Traffic / Head Count” at different time periods of the day. Next, the user will use “Maximum Head Count” to specify the rough size of the development site, for example, 1000 indicates that the development site will hold roughly maximum 1000 persons. We multiple the head count with the incoming traffic to find out the “Size of the Incoming Traffic” which is relative to the size of the development site. Lastly, we will generate the cars at different periods based on this data, the cars will interact with each other and also the world to see whether the “Number of Parking Space” entered by the user is enough for such development site.

The diagram shows how different parameters being processed in the model


3. Output Charts: The Model will monitor and display the Occupancy Rate, Number of Overspills, and Average Waiting Time dynamically.

Model Interface

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P7.PNG
Car Park Overspill Study PROJECT DOCUMENTATION FINAL P10.PNG


Defining agents' behavior

There are 2 types of agents in our model, patches and turtles. Patches refer the group units in the environment which are used to facilitate turtles’ behaviour, we have 3 patches, “Road”, “Parking Space” and “Wall”. Turtles refer to class of agents which travels and interacts in the environment, we have 1 turtles class, “Car”.

“Road” is used to allow cars to move around, but additionally, some of the “Road” are identified as “Entrance” which only allows “Cars” to enter into the carpark, “Exit” which only allows “Car” to exit from the carpark and “Crossroad” which allows the cars to make turns. “Parking Space” is used to identify parking slots in the carpark, it will be labelled as “yes” to park if there is no cars on it, the status will be changed to “parked” if there is a car parking on it. “Wall” is simply used to define the boundary of the carpark and the cars will not be able to drive pass “Wall” patches.

“Car” is slightly more complex to define. It has 4 basic behaviours, firstly, it must follow basic traffic rules, in our context, a car must drive on the left of the road and only make turns at crossroad. Secondly, a car or a driver will try to find the optimal place to park the car until the patience runs out, we uses “Patience” variable to describe the car or driver’s patience, it is modelled using normal distribution with user’s input of its mean and standard deviation. If the patience of the driver runs out, he will choose to park whenever he encounters the first free parking space. Thirdly, the driver will leave the carpark after the “Stay Duration” is reached. Similarly, “Stay Duration” is modelled using normal distribution with user’s inputs as well. Lastly, we introduce the idea “Randomness” since not all the drivers will follow the optimal parking algorithm, different drivers may make different decisions based on their own preferences. Hence, we give the driver a “Randomness” variable to make the decision making process more realistic.

Parking Algorithm

Before we discussed the detailed parking algorithm, we have to first understand drivers’ behaviour in normal daily life and transform it into algorithm which best describes it in order to achieve more realistic and accurate simulation result.

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P6.PNG


The picture above describes a driver’s decision making process when enters a carpark. He will have a rough idea of the occupancy rate in the carpark since most of the Singapore carpark shows the number of vacancies at the entrance. If he thinks that occupancy rate is generally low, he will prefer to find a parking space which is near to the destination, in this context the lift or the shop that he wants to go, so that he can minimize the walking distance. The action will be to travel to the area which he thinks is close enough and if there are any vacancies left, he will choose any one of them. On the other hand, if he thinks the occupancy rate is high, the strategy is to find a parking space which is as optimal as possible. In this case, if a vacancy can be found near area which has many parked cars, it is probably a good choice since many people choose to park here while the occupancy rate is high. With these 2 simple behavior in mind, we want to find parking algorithm which suits them the best. After reading through several research papers, especially in the paper Car Parking as a Game Between Simple Heuristics (John M. C. utchinson Carola Fanselow Peter M. Todd, 2012). We managed to find few parking algorithms which can possibly be used:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P5.PNG


“Fixed-Distance-Heuristics” means that the driver will take the first vacancy encountered within a fixed distance to the destination, it takes in a parameter “Distance” which represents the maximum distance that the driver can accept in order to choose the vacancy.

“Proportional-Distance-Heuristics” means that the driver will record down the distance between the first parked car he encounter to the destination, a parameter “Proportion P” will be used to multiple that distance and any vacancies which are smaller than the result will be chosen by the driver.

There are 2 main reasons for choose these 2 algorithms:

1. These 2 algorithms both take into consideration the distance to the destination which we believe is very important in the carpark study. The rest of the 4 algorithm does not consider this piece of information and hence may not describe the real case scenario accurately.

2. In terms of matching to the driver’s behavior, “Fixed-Distance-Heuristics” is very close to the case when the occupancy rate is low while all the rest of the algorithms can be used when the occupancy rate is high. However, one main difference for “Proportional-Distance-Heuristics” is that its parameter is relative to the carpark size while the other algorithms request a different input when the user change the carpark size. Therefore, we can use the optimal value for the “Proportion P” in the simulation with varying carpark size. This will definitely increase user-friendliness and accuracy of the model. With these considerations, we have chosen “Fixed-Distance-Heuristics” and “Proportional-Distance-Heuristics” to be the parking algorithm.

However, drivers in real life do not strictly follow the optimal solution all the time, which is why we introduce the idea of “Randomness” and “Patience”, so the model will check the driver’s patience before deciding the parking algorithm, if the patience has run out, the driver will chooses the nearest vacancy. If not, he will proceed to choose either “Fixed-Distance-Heuristics” or “Proportional-Distance-Heuristics” based on the occupancy rate of the carpark. After choosing the algorithm and decide the direction to go, there is a certain chance which the driver may turn randomly instead of following the result direction from the algorithm since we want drivers’ behavior to be more random and more realistic. This level of randomness can be adjusted by the user. This loop will continue until the driver finds a parking space and start counting his “Stay Duration”. “Stay Duration” is used to model that amount of time which the driver will stay in the carpark, we used normal distribution to randomly generate a “Stay Duration” for the driver based on user’s input of mean and standard deviation. The driver will leave the carpark when the “Stay Duration” is reached and this will end the whole parking process for the driver.

Monitoring Results

The following screen shot shows three gadgets on the model's interface showing Occupancy Rate, Overspill and Average Waiting Time in real time manner during simulating:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P11.PNG

Model Evaluation

The accuracy of the model is hugely important, we want the model to provide realistic simulation of the car park usage so that the user can trust the results and make necessary adjustments based on the simulation results. Therefore, we randomly picked 2 development sites from each category and use their parameters to run the simulation, the simulation results were then exported to compare with the real data. We took the absolute difference between the simulation results and the real data and divide it by the real data to get a percentage error. The table below shows the results:

Car Park Overspill Study PROJECT DOCUMENTATION FINAL P12.PNG

The cause of differences between simulated results and actual data:

  • Unstable human count which can affect the incoming traffic size and eventually the occupancy rate
  • A small car park parking lot capacity tends to be more prone to error: For F&B cluster, the car park tends to be very small which usually has less than 50 parking space, few cars difference can lead to large simulation error in terms of percentage.

Project Assumptions & Limitations

Since our project was done based on a few assumptions, the model also has its limitations, this section will highlight the major points:

  • No real data of parking duration: One of the major limitations is that there is no support of real data of parking duration. In our case, we use a normal distribution with user specified mean and standard deviation to generate the “Stay Duration” for each driver. However, this will definitely affect the accuracy of the model.
  • Constant speed of cars: The speed of the car was designed to be constant which is not true in real life, this could affect the amount of time which the driver takes to find a parking space.
  • Lack of details of driver behaviour (e.g. enter, exit and parking action is instantaneous): Similar to the previous assumptions, there could be many more detailed driver actions, such as entering and exiting the car park, the parking process and others. All of these will affect the traffic in the car park and hence car park usage.
  • Choice of parking algorithm: The parking algorithm for our model was chosen and modified based on common understanding of driver’s behavior in the car park and his decision making process. However, the real case could be different or more details need to be considered.
  • Pre-designed Car park Shape: In order to maintain certain flexibility, our model chose to build the car park into a pre-designed car park shape so that we can adjust to user’s input of car park size. However it is also understood that car park shape will affect the cars’ behaviour significantly.

Further Improvement

The simulation program can be further developed by introducing with the following features:

  • More detailed and accurate behaviour of drivers

More detailed parking cars’ parking behaviours can be studied and modelled, such as the different parking styles: Angle Parking, Perpendicular Parking, and Parallel Parking etc. In our model, due to lack of the data help us to define the parking duration of cars, we set its configuration as parameters that allow user to manipulate. Improvements can be made by collecting and modelling with realistic data showing the pattern of cars’ parking duration.

  • Map realistic car park layout into the model

Modelling with realistic car park layout allows user to get simulation results that are more representative of the real traffic outcomes in the car park. It can be achieved by importing the raster map into NetLogo. Pixels in raster data have to be assigned with appropriate attribute values so that it allows programmer to define the rules for each patch in NetLogo.

  • Introduce additional parameters

We have identified two kinds of parameters that will improve the accuracy of our model:

1.Introducing parameters for configuring different range of confidence interval in defining car arriving pattern
2.Introducing parameters to define the attractiveness of car park associated development site. Besides, the model should capture the relation between this attractiveness parameter with the number of inbound traffic in the car park.

Comments

We thank you for any comment you have for this project!