Artificial intelligence-based room allocation optimization system
An AI-based room allocation system optimizes hotel room assignments by balancing guest satisfaction and operational efficiency through a weighted cost matrix and iterative constraint relaxation, achieving efficient and automated room allocation with reduced computational time and software costs.
Patent Information
- Application Number
- JP2021518743
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-01-07
- Filing Date
- 2020-08-17
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2040-08-17
AI Technical Summary
Hotel room allocation systems face challenges in optimizing room assignments to balance hotel management costs and guest satisfaction, considering hard and soft constraints such as room category, accessibility, and guest importance scores, while current methods are labor-intensive and inefficient.
An artificial intelligence-based system that uses a weighted cost matrix to optimize room allocations by determining guest satisfaction and operational efficiency costs, relaxing constraints iteratively, and employing algorithms like the Hungarian method and Lagrangian relaxation to find near-optimal solutions.
The system provides efficient, automated room allocation that minimizes feature mismatches and operating costs, improving guest satisfaction and operational efficiency, reducing computational time, and eliminating the need for third-party software, while maintaining high-quality solutions.
Smart Images

Figure 0007599414000004 
Figure 0007599414000005 
Figure 0007599414000006
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 62 / 923,774, filed October 21, 2019, the disclosure of which is incorporated herein by reference.
[0002] Field One embodiment is directed generally to computer systems, and more particularly to computer systems that provide artificial intelligence based room allocation optimization. [Background technology]
[0003] Background information Typically, hotel chain operators (or any other type of service that allocates rooms for guests) routinely solve the optimal room allocation problem by manually allocating reservations for guests expected to arrive on a particular day. However, optimal room allocation needs to take into account multiple objectives that belong to two main categories: "hotel operations" and "guest satisfaction". The former is to minimize the total room maintenance cost by minimizing the number of unnecessary upgrades while ensuring uniform room wear, and to increase the room occupancy rate by minimizing one or two day breaks in room usage. The latter is to meet the guest requirement constraints by offering a room category that is the same or better than the one booked in the reservation system. Summary of the Invention [Problem to be solved by the invention]
[0004] Typically, guest requests are considered to be soft constraints that can be violated to meet hard constraints (such as accessible rooms for people with disabilities as defined by the Americans with Disabilities Act ("ADA"), smoking preferences, room capacity, and permitted room category alternatives). Finally, because hotel guests book rooms through various channels, such as the hotel's own website or phone system, corporate agreements, or online travel agencies ("OTAs"), hotel operators may assign guests different importance scores based on their booking channel, frequency of stay (e.g., number of points in a hotel program), and other factors. This implicit definition of guest importance scores can be used to prioritize the allocation of one guest over another, with the goal of maximizing guest satisfaction and building customer loyalty. [Means for solving the problem]
[0005] overview An embodiment provides an optimized room allocation for a hotel in response to receiving a plurality of hard and soft constraints and receiving reservation preferences and room characteristics. The optimization includes determining a guest satisfaction allocation cost based on the reservation preferences and room characteristics, determining an operational efficiency allocation cost, generating a weighted cost matrix based on the guest satisfaction allocation cost and the operational efficiency allocation cost, and generating a pre-room allocation based on the weighted cost matrix. If the pre-room allocation is feasible, the pre-room allocation is the optimized room allocation comprising a feasible selection of elements of the matrix. If the pre-room allocation is not feasible, an embodiment relaxes one or more constraints and repeats the optimization until the pre-room allocation is feasible.
[0006] Further embodiments, details, advantages and modifications will become apparent from the following detailed description of the embodiments, when read in conjunction with the accompanying drawings. [Brief description of the drawings]
[0007] [Figure 1] FIG. 2 is a block diagram of a computer server / system according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram contrasting sub-optimal and optimal room allocations according to embodiments. [Diagram 3] 2 is a flow diagram illustrating functionality of the room allocation optimization module of FIG. 1 according to an embodiment. [Figure 4] FIG. 1 illustrates an example of guest satisfaction optimization according to an embodiment. [Diagram 5] FIG. 1 illustrates an example of weighted cost minimization according to an embodiment. [Figure 6] FIG. 2 illustrates a network flow construction according to an embodiment. [Figure 7] 2 is a flow diagram illustrating functionality of the room allocation optimization module of FIG. 1 according to an embodiment. [Figure 8A] 1 is a graph illustrating objective function value versus number of reservations according to an embodiment of the present invention. [Figure 8B] 1 is a graph illustrating execution time versus number of reservations according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Detailed Description Embodiments optimize hotel room allocations for existing hotel reservations by allocating rooms over a period of several days, taking into account hotel guest specific requirements and accommodation constraints as well as future bookings and room occupancy subject to hotel operational constraints. Embodiments use artificial intelligence with an optimization objective to minimize the mismatch between hotel operational costs and guest requirements for allocated room features, while prioritizing allocations according to guest importance defined by the hotel chain.
[0009] Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. Numerous specific details are set forth in the following detailed description to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. Wherever possible, like reference numerals are used for like elements.
[0010] 1 is a block diagram of a computer server / system 10 according to an embodiment of the present invention. Although the functionality of system 10 is shown as a single system, it may also be implemented as a distributed system. Additionally, the functionality disclosed herein may also be implemented on separate servers or devices that may be coupled via a network. Additionally, one or more components of system 10 may not be included. For example, system 10 may be implemented as a web server or cloud-based functionality, where it is implemented as one or more servers, and no user interface such as a display, mouse, etc. is required.
[0011] The system 10 includes a bus 12 or other communication mechanism for communicating information, and a processor 22 coupled to the bus 12 for processing information. The processor 22 may be any type of general-purpose or special-purpose processor. The system 10 further includes a memory 14 for storing information and instructions executed by the processor 22. The memory 14 may be comprised of any combination of random access memory ("RAM"), read-only memory ("ROM"), static storage such as a magnetic or optical disk, or other types of computer-readable media. The system 10 further includes a communication device 20, such as a network interface card, for providing access to a network. Thus, a user may connect to the system 10 directly, or remotely over a network, or otherwise.
[0012] Computer-readable media may be any available media that can be accessed by processor 22 and includes volatile and nonvolatile media, removable and non-removable media, and communication media. Communication media may include computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media.
[0013] The processor 22 is further coupled to a display 24, such as a liquid crystal display ("LCD"), via the bus 12. A keyboard 26 and a cursor control device 28, such as a computer mouse, are further coupled to the bus 12 to enable a user to connect to the system 10.
[0014] In one embodiment, memory 14 stores software modules that provide functionality when executed by processor 22. These modules include an operating system 15 that provides operating system functionality for system 10. These modules further include a room allocation optimization module 16 that optimizes room allocations, and all other functionality disclosed herein. System 10 may be part of a larger system. Thus, system 10 may include one or more additional functionality modules 18 to include additional functionality, such as functionality of a property management system ("PMS") (e.g., "Oracle Hospitality OPERA Properties" or "Oracle Hospitality OPERA Cloud Services") or an enterprise resource planning ("ERP") system. Database 17 is coupled to bus 12 to provide centralized storage for modules 16 and 18, storing guest data, hotel data, transaction data, and the like. In one embodiment, database 17 is a relational database management system ("RDBMS") that can manage stored data using structured query language ("SQL"). In one embodiment, a specialized point of sale ("POS") terminal 99 generates transactional and historical sales data (e.g., data regarding hotel guest / customer transactions) that is used to perform the optimization. The POS terminal 99 itself may include additional processing capabilities for performing room allocation optimization according to one embodiment and can operate as a specialized room allocation optimization system, either alone or in conjunction with the other components of FIG.
[0015] In one embodiment, especially with a large number of hotel locations, a large number of guests, and a large amount of historical data, database 17 is implemented as an in-memory database ("IMDB"). An IMDB is a database management system that relies primarily on main memory for storage of computer data. It is contrasted with database management systems that utilize disk storage mechanisms. Main memory databases are faster than disk-optimized databases because disk access is slower than memory access, the internal optimization algorithms are simpler, and they execute fewer CPU instructions. Accessing data in memory eliminates seek times when querying the data, providing faster and more predictable performance than disk.
[0016] In one embodiment, the database 17, when implemented as an IMDB, is implemented based on a distributed data grid. A distributed data grid is a system in which a collection of computer servers cooperate in one or more clusters to manage information and related operations, such as computation, in a distributed or clustered environment. A distributed data grid can be used to manage application objects and data shared across servers. A distributed data grid provides low response time, high throughput, predictable scalability, continuous availability and information reliability. In a particular example, a distributed data grid, such as the "Oracle Coherence" data grid from Oracle, stores information in memory to achieve higher performance and uses redundancy in keeping copies of the information synchronized across multiple servers to ensure system resilience and continuous availability of data in the event of a server failure.
[0017] In one embodiment, system 10 is a computing / data processing system that includes an application or collection of distributed applications for an enterprise organization and may also perform logistics, manufacturing, and inventory management functions. Application and computing system 10 may be configured to operate with or be implemented as a cloud-based networking system, a software-as-a-service ("SaaS") architecture, or other type of computing solution.
[0018] As described, optimizing room allocation is a difficult problem to solve. Figure 2 contrasts sub-optimal and optimal room allocation, according to an embodiment. If two overnight reservations A and B for two consecutive days are assigned to two different rooms (i.e., sub-optimal), then a third reservation C cannot be assigned to any of these rooms. However, if reservations A and B are assigned to the same room (i.e., optimal), then reservation C can be assigned to another room.
[0019] Currently, most hotel operators perform room allocation manually, typically by assigning rooms to individual reservations via intuitive domain understanding, which is labor-intensive and often results in allocations that are far from optimal. Some known solutions solve the problem using mixed integer linear programming ("MILP"). However, this approach can take a very long time to execute, requires third-party software libraries licensed at the hotel operator's site, and can be a complex problem to develop and deploy the solution. In contrast, embodiments of the present invention provide an optimized solution while improving the performance of the computer system that performs the function by operating efficiently regardless of the number of active reservations.
[0020] In general, the problem solved by the embodiments is to find the most optimal allocation from the available room inventory, taking into account the incoming reservations and a set of guest preferences, in order to minimize the mismatch of requested room features while keeping the hotel operating costs low. In general, this is currently a time-consuming manual process undertaken by hotel staff on a daily basis. While a satisfactory allocation can be achieved for a one-day period, the complexity grows exponentially as the reservation planning horizon increases.
[0021] In contrast, embodiments achieve an automated room allocation process through a data-driven optimization algorithm. Embodiments build multi-objective functions that influence factors such as reservation preferences, guest importance, and upgrade costs to simulate hard and soft business constraints. Additionally, embodiments differentially weight guest satisfaction and hotel operational efficiency to provide configurable solutions to changing business dynamics.
[0022] Figure 3 is a flow diagram illustrating the functionality of the room allocation optimization module 16 of Figure 1, according to an embodiment. In one embodiment, the functionality of the flow diagram of Figure 3 (and Figure 7 below) is implemented by software stored in memory or other computer readable or tangible medium and executed by a processor. In other embodiments, the functionality may be performed by hardware (e.g., by using an application specific integrated circuit ("ASIC"), a programmable gate array ("PGA"), a field programmable gate array ("FPGA"), etc.), or any combination of hardware and software.
[0023] Embodiments use an input dataset / database 17 to provide historical reservation data and guest information as needed. In one embodiment, the input dataset 17 is the "OPERA" database from Oracle, which contains details about guests and available rooms for a single hotel or a group of related hotels, such as a hotel chain. In other embodiments, a database of guest and room related data for any type of PMS can be used.
[0024] The database 17 further stores constraints used by the embodiment for optimization. These constraints include hard and soft constraints. In the embodiment, the hard constraints include (1) no double booking, (2) same room for the entire reservation period, and (3) non-smoking / smoking / ADA accessibility room requirements must be met. The soft constraints include (1) guest importance, (2) market group importance, (3) room upgrade, (4) room occupancy, and (5) room feature requirements (e.g., floor preference, elevator proximity, adjacent rooms for multi-room bookings). In contrast to the embodiment, known automated room allocation solutions generally rely on rule-based algorithms that can adequately satisfy hard constraints but generally cannot holistically evaluate soft constraints due to lack of comparative cost analysis, and generally process reservations sequentially ignoring other reservations in the planning period.
[0025] At 301, embodiments perform a pre-optimization analysis, which includes performing linear regression to generate feasible room alternatives, create a market group hierarchy, and estimate reservation importance. To determine the room category hierarchy, embodiments use linear regression to determine an "importance score" for each room category using historical booking data including room category, room features, and rate codes, as follows:
[0026]
number
[0027] The hierarchy is used to determine which room alternatives can be considered viable room upgrades.
[0028] The aggregated total booking revenue for all guests within each market group is used to determine the market group tier to establish a default tier, which is used to prioritize guests while allocating room upgrades.
[0029] Embodiments use rule-based or regression-based algorithms to determine reservation importance: if rule-based, embodiments combine the membership level and VIP status of incoming guests to establish a guest priority list; if regression-based, embodiments use historical data to estimate guest revenue potential and repeat likelihood to determine their importance.
[0030] At 302, the embodiment fetches hotel specific settings / configurations from database 17, which include user customizable settings for controlling hard and soft constraints in the algorithm. These settings include upgradeable rooms, which includes a list of substitute rooms that the user can override, with defaults determined from a room category hierarchy analysis. Market group rankings includes a list of market groups (e.g., leisure, package, conference, etc.) that the user can override ordered by importance, with defaults determined from a market group hierarchy analysis. Room upgrades includes settings to control whether the algorithm allows higher room categories than the booked room category to be considered during allocation. Preferred market groups includes a default list of market groups for upgrade consideration if "room upgrade" is enabled. Exclusions includes a list of floors to exclude from consideration when allocating rooms, and excludes rooms with statuses such as "dirty" and "unavailable" if enabled. The optimization objective uses relative weights to balance multiple objective functions: Operational efficiency: Uneven room wear, gaps in allocation, room upgrades ·Guest Satisfaction: Mismatch between guest preferences and assigned room characteristics.
[0031] The functions at 301 and 302 can be considered as pre-processing functions. Then, at 325, "Optimization" is performed. At 303, the guest satisfaction optimization uses the reservation preferences and room features to calculate the allocation cost ("C1"). Each reservation has a specific "reservation preference" code associated with it. These requests are matched with the codes of features present in the room. The greater the deviation from a perfect match, the higher the allocation cost (C1) for guest satisfaction.
[0032] 4 is a diagram illustrating an example of guest satisfaction optimization, according to an embodiment. Figure 4 is for reservation ID #142456, which requested a room with a minibar, coffee machine, and bathtub. The calculated costs are shown in column 401.
[0033] In 304 of FIG. 3, the operational efficiency optimization calculates the allocation cost ("C2") using factors such as room utilization, intermittent utilization, and upgrade cost. For room utilization, the embodiment aims to minimize room wear by tracking occupancy (=days utilized / total days) over a certain period of time. High occupancy rooms are associated with high costs. For intermittent utilization, the embodiment avoids small gaps (in days) between two reservations in a particular room. This allows for efficient management of walk-ins and last minute reservations. The cost is calculated relative to the number of days a room remains unused between two consecutive reservations. For upgrade cost, the embodiment minimizes the cost of reservation upgrade in case of overbooking. The cost is calculated relative to room category and reservation importance to ensure that valued guests are upgraded first. These costs are scaled and combined to result in the cost for operational efficiency (C2).
[0034] At 305, a weighted cost minimization optimization minimizes a weighted allocation cost for reservations. An embodiment derives an allocation cost for each reservation-room pair by combining the hotel's optimization objective weights (W1, W2) with the costs for guest satisfaction (C1) and operational efficiency (C2) as a cost matrix as follows: Total Objective Cost = (W1 x C1) + (W2 x C2). In an embodiment, the weights may be assigned manually by the hotel to emphasize either guest satisfaction or operational efficiency, or the weights may be assigned automatically based on some predefined factors. The matrix includes all possible reservation-to-room allocations, and the optimized solution that solves the allocation problem is the most feasible selection of matrix elements.
[0035] In one embodiment, the generated cost matrix is consumed by a Hungarian optimization method (or "Hungarian allocation algorithm") built with forward-looking modifications that help take future reservations into account when allocating rooms for any particular day. Other possible solutions include greedy heuristic problem solving methods that can be used to order reservations by importance and find the lowest-cost room allocation for each of them sequentially, or mixed integer linear programming ("MILP") using powerful commercial solvers such as Gurobi and CPLEX can be leveraged to find optimal solutions to such problems. However, greedy heuristic problem solving methods provide solutions that are far from optimal, and MILPs are typically difficult to deploy as they take too long to provide optimal solutions and require the installation of special licensed software. In contrast, embodiments have a desirable balance between solution quality and computation time when using the Hungarian allocation algorithm, which is disclosed in detail below.
[0036] FIG. 5 illustrates an example of weighted cost minimization, according to an embodiment. The example in FIG. 5 is a simple example of 3 rooms, 3 reservations, and 2 days. As shown, the cost varies depending on whether day 1 or day 2 is considered first, which shows that a simple greedy approach can provide a suboptimal solution depending on the order of days in which rooms are assigned. It shows the impracticality of a greedy heuristic approach, since trying all possible perturbations of days in the planning horizon becomes computationally infeasible as the horizon increases, even modestly.
[0037] At 306 and 307, embodiments relax the constraints by disabling them sequentially in order of importance. Embodiments perform iterative elimination of conditional checks to find feasible allocations. In embodiments, the following constraints set from the configuration at 302 are used first in the following order: room upgrades ("UGR"), preferred market groups ("PMG"), and room status restrictions ("RSR").
[0038] If not feasible at 307, then embodiments relax these constraints in the above order and attempt a new run of the optimization logic at 325. Finally, if the algorithm still has not reached a feasible solution, then embodiments reset the status of all constraints, limit the booking window to only the first day, and restart the optimization process with this new window. In this case, the solution is feasible if there is no double-booking of rooms, i.e., if two reservations are not assigned to the same room.
[0039] Referring again to optimization 325, solving the disclosed hotel room allocation problem is an NP-hard problem (i.e., it belongs to a broad class of problems for which there are currently no known fast polynomial-time solutions). However, embodiments formulate and solve the problem as a multi-product flow problem with 0-1 (i.e., Boolean) variables. While the problem cannot be solved in strictly polynomial time, embodiments utilize an approximation approach that is near optimal and exceeds the solution obtained by manual room allocation compared to historical data provided by the hotel operator.
[0040] The embodiment performs a Lagrangian relaxation, which consists of relaxing or removing some of the problem constraints to propose a simpler problem that can be efficiently solved by polynomials or another fast algorithm. The relaxed constraints are not completely eliminated, but rather become part of the objective function that has a certain penalty for its violation, forming a so-called Lagrangian objective. By finding the exact value of the penalty coefficient, the problem can be solved towards optimality for continuous variables. When the solution variables are discrete or 0-1, as in the embodiment, this approach provides an approximate solution that is close to optimal.
[0041] The Lagrangian optimization approach of the embodiment is also enhanced by a restrictive combinatorial enumeration search that includes perturbations of the initial solution to allow for different starting points to ensure that there are no better similar solutions to the problem, avoiding obtaining only locally optimal solutions and post-optimization consolidation of said solutions.
[0042] The embodiment formulates the optimized reservation problem as a multi-product flow problem with 0-1 variables. One known method to solve this type of problem using Lagrangian relaxation is to relax the edge capacity constraints and penalize violations of these constraints with a Lagrangian multiplier. In the context of the room allocation optimization problem, that means allowing several reservations to be assigned to the same room on any given stay date.
[0043] However, in contrast to this known approach, the embodiments keep the constraints for the first night in place and solve the relaxed problem as a so-called assignment problem in a bipartite graph, which provides a tighter formulation by keeping some of the constraints in place while still allowing a solution by fast strongly polynomial algorithms. The embodiments allow obtaining an exact optimal solution for the case of one-night reservations even if the reservations may start over a period of several days. On the other hand, if a multi-night reservation has different arrival dates, the embodiments add a specific penalty for rooms on the stay days where there may be multiple reservations assigned to the same room. Finally, the embodiments guarantee that the constraints are met by checking for a single reservation-to-room assignment, and if violated, assign rooms by day as its last step.
[0044] An embodiment performs a type of "greedy" algorithm that orders reservations based on importance and finds the lowest cost room allocation for each of them. However, the embodiment performs a post-allocation swap to improve the solution. An embodiment also performs a type of "Hungarian" algorithm heuristic that starts with day 1 (i.e., the current day) and finds the optimal allocation of reservations for that day using the available rooms. However, the embodiment reorders the days to find the optimal allocation. An embodiment also performs a type of "Lagrangian relaxation" that performs reservation allocation ignoring the double-booking rule. An embodiment then adds a penalty for double-booked rooms and continues to increase the penalty until there are no more double-bookings.
[0045] An embodiment uses the following integer programming formulation to perform the optimization 325 of FIG. 3 utilizing two constraints:
[0046] Conventions: a ij = the "cost" of allocating room i to reservation j x ij= allocation decision variable; if room i is not feasible then x ij ∈{0,1};x ij =0 minΣ ij a ij x ij ·∀j:Σ i∈I x ij =1 and ∀i∈I,∀t:Σ j∈Jt x ij ≦1 (i.e., subject to two constraints), During the ceremony, J. t is the set of “active” reservations on day t.
[0047]
number
[0048] FIG. 6 is a diagram illustrating a network flow construction according to an embodiment. FIG. 6 shows two reservations, one of which (reservation A) starts on day 1 and the other (reservation B) starts on day 2. The arrows represent all possible paths that can be taken, and the thick arrows (e.g., arrows 601-604) represent the selected optimized path. FIG. 6 illustrates the multi-item flow construction described above. In FIG. 6, the nodes are arranged in rows corresponding to specific rooms and columns corresponding to days of the planning period. Each horizontal link corresponds to a stay. The diagonal links correspond to check-in and check-out of the reservation. Each reservation can theoretically be assigned to any room at check-in on the arrival date, thus forming a path that ends with check-out on the departure date. FIG. 6 is a simple example, and a practical example may include nodes and possible paths that correspond to rooms x days as well as rooms x reservations.
[0049]
number
[0050] Figure 7 is a flow diagram illustrating the functionality of the room allocation optimization module 16 of Figure 1, according to an embodiment. Figure 7 focuses specifically on the functionality of optimization 325 of Figure 3.
[0051] At 702, the optimization is initialized by relaxing the room double-booking constraint, setting the double-booking room penalty per day to zero, and setting the penalty update step to an initially configured value. In one embodiment, at 702, the solution is initialized using costs derived from guest satisfaction and operational efficiency factors 305, 303, and 304, respectively, of Figure 3. Additionally, at 702, the Lagrangian penalty is set to zero and the penalty update step is set to an initial value of 0.01.
[0052] At 704, for each day in the planning horizon, relax the double booking constraint and solve the same day room allocation problem using the respective per day room penalty. At 704, solve the above Lagrangian relaxation of the integer programming formulation.
[0053] At 706, it is determined whether there is a double booking. 706 checks the feasibility of the problem by making sure that no rooms are double booked for any stay. If there is a double booking and the iteration limit has not been reached (i.e., yes at 706), then it is determined at 708 whether the iteration limit has been reached. In one embodiment, the iteration limit is set to 10.
[0054] If no at 708, then update the room penalty per day based on the room double booking level using the Lagrangian relaxation described above at 710. At 704 the function restarts / iterates.
[0055] If yes in 708 (i.e., the iteration limit has been reached), then in 712, for each day in the planning period, the embodiment solves the same-day room allocation problem using the respective per-day room penalty, respecting the double-booking constraint by removing rooms booked on that day. In 712, the problem is solved day by day using the previously computed Lagrangian penalty for room allocation, imposing a hard double-booking constraint.
[0056] If no in 706 (ie, no double bookings are found) or after 712, then in 714 a feasible solution is found (ie, the room allocation is optimal).
[0057] Experimental results demonstrate that embodiments improve computational performance while achieving results close to the known optimal MILP solution. The experiments used 1,000 rooms, ∼150 daily arrivals, an average stay of 4 days, and planning horizons varying from 7 to 21 days.
[0058] FIG. 8A is a graph showing objective function value versus number of reservations, according to an embodiment of the present invention. The objective function is the overall cost of the above solution, which represents allocation costs including hotel operating cost components and the cost of not providing the desired room features to the hotel guest. Since the optimization objective is to minimize the cost, the lower the value, the better the solution. 801 represents the optimal MILP solution, and 802 represents a solution according to an embodiment. As shown, per objective function value on the Y-axis, both solutions provide similar results. FIG. 8B is a graph showing run time versus number of reservations, according to an embodiment of the present invention. 803 represents the optimal MILP solution, and 804 represents a solution according to an embodiment. As shown, as the number of reservations increases, the required run time of the MILP solution increases substantially, while the run time of an embodiment of the present invention remains relatively low and constant. Thus, an embodiment of the present invention provides improved computer performance.
[0059] Currently, with known hotel management solutions, the majority of room assignments are done manually by hotel operators each day for arriving guests, which takes a lot of time and effort. The embodiments allow for automation of the room assignment process while maintaining or improving quality. By determining room assignments earlier in the day, additional time is allowed to clean and prepare the assigned rooms. Once an optimized room reservation is determined, the embodiments generate control signals that cause specialized equipment to respond and operate. For example, a room key generator, which can program generic key blanks or create new keys, receives these control signals and generates a corresponding key for the determined assigned room. Additionally, a robotic device can receive control signals to enter the assigned room to help clean the room and ensure that the appropriate supplies are stocked (or provide supplies, if necessary), as well as perform any necessary room inspections (e.g., to determine whether the room is ready to receive new arrivals).
[0060] As disclosed, the room allocation optimization system embodiments speed up the room allocation process while providing a high-quality solution that can meet both the operational and guest experience needs of a hotel. It provides an automated solution by deploying a very lightweight software architecture without relying on any third-party software, and also saves on license costs. Experiments show that the embodiments can allocate rooms to thousands of reservations within a computational execution time of less than one minute. Furthermore, the embodiments enable customized execution of allocation according to the hotel's wishes for operational efficiency or guest satisfaction, which can be switched based on travel season or hotel type.
[0061] Although several embodiments have been specifically shown and / or described herein, it will be understood that variations and modifications of the disclosed embodiments are encompassed within the scope of the appended claims in accordance with the above teachings without departing from the spirit and intended scope of the invention.
Claims
1. 1. A method for optimized room allocation in a hotel, comprising: a computer receiving reservation preferences and room characteristics; and performing an optimization based on a plurality of hard and soft constraints, the optimization comprising: determining a guest satisfaction allocation cost based on the reservation preferences and room characteristics; determining an operational efficiency allocation cost including room utilization, interrupted utilization, and room upgrade costs; and generating a weighted cost matrix based on the guest satisfaction allocated costs and the operational efficiency allocated costs, wherein generating the weighted cost matrix includes, for each of a plurality of reservation and room pairs, combining the corresponding guest satisfaction allocated costs and the corresponding operational efficiency allocated costs with an objective weight, and the optimization further comprises: generating a pre-room assignment based on the weighted cost matrix; The method further comprises: If the pre-room allocation is not feasible, then relaxing one or more constraints and repeating the step of performing the optimization until the pre-room allocation is feasible, the optimization including finding an approximation solution to a multi-commodity network flow problem using Boolean variables, the method further comprising: generating a control signal corresponding to the advance room assignment and automatically electronically programming one or more room keys corresponding to the advance room assignment in response to the control signal; and wherein the computer performs a pre-optimization analysis, the pre-optimization analysis including performing linear regression to generate feasible room alternatives, create a market group hierarchy, and estimate reservation importance.
2. The method of claim 1 , wherein constraints are relaxed by disabling constraints sequentially in order of importance.
3. The method of claim 1 , wherein the advance room allocation is feasible in the absence of double bookings.
4. 2. The method of claim 1, wherein generating advance room allocations based on the weighted cost matrix includes a Hungarian algorithm heuristic problem-solving method for solving an allocation problem, the Hungarian algorithm heuristic problem-solving method including an integer programming formulation that utilizes the guest satisfaction allocation costs and the operational efficiency allocation costs as constraints.
5. A computer program for causing a computer to execute the method according to any one of claims 1 to 4.
6. A memory storing the program according to claim 5; and one or more processors for executing said program.
Citation Information
Patent Citations
Seat reservation method for specifying use time zone
JP2002312440A
Institution use management system
JP2016148920A
Assignments of places
US20090287629A1
Optimization system, optimization method, and optimization program
WO2017056368A1
