Restaurant Table Management
See the simopt.models.tableallocation module for API details.
Model: Restaurant Table Management (TABLEALLOCATION)
Description
Floor space in a restaurant is allocated to N different sizes of tables, with capacities \(c = [c_1, c_2,..., c_N ], c_i \in Z_+^{n}\). A table of capacity \(c_i\) can seat \(c_i\) customers or fewer. The restaurant can seat a maximum of \(K\) customers at a time, regardless of table allocation, and is open for \(T\) consecutive hours. The decision variable is the vector \(x\) representing the number of tables allocated to each size.
Customers arrive in groups of size \(j \in \{1, ..., max_i(c_i)\}\) according to a homogeneous Poisson process with rate \(\lambda_j\). A group of customers is seated at the smallest possible available table. If there are no available tables large enough, the group of customers leaves immediately. Service time per group is exponential and revenue per group is fixed.
Sources of Randomness
Groups of customers arrive according to a homogenrous Poisson process. Group size is randomly generated with probability proportional to each group’s average arrival rate. Service time per group is exponential.
Model Factors
- n_hour: Number of hours to simulate.
Default: 3
- capacity: Maximum total capacity.
Default: 80
- table_cap: Capacity of each type of table.
Default: [2, 4, 6, 8]
- lambda: Average number of arrivals per hour.
Default: [3, 6, 3, 3, 2, 4/3, 6/5, 1]
- service_time_means: Mean service time in minutes.
Default: [20, 25, 30, 35, 40, 45, 50, 60]
- table_revenue: Revenue earned for each group size.
Default: [15, 30, 45, 60, 75, 90, 105, 120]
- num_tables: Number of tables of each capacity.
Default: [10,5,4,2]
Responses
total_revenue: Total revenue earned over the simulation period.
service_rate: Fraction of customer arrivals that are seated.
References
Original author of this problem is Bryan Chong (March 10, 2015).
Optimization Problem: Maximize Revenue (TABLEALLOCATION-1)
Decision Variables
num_tables
Objectives
Maximize the total expected revenue for a restaurant operation.
Constraints
Number of seats in the restaurant \(<= capacity\).
Problem Factors
- budget: Max # of replications for a solver to take.
Default: 1000
Fixed Model Factors
N/A
Starting Solution
num_tables: [10, 5, 4, 2]. Corresponds to 10 tables of size 2, 5 tables of size 4, 4 tables of size 6, and 2 tables of size 8.
Random Solutions
Distribute total capacity uniformly across table sizes. If the remaining capacity is smaller than the smallest table size, keep the last table allocation as a starting solution.
Optimal Solution
Unknown.
Optimal Objective Function Value
Unknown.