Chinese Restaurant Simulation is a simulation based on activities in a Chinese restaurant between customer groups, cashiers, waiters, and manager. The restaurant has various types of queues such as buffet queue, restaurant queue, waiter queue, checkout queue. The simulation also depends on various distributions on generating random in time in services and types of customers.
This simulation used process interaction method based on the customer group that arrives to the restaurant interacts to the restaurant.
Objects | Class Names | Descriptions | Attributes |
---|---|---|---|
Chinese Restaurant | ChineseRestaurant | An object that contains all objects inside the restaurant |
|
Variabels | Variables | An object that contains all variables required in the restaurant simulation can be called for generating numbers in objects |
|
Seat | Seat | A seat is a component for both buffet and table for a customer to occupied during the services |
|
Table | Table | A table consists of seats and actions for the customer group |
|
Customer | Customer | A person inside the customer group |
|
Customer Group | CustomerGroup | A customer group consists of customers and actions for executing the process |
|
Waiter | Waiter | A waiter provides service to the customer group in restaurant service |
|
Manager | Manager | A manager manages the restaurant queue to the restaurant table according to the strategy of the restaurant |
|
Log is a console log class which allowed the user to choose priorities of information from to the simulation to receive the information as the user would like to see. Log also classifies the information into three types of information. Error, Information, and Event.
- P1 – Highest Priority Log only allows users to see only harsh error happens in the simulation
- P2 – A Priority of Log allows users to see events where the customer groups arrive and leave the restaurant amd error.
- P3 – A Priority of Log that allows users to observe mainly for events happening inside the restaurant
- P4 – Lowest Priority Log that allows users to read every information happens in the restaurant including the constructing and destructing of the objects inside the restaurant.
Random Generators are constructed by using uniform distribution generators that were pseudo generated and saved in kernels set in the file. Each random generator is created for one purpose accordingly.
The generators were tested and the results written in “(project folder)/statistic result”.
An Interval Arrival Generator is a normal distribution generator generated by using two uniform distribution generators, in this project, by rejection method.
The input parameters are an average value of 1500 and a standard deviation value of 100. After running the test, It generates an average value of 1502.
A Waiter Service Time Generator is an exponential distribution generator generated by a uniform distribution generation, in this project, by inverse transformation method.
The input of this generator is an average value of 4000. After running the test, It generates the average value of 4020.
A Buffet Service Time Generator is a normal distribution generator generated by using two uniform distribution generators, in this project, by rejection method.
The input parameters are an average value of 1900 and a standard deviation value of 200. After running the test, It generates an average value of 1902.
Cashier Service Time Generator is an exponential distribution generator generated by a uniform distribution generation, in this project, by inverse transformation method.
The input of this generator is an average value of 220. After running the test, It generates the average value of 222.
A Persons in Group Generator is a generator based on the given possibility of persons occupies in the group. The generator is based on generating a uniform distributed value to compare the range between possibility.
The possibility of this generator is { 0.11, 0.33, 0.33, 0.23 } of possibilities of persons in the group accordingly from 1 person to 4 persons. After running the test, It generates { 0.12, 0.34, 0.33, 0.22 }.
A Buffet Customer Generator is a generator based on comparing the possibility of a generated number from a uniform distribution generator comparing to the possibility of the buffet customer groups.
The possibility of this generator is 60% of the groups are buffet customer groups. After running the test, It generates 59.90% of the generated groups are buffet customer groups.