In this assignment, you will implement a simulation of the check‐in process at a fictitious small town airport. You will design an experiment to run the simulation in order to improve the customers' wait time. Finally, you will perform some analyses on the results of your experiment and report your findings.
Since this project is a little more involved than the previous assignments, it will be weighted as two assignments instead of one.
The Falkrinea airport caters to only one airline. The airline offers two types of flight:
The commuter planes have a capacity of 50 coach passenger seats (no first class). Because these flights run frequently, passengers cannot reserve seats ahead of time. These flights run more like buses – if a flight is full, the passenger will go on the next flight. For this assignment, assume that every passenger travels alone.
The international flight planes have a capacity of 150 coach passenger seats and 50 first class passenger seats. Passengers must purchase their tickets and reserve their seats ahead of time for these. Assume that the chance of filling a first class seat is 80%, and the chance of filling a coach seat is 85%.
For both types of flights, you may assume that the demand is identical for flights at all times of the day.
Suppose that a first class ticket costs $1000; a coach ticket on an international flight costs $500; and a coach ticket on a commuter flight costs $200. Further suppose that it costs the airline $10,000 to operate an international flight and $1000 to operate a commuter flight. The airline pays a check‐in agent $25 per hour. The airline would like to keep the payment for the check‐in agent to be within 5% of the total revenue from the flight tickets.
Suppose that the arrivals of the commuters follow the Poisson process, and has an average arrival rate of 40 people per hour. The international passengers are supposed to arrive at least 90 minutes before their scheduled flight. Suppose these passengers follow the normal distribution with mean at 75 minutes, and a variance of 50 minutes2. (Note: if the same arrival time is generated for multiple passengers, their arrival times have to be differentiated – by mere split seconds if necessary)
Upon arriving at the airport, the passengers first have to go to the check-in counter to print out their boarding passes (this is an old airport, it does not support online check-in) and to check in any bags. Then they will have to go through security screening.
The number of bags a passenger carries can be determined using a geometric distribution: let a Bernoulli trial with a success bias p% represent the chance of a passenger stopping bringing bags. Suppose that for commuter passengers, p% = 80% and for international passengers, p% = 60%.
The airline has the space for up to six check-in counters to which it could assign agents to process the passengers. The airline currently has one counter designated for the first-class passengers and three counters for other passengers. When all the agents are busy, the passengers wait in lines. There are two separate lines: one for first class passengers and one for coach passengers.
One of the objectives for this simulation is to determine an allocation policy for the number of agents to help first-class passengers and the number of agents to help coach passengers. The airline wants to ensure that the first-class passengers don't have to wait in line for long; it still wants to keep the wait time for coach passengers reasonable – certainly, it wants to maximize the number of passengers to get to their flights on time. Finally, it is also in the airline's interest to minimize the agents' idle time.
At the check-in counter, the service time is stochastic, but it is made up of the following components:
At the security screening, there are also two separate waiting lines: one for the first-class passengers and one for the coach passengers. There is one screening machine dedicated to the first-class passengers and there are two screening machines for coach passengers. The average service time of each screening machine follows the exponential distribution with an average service time of 3 minutes.
Once the passengers move past the security screening, we assume that they arrived at their gate instantaneously. In other words, if an international passenger leaves the screening area before (or right on) the plane's departure time, he/she is assumed to have made the flight.
If an international passenger is not yet at the gate when his/her flight takes off, then he/she has missed the flight and will then leave the airport. If the passenger has arrived at the airport at least 90 minutes before the scheduled departure, as recommended, the airline will refund the passenger's ticket price since it's the over-crowded airport that caused the delay. Otherwise, the passenger gets no refund. To simplify the problem somewhat, you may assume that the international passengers do not make any logical reasoning – they will not leave the line minutes before the flight takes off even though their chances of catching the flight is practically hopeless.
The handling of the commuter passengers is a little different, however. A commuter passenger cannot "miss a flight" in the sense that his/her ticket is not for a particular flight. So, the gate area is essentially a third waiting queue for the commuter passengers. They will always wait patiently and hop on the next flight with an available spot.
The main component of your program is to simulate the airport check-in scenario as described above. You may also need to write some additional program(s) to run the experiment (see below) and perhaps to do some analysis on the outputs.
As with previous assignments, you may develop your program in Java, C, C++, C#, Python, or a language of your choice (pending approval of the TA) and your top-level program should provide some reasonable input prompts for the user (e.g., "How long do you want to run the simulation?"), and the output should be stored and/or displayed in some reasonable way. To generate random numbers from non-uniform distributions, you may use standard library calls if they are supported. Otherwise, you may have to implement your own.
You should prepare a README file (separate from the analysis report) for the grader. It should explain how to run your program and provide any other relevant information that might help the grader evaluate your program.
In this assignment, your objective in conducting the simulation is to help the airline with the following goals:
Some possible actions that the airline might take include:
Design some experiments to help the airline figure out their best option. Describe your methodology in the report. Some things you should keep in mind:
Your report should explain your experimental design in detail. Not only should you be precise about each step you took, you should also clearly point out all of the design choices you've made and give some reasonable justification for your decisions. You should identify key statistics that you gathered.
After running the experiments, you should present the results in a clear and easy to understand way. Use tables and graphs as necessary.
Some issues you should think about and address in the report:
Draw some conclusions about what the airline should do.
The assignment is due Tuesday, March 29 by 11:59 pm.
Zip your source code files, your write-up, and your README into one zip file and upload it to CourseWeb, in the Homework 4 location.
For more advice on submitting your assignment, see the Assignments section of the Tips for Success page.