Hospital operating room scheduling optimization method and system based on multi-dimensional constrained programming
Through the multi-dimensional constraint planning hospital operating room scheduling optimization method, the surgical related data is integrated and the optimized surgical scheduling plan is generated, which solves the problem of idle and tight operating room resources coexisting, realizes the automation and intelligence of surgical scheduling, and improves resource utilization and patient satisfaction.
Patent Information
- Application Number
- CN202510766080.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-10
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2045-06-10
AI Technical Summary
The existing surgical scheduling methods are difficult to effectively deal with multi-dimensional constraints such as operating room resources, doctor time, department priority, etc., resulting in idle and tension in operating room resources coexisting, frequent operation delays, and inability to adapt to complex medical environments.
The hospital operating room scheduling optimization method based on multi-dimensional constraint planning is adopted. By integrating surgical related data, a data association input table is constructed, an allocation variable set is generated and a condition constraint set is constructed, and an optimized surgical scheduling plan is generated using the target optimization function and branch delimiting algorithm.
The automation and intelligence of surgical scheduling have been realized, the efficiency and rationality of surgical scheduling have been improved, the allocation of medical resources has been optimized, the operation delay has been reduced, and the patient satisfaction and the competitiveness of the hospital have been improved.
Smart Images

Figure CN120280108A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of medical informatization management, and particularly to a hospital operating room scheduling optimization method and system based on multi-dimensional constraint programming, which is mainly used to realize the intelligence and high efficiency of surgical scheduling through constraint programming technology. Background Art
[0002] In modern hospital management, surgical scheduling is an extremely crucial and complex task, involving multi-dimensional constraints such as time, resources, priorities, and personnel. Its rationality and efficiency directly affect the overall operating efficiency of the hospital, the utilization rate of medical resources, and patient satisfaction. With the continuous development of medical technology and the increasing growth of patients' medical needs, traditional surgical scheduling methods usually rely on manual experience and are difficult to handle multi-dimensional constraints such as operating room resources, doctors' time, department priorities, etc., resulting in the coexistence of idle and tense operating room resources and frequent surgical delays, and being unable to adapt to the increasingly complex medical environment. Therefore, the intelligent scheduling method based on constraint programming has become a key technology to solve this problem.
[0003] Currently, surgical scheduling faces many severe challenges. The surgical characteristics of different departments vary greatly, and the professional requirements for surgical time, equipment, and medical staff are very different. At the same time, there is diversity in doctors' work arrangements. Some doctors have specific surgical time preferences and need to consider the matching of their professional expertise and surgical needs. In addition, patient factors such as the urgency of the condition and age also have an important impact on the surgical order. Most of the existing surgical scheduling methods lack systematic and intelligent considerations and are difficult to comprehensively take into account these complex factors, resulting in problems such as the coexistence of idle and tense operating room resources and frequent surgical delays, which seriously restricts the improvement of the hospital's medical service quality. Therefore, it is extremely urgent to develop an intelligent, efficient, and accurate surgical scheduling optimization system. Summary of the Invention
[0004] In view of the above problems, the present invention proposes a hospital operating room scheduling optimization method and system based on multi-dimensional constraint programming. By deeply integrating various types of data related to hospital surgeries and using constraint programming technology to handle multi-dimensional constraints such as time, resources, priorities, and personnel, the automation and intelligence of surgical scheduling are realized, thereby significantly improving the rationality and efficiency of surgical scheduling, optimizing the allocation of medical resources, and enhancing the overall medical service level of the hospital. The above object of the present invention is achieved through the following technical solutions: The present invention provides a hospital operating room scheduling optimization method based on multi-dimensional constraint programming, including, Step S1: Respond to a surgical scheduling request; Step S2: According to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table containing the mapping relationships between departments, medical treatment groups, operating rooms and surgical applications, and load it into the scheduling optimization mechanism; Step S3: Based on the data association input table, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the allocation variable sub-module, and constructs a conditional constraint set including time non-overlap constraints by the constraint control sub-module to constrain the scheduling variables. At least two objective optimization functions are constructed by the objective optimization sub-module, and a scheduling decision objective function is formed through weighted combination; Step S4: Based on the scheduling decision objective function, call the branch and bound algorithm to solve the scheduling variable solution of the scheduling decision objective function, and extract the corresponding surgical scheduling information based on the scheduling variable solution to generate an optimized surgical scheduling plan.
[0005] Further, in Step S2, according to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table containing the mapping relationships between departments, medical treatment groups, operating rooms and surgical applications, and load it into the scheduling optimization mechanism, including, Obtain the preprocessed basic surgical scheduling data from the information system, including the department coding table, medical treatment group information table, operating room configuration table, surgical day schedule table and surgical application form; Based on the foreign key association relationships and / or semantic field mappings between the tables in the basic surgical scheduling data, through the association construction module, construct a data association table and generate a data input set for scheduling optimization. The data input set is respectively used as the basic data for variable allocation by the allocation variable sub-module and the surgical scheduling information for the constraint control sub-module to provide the construction of scheduling constraints.
[0006] Further, through the association construction module, construct a data association table and generate a data input set for scheduling optimization, including, Generate a surgical set through the first data construction unit. The surgical set is , where S is the surgical set, i is any surgery in the surgical set, and the surgery includes the surgery ID, estimated duration, name of the department, surgical urgency and basic information of the patient; Generate an operating room set through the second data construction unit. The operating room set is , where R is the operating room set and r is any operating room ID in the set; Generate a doctor set through the third data construction unit. The doctor set is , where D is the doctor set and d is any doctor participating in the surgery; Generate an optimized unit set through the fourth data construction unit, where the optimized unit set is , P is the optimized unit set, and p is any combination of the primary surgeon and the first assistant in the optimized unit set. Among them, the optimized unit is to construct the association relationship between the primary surgeon and the diagnosis and treatment group based on the diagnosis and treatment group information table and the primary surgeon in the operation application form, and merge the corresponding operations by identifying the first assistant in the same primary surgeon and the affiliated diagnosis and treatment group to form an optimized unit.
[0007] Furthermore, in step S3, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the assignment variable sub-module based on the data association input table, including Step S31: Receive the data input set as the basic data for variable assignment; Step S32: The assignment variable sub-module constructs multiple scheduling variables for assignment based on the data input set. The assignment variable sub-module includes a first assignment unit, a second assignment unit, a third assignment unit, and a fourth assignment unit; Generate a surgical assignment variable through the first assignment unit as , where , used to determine whether the operation is assigned to the operating room ; Generate a doctor assignment variable through the second assignment unit , where , used to determine whether the doctor is assigned to the operating room ; Generate a surgical start time variable through the third assignment unit , where , is the start time of the operation ; Generate a sequence variable through the fourth assignment unit , where , used to determine whether the operation in the same operating room is performed before the operation .
[0008] Furthermore, in step S3, the constraint control sub-module constructs a conditional constraint set including time non-overlap constraints to constrain the scheduling variables, including: Receive the assignment variable set and the data input set; perform conditional constraints through the constraint control sub-module, where the constraint control sub-module includes a first constraint unit, a second constraint unit, a third constraint unit, a fourth constraint unit, and a fifth constraint unit; Perform a unique surgical assignment constraint through the first constraint unit to determine that the operation i is only assigned to one operating room r, and the formula is ; The doctor consistency constraint is carried out through the second constraint unit, which is used to determine that when the doctor d responsible for operation i is assigned to the operating room r, operation i is performed. The formula is ; The co-surgery constraint is carried out through the third constraint unit, which is used for the operation set of the combination of the surgeon and the first assistant to be carried out in the same operating room r. The formula is , where is for each group of optimization units , let be its corresponding operation set; The department priority constraint is carried out through the fourth constraint unit, which is used to assign the operating room r to the operation with priority. The formula is , where is the set of priority available operating rooms, is the set of operations with priority; The time non-overlap constraint is carried out through the fifth constraint unit. For the same operating room , if and , then , which is used to constrain that when operation i and operation j are carried out in the same operating room r, the start time of operation j is after the end of operation i.
[0009] Furthermore, in step S3, the constraint control sub-module further includes a sixth constraint unit, The operation completion time constraint is carried out through the sixth constraint unit, which is used to constrain that the end time of each operation does not exceed the latest completion time among all operations. The formula is , where is the latest completion time among all operations.
[0010] Furthermore, in step S3, at least two objective optimization functions are constructed through the objective optimization sub-module, and a scheduling decision objective function is formed through weighted combination, including: An optimization objective function including the total occupation duration of the operating room and the operating room utilization rate is constructed through the objective optimization sub-module, and a scheduling decision objective function is formed through weighted combination. The scheduling decision objective function is ; where is the latest completion time in the operation, is the operating room utilization rate, and are weight coefficients, is the estimated duration of operation i, is the operation allocation variable, and |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r.
[0011] Further, in step S4, based on the scheduling decision objective function, the branch and bound algorithm is called to solve and generate the scheduling variable solution of the scheduling decision objective function, including: An initial scheduling solution of the scheduling decision objective function is generated through the initial scheduling algorithm for obtaining initial scheduling information. The initial scheduling algorithm includes the shortest operation first algorithm, the longest operation first algorithm, or the emergency first algorithm; Based on the initial scheduling solution, the branch and bound algorithm is called for iterative optimization. During the optimization process of the branch and bound algorithm, one or more new branches are generated according to the preset time conflict or resource conflict points, and the scheduling decision objective function values corresponding to the solutions of each new branch are calculated; During the iteration process, if the scheduling decision objective function value of a certain new branch solution is better than that of the current optimal solution, then the new branch solution is updated as the current optimal scheduling variable solution; otherwise, the new branch is pruned to avoid ineffective search.
[0012] Further, in step S4, the corresponding surgical scheduling information is extracted based on the scheduling variable solution to generate an optimized surgical scheduling plan, including generating the surgical scheduling plan for each operation based on the scheduling variable solution and performing integrity verification. The surgical scheduling plan includes the operation ID, the operating room ID, the surgeon in charge, the operation start time, and the operation completion time; among them, it also includes traversing all operations and marking the unassigned operations for adjustment and arrangement.
[0013] Based on the same inventive concept, the present invention also provides a hospital operating room scheduling optimization system based on multi-dimensional constraint programming, which adopts the hospital operating room scheduling optimization method as described above, including, A data processing module, which is used to respond to the surgical scheduling request; according to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table including the mapping relationship between departments, treatment groups, operating rooms, and surgical applications, and load it into the scheduling optimization mechanism; A scheduling optimization module, in which the scheduling optimization mechanism is based on the data association input table. Through the assignment variable sub-module, an assignment variable set for scheduling variable control is generated, and the conditional constraint set including the non-overlapping time constraint is constructed by the constraint control sub-module to constrain the scheduling variables. At least two objective optimization functions are constructed by the target optimization sub-module, and a scheduling decision objective function is formed through weighted combination. Based on the scheduling decision objective function, the branch and bound algorithm is called to solve and generate the scheduling variable solution of the scheduling decision objective function; A scheduling output module, which is used to extract the corresponding surgical scheduling information based on the scheduling variable solution to generate an optimized surgical scheduling plan.
[0014] Compared with the prior art, the present invention has at least one of the following beneficial effects: By integrating hospital surgery-related data and applying constraint programming techniques to handle multi-dimensional constraints such as time, resources, priorities, and personnel, the present invention realizes the automation and intelligence of surgical scheduling. By constructing a mathematical optimization model and using linear programming algorithms, the present invention not only significantly improves the efficiency and rationality of surgical scheduling, but also optimizes the allocation of medical resources and enhances the overall service level of the hospital. Compared with traditional methods, it can effectively reduce surgical delays, improve the utilization rate of operating room resources, thereby improving the patient's medical experience and enhancing the competitiveness and social reputation of the hospital.
[0015] (1) The optimization method based on multi-dimensional constraint programming comprehensively considers multi-dimensional constraints such as time, resources, priorities, and personnel, improving the accuracy and rationality of surgical scheduling. Compared with traditional scheduling methods, it can accurately match surgeries with operating room resources and reduce surgical delays caused by unreasonable arrangements.
[0016] (2) Effectively improve the utilization rate of operating room resources. By optimizing the daily surgical arrangements with intelligent algorithms, the use of each operating room is made more balanced.
[0017] (3) Effectively reduce surgical delays. Through reasonable and orderly surgical arrangements, surgical delays are reduced, thereby improving patient satisfaction and enhancing the hospital's social reputation and competitiveness.
[0018] (4) Provide strong data support and scientific basis for hospital management decision-making, helping hospital managers accurately plan medical resources, reasonably allocate human and material resources, and improve the hospital management level and decision-making scientificity. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 It is a flowchart of the steps of the hospital operating room scheduling optimization method based on multi-dimensional constraint programming of the present invention; Figure 2 It is a schedulable view of the scheduling optimization method in the embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0020] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Apparently, the described embodiments are some, but not all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the scope of protection of the present application.
[0021] Those skilled in the art can understand that, unless specifically stated otherwise, the singular forms "a", "an", "the" and "said" used herein may also include the plural forms. It should be further understood that the term "comprising" used in the specification of the present invention means the presence of the described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups.
[0022] The first embodiment As Figure 1 shown, the present invention provides a method for optimizing the operating room scheduling in a hospital based on multi-dimensional constraint programming. By integrating multi-dimensional constraint conditions such as time, resources, priorities and personnel, the intelligent and efficient operation scheduling is realized. The steps include: Step S1: Respond to the operation scheduling request; Step S2: According to the operation scheduling request, obtain the basic operation scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table including the mapping relationship between departments, treatment groups, operating rooms and operation applications, and load it into the scheduling optimization mechanism; Step S3: Based on the data association input table, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the allocation variable sub-module, and constructs a conditional constraint set including time non-overlap constraints by the constraint control sub-module to constrain the scheduling variables. At least two objective optimization functions are constructed by the objective optimization sub-module, and a scheduling decision objective function is formed through weighted combination; Step S4: Based on the scheduling decision objective function, call the branch and bound algorithm to solve the scheduling variable solution of the scheduling decision objective function, and extract the corresponding operation scheduling information based on the scheduling variable solution to generate an optimized operation scheduling plan.
[0023] Further, obtain the basic operation scheduling data to be optimized in the operation scheduling and perform data cleaning and preprocessing. This step mainly obtains multi-source data from multiple information system interfaces, such as loading all data resources related to operation scheduling from the hospital information management system HIS, the electronic medical record system EMR and the operation scheduling system, including basic operation scheduling data in aspects such as department management, treatment group configuration, electronic medical records, and operation scheduling, including department coding tables, treatment group information tables, operating room configuration tables, operation day scheduling tables, operation application forms and other basic data. Based on the corresponding relationship between department codes and names covered by this basic data, the treatment groups to which doctors belong, the association between operating rooms and departments, the arrangement of operating departments on the current day, the detailed application information of operations, and some special configuration information, etc., construct the core input for the operation scheduling optimization mechanism, including: Obtain basic data for surgery scheduling, and clean, convert and organize the basic data for surgery scheduling; the basic data for surgery scheduling includes department coding table, diagnosis and treatment group information table, operating room configuration table, surgery day plan table and surgery application form; The department code table contains the department ID and name of each department, as well as location information and contact information. The department ID is the unique identifier of the department, which is used to provide the correspondence between each department name and its corresponding department ID, that is, the correspondence between the department code and the name; The treatment group information table contains the treatment group ID, the main surgeon, the team member list, and the department ID to which they belong. It is used to record the relationship between the doctor and the treatment group to which he belongs. The team member list includes the first assistant, the second assistant, and other auxiliary personnel. The operating room configuration table contains the operating room ID, operating room name and department ID, as well as equipment details and capacity. It is used to list the configuration of the operating room, including available operating rooms, equipment, operating room type and other information. The capacity is the maximum number of surgeries or people that the operating room can accommodate; The surgery day schedule contains the department ID and the expected surgery date, and is used to list the department's scheduled surgery days on a daily basis; The surgery application form contains the patient ID, basic patient information, surgery ID, surgery name, surgeon, team member names, estimated surgery date, surgery urgency, estimated duration and operating room requirements, and is used for surgery scheduling and resource allocation.
[0024] Secondly, the basic data of surgical scheduling is cleaned, converted and sorted, including: Data cleaning: Check the data in the department coding table, diagnosis and treatment group information table, operating room configuration table, surgery day plan table and surgery application form to remove data records with abnormal values. By removing these abnormal records, the accuracy of subsequent data processing and analysis is guaranteed. For example, surgery application forms with missing information about the operating department or doctor are removed; Data conversion: replace the department ID code in the surgery application form with a unified corresponding department name through the department coding table to facilitate subsequent operations and understanding. Standardize some department names to make the data consistent in the representation of department names.
[0025] Data collation: extract key information from the surgery application form, such as the surgery unique code, estimated duration, department name, surgery level, age, etc., and build a data structure for surgery arrangements.
[0026] Special handling is carried out to adjust the surgical departments according to the special requirements of the operating room and the types of surgeries. These special handling measures make the allocation of operating rooms more in line with the actual needs, laying a reasonable foundation for the subsequent optimization of surgical scheduling. For example, the mapping relationship between special surgical departments and operating rooms is adjusted, including the splitting of cardiac surgery and general thoracic surgery, the directional allocation of interventional surgeries, and the matching of radiation surgeries.
[0027] Furthermore, in step S2, according to the surgical scheduling request, the basic surgical scheduling data to be optimized in the information system is obtained and data cleaning and preprocessing are performed. A data association input table containing the mapping relationships between departments, medical treatment groups, operating rooms, and surgical applications is constructed and loaded into the scheduling optimization mechanism, including: Obtain the preprocessed basic surgical scheduling data from the information system, including the department coding table, medical treatment group information table, operating room configuration table, surgical day schedule table, and surgical application form; Based on the foreign key association relationships and / or semantic field mappings between the tables in the basic surgical scheduling data, through the association construction module, a data association table is constructed and a data input set for scheduling optimization is generated. The data input set is respectively used as the basic data for the variable allocation sub-module to allocate variables, and the surgical scheduling information for the constraint control sub-module to construct scheduling constraints.
[0028] Furthermore, through the association construction module, a data association table is constructed and a data input set for scheduling optimization is generated, including: Generate a surgery set through the first data construction unit. The surgery set is , where S is the surgery set, i is any surgery in the surgery set, and the surgery includes the surgery ID, estimated duration, name of the department, surgical urgency, and basic information of the patient; Generate an operating room set through the second data construction unit. The operating room set is , where R is the operating room set and r is any operating room ID in the set; Generate a doctor set through the third data construction unit. The doctor set is , where D is the doctor set and d is any doctor participating in the surgery; Generate an optimization unit set through the fourth data construction unit. The optimization unit set is , where P is the optimization unit set and p is any combination of the primary surgeon and the first assistant in the optimization unit set. Among them, the optimization unit is based on the primary surgeon in the medical treatment group information table and the surgical application form to construct the association relationship between the primary surgeon and the medical treatment group, and by identifying the first assistant in the same primary surgeon and the affiliated medical treatment group, the corresponding surgeries are merged to form an optimization unit.
[0029] Further, in step S3, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control based on the data association input table, including: Step S31: Receive the data input set as the basic data for variable allocation; Step S32: The allocation variable sub-module constructs multiple scheduling variables for allocation based on the data input set. The allocation variable sub-module includes a first allocation unit, a second allocation unit, a third allocation unit, and a fourth allocation unit; Generate a surgical allocation variable through the first allocation unit as , where , used to determine whether the surgery is allocated to the operating room ; Generate a doctor allocation variable through the second allocation unit , where , used to determine whether the doctor is allocated to the operating room ; Generate a surgical start time variable through the third allocation unit , where , is the start time of the surgery ; Generate a sequence variable through the fourth allocation unit , where , used to determine whether the surgery in the same operating room is performed before the surgery
[0030] Further, in step S3, the constraint control sub-module constructs a conditional constraint set including time non-overlap constraints to constrain the scheduling variables, including: Receive the allocation variable set and the data input set; perform conditional constraints through the constraint control sub-module, where the constraint control sub-module includes a first constraint unit, a second constraint unit, a third constraint unit, a fourth constraint unit, and a fifth constraint unit; Perform a unique surgical allocation constraint through the first constraint unit to determine that surgery i is only allocated to one operating room r, and the formula is ; Perform a doctor consistency constraint through the second constraint unit to determine that when the doctor d responsible for surgery i is allocated to operating room r, surgery i is performed, and the formula is ; Perform a cooperative surgery constraint through the third constraint unit so that the surgical set of the combination of the surgeon and the first assistant is performed in the same operating room r, and the formula is , where is for each group of optimization units , set is its corresponding set of surgeries; The department priority constraint is performed by the fourth constraint unit, which is used to assign the operating room r to the surgeries with priority. The formula is , where is the set of priority available operating rooms, is the set of surgeries with priority; The time non-overlap constraint is performed by the fifth constraint unit. For the same operating room , if and , then , which is used to constrain that when surgeries i and j are performed in the same operating room r, the start time of surgery j is after the end of surgery i.
[0031] Furthermore, in step S3, the constraint control sub-module further includes a sixth constraint unit, The surgery completion time constraint is performed by the sixth constraint unit, which is used to constrain that the end time of each surgery does not exceed the latest completion time among all surgeries. The formula is , where is the latest completion time among all surgeries.
[0032] Furthermore, the scheduling decision objective function is ; wherein, the is the latest completion time in the surgery, the is the utilization rate of the operating room, the and the are weight coefficients, the is the estimated duration of surgery i, the is the surgery allocation variable, and |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r; The initial scheduling solution of the scheduling decision objective function is generated by the initial scheduling algorithm, which is used to obtain the initial scheduling information. The initial scheduling algorithm includes the shortest surgery first algorithm, the longest surgery first algorithm, or the emergency priority algorithm; Based on the initial scheduling solution, the branch and bound algorithm is called for iterative optimization. During the optimization process of the branch and bound algorithm, one or more new branches are generated according to the preset time conflict or resource conflict points, and the scheduling decision objective function values corresponding to the solutions of each new branch are calculated; During the iteration process, if the scheduling decision objective function value of a new branch solution is better than that of the current optimal solution, then update the new branch solution as the current optimal scheduling variable solution; otherwise, prune the new branch to avoid invalid search.
[0033] Further, in step S4, extracting the corresponding surgical scheduling information based on the scheduling variable solution to generate an optimized surgical scheduling plan includes generating a surgical scheduling plan for each surgery based on the scheduling variable solution and performing integrity verification. The surgical scheduling plan includes surgical ID, operating room ID, surgeon, surgical start time, and surgical completion time; wherein, it also includes traversing all surgeries and marking the unassigned surgeries for adjustment.
[0034] Generate the schedule for each surgery based on the final scheduling variable solution and perform integrity verification. The schedule includes surgical ID, operating room ID, surgeon, surgical start time, and surgical completion time; traverse all surgeries and make adjustments based on the unassigned surgeries, such as Figure 2 shown, this step also includes generating a Gantt chart through a visualization tool, with the horizontal axis representing time, the vertical axis representing operating rooms, color blocks distinguishing departments or treatment groups, marking the merged task sequences and patient age distributions, highlighting tasks at risk of overtime; and marking and alarming unassigned tasks, supporting manual adjustment, and calculating the utilization rate of operating rooms. As Figure 2 shown, this step also includes generating a Gantt chart through a visualization tool, with the horizontal axis representing time, the vertical axis representing operating rooms, color blocks distinguishing departments or treatment groups, the marked letters representing the corresponding doctors, highlighting tasks at risk of overtime; and marking and alarming unassigned tasks, supporting manual adjustment, and calculating the utilization rate of operating rooms.
[0035] Second Embodiment Based on the same inventive concept, the present invention also provides a hospital operating room scheduling optimization system based on multi-dimensional constraint programming, which adopts the hospital operating room scheduling optimization method as described above, including, A data processing module, used to respond to a surgical scheduling request; according to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table containing the mapping relationship between departments, treatment groups, operating rooms, and surgical applications, and load it into the scheduling optimization mechanism; A scheduling optimization module, used to generate an allocation variable set for scheduling variable control through an allocation variable sub-module based on the data association input table by the scheduling optimization mechanism, and construct a conditional constraint set including time non-overlap constraints by a constraint control sub-module to constrain the scheduling variables. At least two objective optimization functions are constructed by an objective optimization sub-module, and a scheduling decision objective function is formed through weighted combination. Based on the scheduling decision objective function, call the branch and bound algorithm to solve and generate the scheduling variable solution of the scheduling decision objective function. A scheduling output module, which is used to extract corresponding surgical scheduling information based on scheduling variable solutions and generate an optimized surgical scheduling plan.
[0036] The third embodiment To enable those skilled in the art to more clearly understand the technical points of the present invention, this embodiment will elaborate in detail on how to use the mathematical models and algorithms provided by the present invention, especially on how to implement the priority management of different types of surgeries (such as emergency surgeries and planned surgeries), and how to adjust the allocation of operating room and doctor resources, ultimately achieving the goal of optimizing the surgical process and increasing the utilization rate of the operating room. At the same time, through a specific description of the application example of the surgical scheduling optimization method of the present invention in a certain hospital, its effects and practical application values in actual operations are demonstrated. The specific elaboration is as follows: Step S100: In response to a surgical scheduling request, collect data from multiple key data sources of the information system, including department coding tables, diagnosis and treatment group information tables, operating room corresponding department tables, surgical day arrangement tables, surgical application forms, etc. Use data processing tools to read various data files, set appropriate encodings according to the characteristics of the data formats to ensure that the data is loaded accurately and without error. Then process the data, such as: excluding the endoscopic center and day surgeries according to the hospital's requirements, focusing on the optimized scheduling of elective surgeries; corresponding certain surgeries to the correct departments according to the hospital's feedback, etc. And establish the mapping relationships between departments, diagnosis and treatment groups, operating rooms, and applications. Subsequently, the system eliminates the application forms with missing information of the primary surgeon's department or doctor to ensure the integrity and effectiveness of the scheduling data. Convert the department codes into unified names according to the coding table, focusing on the requirements of routine surgeries. Step S200: In the scheduling optimization mechanism based on constraint programming, the goal is to maximize the utilization efficiency of operating room resources and satisfy multi-dimensional constraint conditions, such as multi-dimensional constraint conditions of time, resources, priorities, and personnel, etc. The following is a detailed description of the main elements and constraints of the model. Step S210: Based on the diagnosis and treatment group configuration, configure the basic surgical scheduling data related to surgical applications, construct the doctor-diagnosis and treatment group association relationship, and integrate consecutive surgical tasks. The primary surgeon directly belongs to the corresponding diagnosis and treatment group, the associate primary surgeon belongs to the group to which he belongs, and independent doctors without configured diagnosis and treatment groups use their names as temporary group identifiers. The system combines multiple surgeries of the same primary surgeon and the first assistant into consecutive tasks, arranges them in ascending order of patient age, and accumulates the total duration and number of surgeries of the combined tasks to generate an optimization unit. According to the surgical day schedule, the system configures exclusive operating rooms for departments, and departments on non-surgical days can be extended to the operating rooms of compatible departments. Step S220: Define the core constraints and objective function of the scheduling problem based on the linear programming framework. The decision variables include , for surgery whether it is assigned to the operating room and , for surgery The start time, etc. Constraints include single-room allocation, where each operation can only be allocated to one operating room, doctor binding, where the operations of the primary surgeon and the first assistant need to be in the same operating room, no temporal conflicts, where operations in the same operating room are executed in sequence, and department matching, where departments on the operation day are only allocated to priority operating rooms. Optimization objectives include load balancing, i.e., minimizing the total duration of the largest operating room, efficiency priority, i.e., minimizing the sum of the start times of all operations, and solution acceleration, i.e., using the branch and bound algorithm to quickly generate feasible solutions; Step S300: The system outputs the scheduling plan and performs integrity verification. Classified by operating room, it outputs the ID, primary surgeon, department, start and end times, and the number of combined tasks of each operation. The system traverses all operation applications, marks unassigned tasks, and triggers an alarm to support manual intervention and adjustment. At the same time, it calculates the utilization rate of the operating room.
[0037] Enhance the operability of the scheduling results through interactive visualization tools such as Matplotlib. In the Gantt chart display, the horizontal axis is time, the vertical axis is the operating room, color blocks distinguish different departments or treatment groups, and the continuous operation sequence of combined tasks and the patient age distribution are marked.
[0038] The following is a detailed description in combination with application examples: Obtain the department coding table, treatment group information table, operating room configuration table, operation day schedule, and operation application form from multiple data sources, and perform data preprocessing based on the obtained multi-source data tables, including data loading, cleaning, conversion, sorting, and special processing. This step has been clearly pointed out in the first embodiment, so it will not be elaborated here; Construct a data association input table containing the mapping relationship between departments, treatment groups, operating rooms, and operation applications based on the sorted tables, and perform set definitions, including the operation set, operating room set, doctor set, and optimization unit set. The sets are (1) The operation set S, which is the set composed of all operations to be scheduled, , where operation i is any operation in the operation set. The operation includes the operation ID, estimated duration, name of the department, operation urgency, i.e., the operation level, and the basic information of the patient; (2) The operating room set R, which is the set of available operating rooms in the hospital, , where operating room r is any operating room ID in the set; The operating room is a limited resource, and different operating rooms may be equipped with different equipment and facilities to meet the needs of different operations. Defining the operating room set helps to consider the availability and applicability of the operating room during scheduling; (3) The doctor set D, which is the set composed of all doctors participating in the operation, , doctor d is any doctor participating in the surgery; doctors are key personnel in the execution of surgery, and their professional skills, working hours, and surgery arrangements all have important impacts on the scheduling. Set covers all doctors who may participate in the surgery, facilitating the constraint and optimization of doctor allocation in the model; (4) The set of optimization units P, that is, the set of surgeon - first assistant personnel combinations , , p is one of the optimization units, which is a combination of a surgeon and a first assistant. In some surgeries, the surgeon and the first assistant need to cooperate closely. To ensure the continuity and efficiency of the surgery, surgeries involving the same surgeon - first assistant combination should be arranged in the same operating room as much as possible. Therefore, defining the set can better handle the scheduling problem of collaborative surgeries.
[0039] Furthermore, the set of allocation variables includes, (1) Surgery allocation variable , , to determine whether surgery is allocated to operating room ; The resources of the operating room are limited, and different surgeries have different requirements for the equipment, environment, etc. of the operating room. At the same time, it is necessary to ensure that each surgery has a suitable operating room. To accurately describe the allocation relationship between surgeries and operating rooms, the binary variable is used. For any and . When , it means that surgery is allocated to operating room ; when , it means that surgery is not allocated to operating room . This simple and effective representation method facilitates the construction of constraint conditions and objective functions in the mathematical model and accurately reflects the actual situation of surgery allocation; (2) Doctor allocation variable , , to determine whether doctor is allocated to operating room ; Doctors are key personnel in the implementation of surgery. Usually, each doctor can only perform surgery in one operating room at the same time. The smooth progress of the surgery requires the surgeon to operate in the designated operating room to avoid frequent switching of doctors between different operating rooms to ensure the continuity and efficiency of the surgery. The binary variable is introduced. For any and . If , it means that doctor is allocated to operating room ; if , representing a doctor is not assigned to an operating room . Through this variable, corresponding constraint conditions can be set in the model to ensure that the surgical arrangements of doctors match the operating rooms where they are located.
[0040] (3) Surgical start time variable , , is the start time of the surgery . Reasonably arranging the start time of the surgery is an important link to avoid surgical time conflicts and improve the utilization rate of the operating room. Define a non - negative continuous variable , for any , where represents the start time of the surgery . Through this variable, a specific start time can be arranged for each surgery in the model, and combined with other constraint conditions, to ensure that there are no time conflicts between surgeries.
[0041] (4) Sequence variable , , is whether the surgery in the same operating room is performed before the surgery . In the same operating room, the time sequence between different surgeries needs to be reasonably arranged to avoid time overlap. Especially when multiple surgeries need to be performed in the same operating room, it is crucial to clarify their sequence. Introduce a binary variable , for any and . If , it means that the surgery in the same operating room is performed before the surgery ; if , it means that the surgery is not performed before the surgery . This variable is used to handle the constraints on the time sequence of surgeries in the same operating room to ensure that the surgical arrangements are compact and orderly.
[0042] Furthermore, the conditional constraint set includes, (1) Surgical unique assignment constraint: ; used to determine that the surgery is only assigned to one operating room . Each surgery must have a clear operating room arrangement and can only be performed in one operating room, which is a basic requirement for surgical scheduling. If a surgery is assigned to multiple operating rooms, it will lead to waste of resources and chaos in surgical arrangements; if a surgery is not assigned to an operating room, it cannot be performed. In order to ensure the unique assignment of each surgery, the above - mentioned constraint conditions are proposed.
[0043] (2) Doctor consistency constraints: ; Used to determine the responsible surgery Doctor Assigned to operating room When surgery This constraint ensures that the surgery Only the chief surgeon can be assigned The operating room where the doctor is located avoids frequent switching between different operating rooms. The smooth progress of the operation depends on the surgeon operating in the designated operating room. If the surgeon is not in the corresponding operating room, the operation will not proceed normally, which will also lead to a waste of doctor resources and reduced work efficiency. To this end, a doctor consistency constraint is proposed.
[0044] (3) Collaborative surgical constraints: ;in, For the corresponding optimization unit The set of surgeries is the set of surgical tasks corresponding to the fixed combination of the surgeon and the assistant. This constraint ensures that collaborative surgeries must be performed in the same operating room to ensure that the surgeon can complete multiple collaborative surgical tasks in succession and avoid frequent switching between different operating rooms, thereby reducing surgical preparation time and the burden on the surgeon, and improving surgical efficiency and continuity. ,set up For the corresponding surgery subset, collaborative surgery constraints are proposed.
[0045] (4) Department priority constraints: ;in, Gather for priority available operating rooms, is a set of surgeries with priority. This constraint is used to allocate specific operating room resources to surgeries with priority. In actual hospital arrangements, surgeries in different departments may have different priorities due to urgency or importance, and need to be given priority in surgical scheduling. This constraint ensures that priority surgeries are allocated on demand, improving the controllability of the hospital's overall medical scheduling.
[0046] (5) Time non-overlap constraint: ; and its reverse restraint for restraint surgery and surgery In the same operating room When scheduling within a certain period, they must be executed in sequence and must not overlap in time. The method linearizes the conditions to ensure that the scheduling times in the operating room do not conflict with each other. Reasonable arrangement of the sequence can improve the efficiency of operating room use and avoid surgical conflicts.
[0047] (6) Time constraints for completion of surgery: ;in, Represents the latest completion time among all surgeries. This constraint is used to ensure that the completion time of each surgery does not exceed the latest surgery completion time in the entire schedule, thereby providing a basis for the optimization goal of minimizing the makespan. It can effectively compress the overall span of the schedule and achieve the optimal utilization of the operating room time resources.
[0048] Furthermore, the scheduling decision objective function is ; where is the latest completion time in the surgery, is the utilization rate of the operating room, and are the weight coefficients, is the estimated duration of surgery i, is the surgery assignment variable, and |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r.
[0049] It should be specifically noted that in the surgical scheduling problem, the design of the objective function needs to comprehensively consider multiple optimization goals, including the resource utilization rate of the operating room, the priority requirements of the department, etc. The following is the design of the objective function: Minimize the latest surgery completion time. This goal controls the latest completed surgery among all surgeries, compresses the time span of the entire surgical schedule, and thus improves the overall scheduling efficiency of the operating room. By modeling the end times of all surgeries, finding the maximum value among them, and continuously optimizing the size of this maximum value during the scheduling process, an optimal surgical scheduling plan is achieved. This objective function can effectively avoid the problem of a single surgery ending too late and delaying the overall running time, and improve the overall utilization efficiency and time utilization rate of the hospital operating room. The calculation formula is as follows: where represents the latest completion time among all surgeries. This end time is equal to the start time of each surgery plus the maximum value of the estimated surgery duration , that is: In the formula, is the surgery set, including all surgeries to be scheduled; is the start time variable of surgery , usually in minutes, starting from a reference time (such as midnight 0:00); is the surgery The estimated duration, including the required surgical operation time and the interval time required for the turntable. By minimizing this objective function, the end time of the scheduling can be significantly compressed, improving the turnover efficiency of the operating room and the operation efficiency of the hospital.
[0050] Maximize the utilization rate of the operating room. This goal is achieved by reasonably arranging the allocation of space and time resources for surgeries, increasing the proportion of occupied time in the operating room, reducing the idleness of the operating room, and thus enhancing the overall utilization rate of hospital resources. As an important resource in the hospital, the idleness of the operating room will cause obvious waste of resources. Therefore, by increasing the time utilization rate of the operating room, more surgeries can be completed within a limited time, improving the hospital's admission capacity and service efficiency. This objective function takes the average utilization rate of all operating rooms per unit time as the optimization object, and the calculation formula is as follows: Among them, R is the set of operating rooms, including all available operating rooms; S is the set of surgeries, including all surgeries to be scheduled; ti is the estimated duration of surgery xi,r i is a binary decision variable used to indicate whether surgery i is assigned to operating room r. If assigned, it is 1; otherwise, it is 0;
[0051] Multi-objective weighted combination: In order to comprehensively consider multiple optimization objectives, a weighted combination method is used to combine multiple objective functions into a single objective function: ; Among them, the Cmax is the latest completion time in the surgery, the U is the utilization rate of the operating room, the wi and the wr
[0052] are weight coefficients, the ti is the estimated duration of surgery i, the xi,r is the surgery allocation variable, |R| is the number of operating rooms in the operating room set R;
[0052] Further, after solving the objective function through the branch and bound algorithm, the optimized surgical scheduling plan is output to determine the scheduling of each surgery, including An initial scheduling solution of the scheduling decision objective function is generated through an initial scheduling algorithm for obtaining initial scheduling information. The initial scheduling algorithm includes the shortest operation first algorithm, the longest operation first algorithm, or the emergency first algorithm. Based on the initial scheduling solution, the branch and bound algorithm is called for iterative optimization. During the optimization process of the branch and bound algorithm, one or more new branches are generated according to preset time conflict or resource conflict points, and the scheduling decision objective function values corresponding to the solutions of each new branch are calculated. During the iterative process, if the scheduling decision objective function value of a new branch solution is better than that of the current optimal solution, then this new branch solution is updated as the current optimal scheduling variable solution; otherwise, this new branch is pruned to avoid ineffective search.
[0053] Based on the scheduling variable solution, a surgical scheduling plan for each operation is generated and integrity verification is performed. The surgical scheduling plan includes the operation ID, the operating room ID, the surgeon in charge, the operation start time, and the completion time; among them, it also includes traversing all operations and marking the unassigned operations for adjustment of the arrangement.
[0054] Specifically, an initial scheduling solution is generated through heuristic preprocessing of the initial scheduling algorithm for initial scheduling. The initial scheduling algorithm includes the shortest operation first algorithm, the longest operation first algorithm, or the emergency first algorithm; for example, ① The shortest operation first algorithm is that if there are multiple surgical scheduling requirements, the operations with shorter time are preferentially arranged, which can quickly release the operating room resources and make room for subsequent longer operations. ② The longest operation first algorithm is that for operations with longer time, they are preferentially arranged during the idle period or resource-intensive period of the hospital to ensure that the scheduling of other emergency operations is not affected. ③ The emergency first algorithm is that according to the urgency of the operation (such as emergency, elective, etc.), emergency operations are preferentially arranged to ensure that emergencies are handled in a timely manner.
[0055] Based on the initial scheduling solution, the branch and bound algorithm is called for iterative optimization. During the optimization process of the branch and bound algorithm, one or more new branches are generated according to preset time conflict or resource conflict points, and the scheduling decision objective function values corresponding to the solutions of each new branch are calculated; in each search iteration, the objective function value of the current optimal solution is used as the "boundary" to judge whether it is possible to generate a better solution for subsequent branches.
[0056] The specific process of the branch and bound algorithm in the present invention is as follows: 1. Define the scheduling state node: Each node represents an intermediate scheduling state, including the list of scheduled operations, the corresponding operating room, doctor, time allocation situation, and the set of remaining operations to be scheduled and other scheduling variable states.
[0057] 2. Node Expansion (Branching): Select an unscheduled surgery from the current state node and attempt to assign it to different operating rooms and different start times . Each possible scheduling assignment forms a new child node, i.e., a "branch". Each new node will inherit the scheduling result of the parent node and add the current scheduling decision on this basis.
[0058] 3. Objective Function Value Calculation: For each newly generated child node, calculate the objective function value of the current scheduling decision according to the scheduling variables, such as the maximum completion time and the utilization rate of the operating room, etc.
[0059] 4. Bound Estimation and Pruning: Compare the objective function value of the current node with the objective function value of the existing optimal solution: If the objective function value of the current node is better than the current optimal solution (e.g., smaller), then update this node as the current optimal solution; Otherwise, if the estimated value (lower bound) of the current node can no longer exceed the current optimal solution, then this node is pruned, that is, its subsequent branches are no longer expanded.
[0060] 5. Conflict Detection Mechanism: When generating new branches, the system will automatically detect whether there are resource conflicts. If there are obvious infeasible situations in the current node (such as overlapping operation times, double scheduling of doctors, etc.), then this node is immediately pruned and does not enter the subsequent solution.
[0061] This resource conflict includes but is not limited to operating room conflict, doctor conflict, equipment conflict, and department conflict. Specifically, ① Operating room conflict: Multiple surgeries need to use the same operating room, and the times of these surgeries overlap, resulting in inability to perform simultaneously. For example, Surgery A and Surgery B both need to be performed in the same operating room, but their scheduled times overlap, causing a conflict. ② Doctor conflict: A certain doctor needs to participate in multiple surgical tasks at the same time. For example, the surgeon needs to participate in two surgeries simultaneously, resulting in the situation that the doctor cannot fulfill all surgical tasks. ③ Equipment conflict: Different surgeries need to use the same special equipment, such as X-ray machines, cardiac pacemakers, etc., and the equipment is limited, resulting in the inability to meet the needs of multiple surgeries in the same time period. ④ Department conflict: Some surgeries can only be performed in specific departments. If the department resources are limited, there may be conflicts between departments. For example, multiple departments require the use of a specific operating room at the same time.
[0062] Furthermore, based on the output surgical scheduling plan, perform integrity verification. According to the preset classification criteria, output the scheduling of each surgery and traverse all surgeries, mark the unassigned surgeries for manual adjustment, including Generate the schedule for each operation based on the optimal solution and perform integrity verification. The schedule includes the operation ID, operating room ID, surgeon, operation start time, and completion time; traverse all operations and adjust based on unassigned and ongoing operations. This step also includes generating a Gantt chart through a visualization tool, with the horizontal axis representing time, the vertical axis representing operating rooms, color blocks distinguishing departments or treatment groups, marking the merged task sequence and patient age distribution, and highlighting tasks at risk of overtime; and marking and alarming unassigned tasks, supporting manual adjustment, and calculating the utilization rate of operating rooms.
[0063] The above are only the preferred embodiments of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions falling within the idea of the present invention belong to the protection scope of the present invention. It should be noted that for those of ordinary skill in the art, several improvements and refinements made without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.
[0064] It should be noted that the above embodiments can be freely combined as needed. The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, several improvements and refinements can be made without departing from the principle of the present invention, and these improvements and refinements should also be regarded as the protection scope of the present invention.
Claims
1. A method for optimizing the scheduling of hospital operating rooms based on multi-dimensional constraint programming, characterized in that, including Step S1: Respond to the surgical scheduling request; Step S2: According to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table including the mapping relationship between departments, treatment groups, operating rooms and surgical applications, and load it into the scheduling optimization mechanism; Step S3: Based on the data association input table, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the allocation variable sub-module, and the constraint control sub-module constructs a conditional constraint set including time non-overlap constraints to constrain the scheduling variables. At least two objective optimization functions are constructed through the objective optimization sub-module, and a scheduling decision objective function is formed through weighted combination; Step S4: Based on the scheduling decision objective function, call the branch and bound algorithm to solve the scheduling variable solution of the scheduling decision objective function, and extract the corresponding surgical scheduling information based on the scheduling variable solution to generate the optimized surgical scheduling plan.
2. The hospital operating room scheduling optimization method according to claim 1, wherein, In step S2, according to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table including the mapping relationship between departments, treatment groups, operating rooms and surgical applications, and load it into the scheduling optimization mechanism, including Obtain the preprocessed basic surgical scheduling data from the information system, including the department coding table, treatment group information table, operating room configuration table, surgical day schedule table and surgical application form; Based on the foreign key association relationship and / or semantic field mapping between the tables in the basic surgical scheduling data, through the association construction module, construct a data association table and generate a data input set for scheduling optimization. The data input set is respectively used as the basic data for variable allocation by the allocation variable sub-module and the surgical scheduling information for the constraint control sub-module to provide the construction of scheduling constraints.
3. The hospital operating room scheduling optimization method according to claim 2, characterized in that Through the association construction module, construct a data association table and generate a data input set for scheduling optimization, including Generate a surgical set through the first data construction unit, , where S is the surgical set, i is any one of the surgeries in the surgical set, and the surgery includes a surgery ID, an estimated duration, the name of the department, the surgical urgency, and the basic information of the patient; Generate an operating room set through a second data construction unit, , where R is the operating room set and r is the ID of any operating room in the operating room set; Generate a doctor set through a third data construction unit, , where D is the doctor set and d is any doctor participating in the surgery; Generate an optimized unit set through the fourth data construction unit, where the optimized unit set is , where P is the optimized unit set, and p is any combination of the primary surgeon and the first assistant in the optimized unit set. Among them, the optimized unit is to construct the association relationship between the primary surgeon and the diagnosis and treatment group based on the diagnosis and treatment group information table and the primary surgeon in the operation application form, and merge the corresponding operations by identifying the first assistant in the same primary surgeon and the affiliated diagnosis and treatment group to form the optimized unit.
4. The method for optimizing the operating room scheduling in a hospital according to claim 3, wherein, In step S3, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control based on the data association input table, including Step S31: Receive the data input set as the basic data for variable allocation; Step S32: The allocation variable sub-module constructs multiple scheduling variables for allocation based on the data input set. The allocation variable sub-module includes a first allocation unit, a second allocation unit, a third allocation unit and a fourth allocation unit; Generating a surgical allocation variable through the first allocation unit as , where , used to determine whether the surgery is allocated to the operating room ; Generate a doctor assignment variable through the second distribution unit , wherein, , used to determine whether the doctor is assigned to the operating room ; Generate a surgical start time variable through the third distribution unit , where is the start time of the surgery . Generate a sequence variable through the fourth distribution unit , wherein , used to determine whether the operation in the same operating room is performed before the operation .
5. The hospital operating room scheduling optimization method according to claim 4, wherein, In step S3, the constraint control sub-module constructs a conditional constraint set including time non-overlap constraints to constrain the scheduling variables, including: Receive the allocation variable set and the data input set; perform conditional constraints through the constraint control sub-module, where the constraint control sub-module includes a first constraint unit, a second constraint unit, a third constraint unit, a fourth constraint unit and a fifth constraint unit; Surgical unique assignment constraint is performed through the first constraint unit to determine that the surgery i is only assigned to one of the operating rooms r, and the formula is ; The doctor consistency constraint is performed through the second constraint unit, which is used to determine that when the doctor d responsible for the surgery i is assigned to the operating room r, the surgery i is performed. The formula is ; Cooperative surgical constraint is performed through the third constraint unit, and the surgical set for the combination of the surgeon-in-charge and the first assistant is carried out in the same operating room r. The formula is , where the is for each group of the optimization units . Let be the corresponding surgical set; The department priority constraint is performed through the fourth constraint unit, which is used to specify the operating room r for the operation with priority. The formula is , where is the set of operating rooms that are preferentially available, is the set of operations with priority; Perform the time non - overlapping constraint through the fifth constraint unit. For the same operating room If and then , which is used to constrain that when the operation i and the operation j are performed in the same operating room r, the start time of the operation j is after the end of the operation i.
6. The hospital operating room scheduling optimization method according to claim 5, wherein In step S3, the constraint control sub-module further includes a sixth constraint unit The surgical completion time is constrained by the sixth constraint unit, which is used to ensure that the end time of each surgery does not exceed the latest completion time among all surgeries. The formula is , where is the latest completion time among all surgeries.
7. The hospital operating room scheduling optimization method according to claim 6, wherein In step S3, at least two objective optimization functions are constructed by the target optimization sub-module and weighted and combined to form a scheduling decision objective function, including: The target optimization sub-module constructs an optimization objective function including the total duration of operating room occupancy and the utilization rate of the operating room, and the weighted combination forms the scheduling decision objective function. The scheduling decision objective function is ; Among them, the is the latest completion time during the operation, the is the operating room utilization rate, and are weight coefficients, is the estimated duration of the operation i, the is the operation allocation variable, and |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r.
8. The hospital operating room scheduling optimization method according to claim 7, wherein In step S4, based on the scheduling decision objective function, the branch and bound algorithm is called to solve and generate the scheduling variable solution of the scheduling decision objective function, including: The initial scheduling algorithm generates the initial scheduling solution of the scheduling decision objective function to obtain the initial scheduling information. The initial scheduling algorithm includes the shortest operation first algorithm, the longest operation first algorithm or the emergency first algorithm; Based on the initial scheduling solution, the branch and bound algorithm is called for iterative optimization. During the optimization process of the branch and bound algorithm, one or more new branches are generated according to the preset time conflict or resource conflict points, and the scheduling decision objective function values corresponding to the solutions of each new branch are calculated; During the iteration process, if the scheduling decision objective function value of a certain new branch solution is better than the scheduling decision objective function value of the current optimal solution, the new branch solution is updated as the current optimal scheduling variable solution; otherwise, the new branch is pruned to avoid invalid search.
9. The hospital operating room scheduling optimization method according to claim 8, characterized in that In step S4, based on the scheduling variable solution, the corresponding surgical scheduling information is extracted to generate the optimized surgical scheduling plan, including: Based on the scheduling variable solution, the surgical scheduling plan for each operation is generated and integrity verification is performed. The surgical scheduling plan includes the operation ID, the operating room ID, the surgeon in charge, the operation start time and the operation completion time; among them, it also includes traversing all the operations and marking the unassigned operations for adjustment and arrangement.
10. A hospital operating room scheduling optimization system based on multi-dimensional constraint programming, which adopts the hospital operating room scheduling optimization method described in any one of claims 1 to 9, characterized in that, Including: The data processing module is used to respond to the surgical scheduling request; according to the surgical scheduling request, obtain the basic surgical scheduling data to be optimized in the information system, perform data cleaning and preprocessing, construct a data association input table containing the mapping relationship between departments, medical treatment groups, operating rooms and surgical applications, and load it into the scheduling optimization mechanism; The scheduling optimization module is used for the scheduling optimization mechanism to generate an assignment variable set for scheduling variable control through the assignment variable sub-module based on the data association input table, and the constraint control sub-module constructs a conditional constraint set including time non-overlap constraints to constrain the scheduling variables. At least two objective optimization functions are constructed by the target optimization sub-module, and the weighted combination forms a scheduling decision objective function. Based on the scheduling decision objective function, the branch and bound algorithm is called to solve and generate the scheduling variable solution of the scheduling decision objective function; The scheduling output module is used to extract the corresponding surgical scheduling information based on the scheduling variable solution to generate the optimized surgical scheduling plan.
Citation Information
Patent Citations
Data-driven multi-stage intelligent operation scheduling method, system, equipment and medium
CN114974528A
Hospital optimization scheduling method and system and storage medium
CN116631593A
Multi-mode traffic timetable and modular vehicle scheduling collaborative optimization method and device
CN118195203A
Operation scheduling method, device and equipment and storage medium
CN118197569A
Cited By
Rehabilitation resource collaborative scheduling method and system considering multi-dimensional space-time constraint
CN121789937A
A rehabilitation resource collaborative scheduling method and system considering multi-dimensional space-time constraints
CN121789937B