Hospital operating room scheduling optimization method and system based on multi-dimensional constraint programming
Through the multi-dimensional constraint planning hospital operating room scheduling optimization method, the surgical related data is integrated and mathematical optimization model is built, the multi-dimensional constraint problem in surgical scheduling is solved, the automation and intelligence of surgical scheduling is realized, the operating room resource utilization rate and patient satisfaction are improved, and the overall service level of the hospital is improved.
Patent Information
- Application Number
- CN202510766080.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-10
- Publication Date
- 2025-08-26
- 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 priorities, etc., resulting in idle and tension in operating room resources coexisting, frequent delays in surgery, 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 mathematical optimization model is constructed, linear planning algorithms are applied, and multi-dimensional constraints such as time, resources, priority and personnel are processed to achieve automation and intelligence of surgical scheduling.
It significantly improves the efficiency and rationality of surgical scheduling, optimizes the allocation of medical resources, reduces surgical delays, improves the utilization rate of operating rooms and patient satisfaction, and enhances the competitiveness and social reputation of the hospital.
Smart Images

Figure CN120280108B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of medical information management technology, and in particular to a hospital operating room scheduling optimization method and system based on multi-dimensional constraint programming, which is mainly used to realize intelligent and efficient surgery scheduling through constraint programming technology. Background Art
[0002] In modern hospital management, surgical scheduling is a critical and complex task, involving multi-dimensional constraints such as time, resources, priority, and personnel. Its rationality and efficiency directly impact the hospital's overall operational efficiency, medical resource utilization, and patient satisfaction. With the continuous development of medical technology and the growing demand for medical care from patients, traditional surgical scheduling methods often rely on manual experience and have difficulty handling multi-dimensional constraints such as operating room resources, physician availability, and departmental priorities. This leads to both idle and tight operating room resources, frequent surgical delays, and an inability to adapt to the increasingly complex medical environment. Therefore, intelligent scheduling methods based on constraint programming have become a key technology to solve this problem.
[0003] Currently, surgical scheduling faces many severe challenges. The characteristics of surgeries in different departments vary, and the professional requirements for surgical time, equipment, and medical staff vary greatly. At the same time, doctors' work arrangements are diverse, and some doctors have specific preferences for surgical times, and their professional expertise needs to be matched with surgical needs. In addition, patient factors such as the urgency of the disease and age also have an important impact on the order of operations. However, most existing surgical scheduling methods lack systematic and intelligent considerations, and it is difficult to fully take into account these complex factors, resulting in idle and tight operating room resources, frequent surgical delays, and other problems, which seriously restrict the improvement of the quality of medical services in hospitals. Therefore, it is urgent to develop an intelligent, efficient and accurate surgical scheduling optimization system. Summary of the Invention
[0004] In response to 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 hospital surgery-related data and using constraint programming technology to process multi-dimensional constraints such as time, resources, priority, and personnel, the automation and intelligence of surgery scheduling are realized, thereby significantly improving the rationality and efficiency of surgery scheduling, optimizing the allocation of medical resources, and improving the overall medical service level of the hospital. The above objectives of the present invention are achieved through the following technical solutions:
[0005] The present invention provides a hospital operating room scheduling optimization method based on multi-dimensional constraint programming, comprising:
[0006] Step S1: responding to a surgery scheduling request;
[0007] Step S2: Based on the surgery scheduling request, obtain the basic surgery scheduling data to be optimized from the information system and perform data cleaning and preprocessing. Construct a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms, and surgery requests, and load it into the scheduling optimization mechanism.
[0008] 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 submodule. The constraint control submodule constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables. The target optimization submodule constructs at least two target optimization functions, which are weighted and combined to form a scheduling decision target function.
[0009] Step S4: Based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution of the scheduling decision objective function, and corresponding surgery scheduling information is extracted based on the scheduling variable solution to generate an optimized surgery scheduling plan.
[0010] Furthermore, in step S2, according to the surgery scheduling request, the basic surgery scheduling data to be optimized in the information system is obtained and data cleaning and preprocessing are performed, and a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms and surgery applications is constructed and loaded into the scheduling optimization mechanism, including:
[0011] Obtain pre-processed basic surgical scheduling data from the information system, including department coding table, diagnosis and treatment team information table, operating room configuration table, surgical day plan table and surgical application form;
[0012] Based on the foreign key association relationship and / or semantic field mapping between the tables in the basic data of surgical scheduling, the association construction module is used to construct a data association table and generate a data input set for scheduling optimization. The data input set is used to allocate basic data for variable allocation in the variable allocation submodule, and the constraint control submodule provides surgical scheduling information for constructing scheduling constraints.
[0013] Furthermore, through the association building module, a data association table is constructed and a data input set for scheduling optimization is generated, including:
[0014] The surgery set is generated by the first data construction unit, and the surgery set is , S is a set of surgeries, i is any surgery in the set, and the surgery includes the surgery ID, estimated duration, department name, surgery urgency, and patient basic information;
[0015] The operating room set is generated by the second data construction unit, and the operating room set is , R is the set of operating rooms, r is the ID of any operating room in the set;
[0016] The doctor set is generated by the third data construction unit. The doctor set is , D is the set of doctors, and d is any doctor involved in the operation;
[0017] The fourth data construction unit generates an optimized unit set, which is: , P is the optimization unit set, p is any combination of a group of surgeons and assistants in the optimization unit set, where the optimization unit is based on the surgeon in the diagnosis and treatment group information table and the surgery application form, and the association relationship between the surgeon and the diagnosis and treatment group is constructed. By identifying the same surgeon and the assistant in the diagnosis and treatment group, the corresponding surgeries are merged to form an optimization unit.
[0018] Furthermore, in step S3, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the allocation variable submodule based on the data association input table, including:
[0019] Step S31: receiving a data input set as basic data for variable allocation;
[0020] Step S32: the variable allocation submodule constructs a plurality of scheduling variables based on the data input set for allocation, and the variable allocation submodule includes a first allocation unit, a second allocation unit, a third allocation unit, and a fourth allocation unit;
[0021] The surgical allocation variables are generated by the first allocation unit as follows: ,in, , used to determine the surgical Assigned to the operating room ;
[0022] Generate doctor allocation variables through the second allocation unit ,in, , used to judge doctors Assigned to the operating room ;
[0023] Generate surgery start time variable through the third allocation unit ,in, , for surgery The start time of
[0024] Generate sequential variables through the fourth allocation unit ,in, , used to determine whether the surgery is performed in the same operating room Are you undergoing surgery? Executed before.
[0025] Furthermore, in step S3, the constraint control submodule constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables, including:
[0026] receiving an allocation variable set and a data input set; performing conditional constraints through a constraint control submodule, wherein the constraint control submodule includes a first constraint unit, a second constraint unit, a third constraint unit, a fourth constraint unit, and a fifth constraint unit;
[0027] The first constraint unit is used to perform the unique assignment constraint for surgery, which is used to ensure that surgery i is assigned to only one operating room r. The formula is: ;
[0028] The second constraint unit is used to perform the doctor consistency constraint, which is used to determine that when the doctor d responsible for surgery i is assigned to the operating room r, surgery i is performed. The formula is: ;
[0029] The collaborative surgery constraint is implemented by the third constraint unit, which is used for the combined surgery of the surgeon and the assistant surgeon to be performed in the same operating room r. The formula is: ,in, For each group of optimized units ,set up is the corresponding surgery set;
[0030] The fourth constraint unit is used to perform department priority constraints, which is used to specify the operating room r for the surgery with priority. The formula is: ,in Gather for priority available operating rooms, to gather for surgeries with priority;
[0031] The fifth constraint unit is used to implement time non-overlap constraints, for the same operating room ,like and ,but , used to constrain the start time of surgery j when surgery i and surgery j are performed in the same operating room r After the operation i.
[0032] Furthermore, in step S3, the constraint control submodule further includes a sixth constraint unit,
[0033] The sixth constraint unit is used to constrain the operation completion time, which is used to constrain the end time of each operation to not exceed the latest completion time of all operations. The formula is: ,in This is the latest completion time of all surgeries.
[0034] Furthermore, in step S3, at least two target optimization functions are constructed by the target optimization submodule, and a scheduling decision target function is formed through weighted combination, including:
[0035] The target optimization submodule is used to construct an optimization objective function including the total operating room occupancy time and operating room utilization rate, and the scheduling decision objective function is formed through weighted combination. The scheduling decision objective function is:
[0036] ;
[0037] in, The latest completion time of the operation. is the operating room utilization rate, and is the weight coefficient, is the estimated duration of surgery i, is the variable for surgery assignment, |R| is the number of operating rooms in the operating room set R; is the available time of operating room r.
[0038] Furthermore, in step S4, based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution of the scheduling decision objective function, including:
[0039] An initial scheduling solution of a scheduling decision objective function is generated by an initial scheduling algorithm to obtain initial scheduling information. The initial scheduling algorithm includes a shortest surgery first algorithm, a longest surgery first algorithm, or an emergency first algorithm.
[0040] 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 value corresponding to each new branch solution is calculated;
[0041] During the iteration process, if the scheduling decision objective function value of a 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.
[0042] Furthermore, 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 a surgical scheduling plan for each operation based on the scheduling variable solution and performing an integrity check. The surgical scheduling plan includes the operation ID, operating room ID, surgeon, operation start time, and operation completion time; and it also includes traversing all operations and marking unassigned operations for adjustment.
[0043] 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:
[0044] The data processing module is used to respond to surgery scheduling requests. Based on the surgery scheduling requests, it obtains the basic surgery scheduling data to be optimized from the information system, performs data cleaning and preprocessing, constructs a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms and surgery requests, and loads it into the scheduling optimization mechanism.
[0045] A scheduling optimization module is used for the scheduling optimization mechanism. Based on the data association input table, the allocation variable submodule generates an allocation variable set for scheduling variable control, and the constraint control submodule constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables. The target optimization submodule constructs at least two target optimization functions, which are weighted and combined to form a scheduling decision objective function. Based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution for the scheduling decision objective function.
[0046] The scheduling output module is used to extract the corresponding surgical scheduling information based on the scheduling variable solution to generate an optimized surgical scheduling plan.
[0047] Compared with the prior art, the present invention has at least one of the following beneficial effects:
[0048] This invention achieves automated and intelligent surgical scheduling by integrating hospital surgery-related data and applying constraint programming techniques to address multi-dimensional constraints such as time, resources, priority, and personnel. By constructing a mathematical optimization model and applying a linear programming algorithm, this 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 and improve operating room resource utilization, thereby improving the patient experience and enhancing the hospital's competitiveness and social reputation.
[0049] (1) An optimization method based on multi-dimensional constraint planning improves the accuracy and rationality of surgical scheduling by comprehensively considering multi-dimensional constraints such as time, resources, priority, and personnel. Compared with traditional scheduling methods, it can accurately match surgeries with operating room resources and reduce surgical delays caused by unreasonable arrangements.
[0050] (2) Effectively improve the utilization rate of operating room resources. Optimize the daily surgery schedule through intelligent algorithms to make the use of each operating room more balanced.
[0051] (3) Effectively reduce surgical delays through reasonable and orderly surgical arrangements, thereby improving patient satisfaction and enhancing the hospital's social reputation and competitiveness.
[0052] (4) Provide strong data support and scientific basis for hospital management decisions, help hospital managers accurately plan medical resources, rationally allocate human and material resources, and improve hospital management level and scientific decision-making. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Figure 1 This is a flowchart of the steps of the hospital operating room scheduling optimization method based on multi-dimensional constraint programming of the present invention;
[0054] Figure 2 This is a schedule visualization diagram of the schedule optimization method in an embodiment of the present invention. DETAILED DESCRIPTION
[0055] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0056] Those skilled in the art will appreciate that, unless otherwise stated, the singular forms "a," "an," "said," and "the" used herein may also include plural forms. It should be further understood that the term "comprising" used in the specification of the present invention refers to the presence of the stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0057] First embodiment
[0058] like Figure 1 As shown, the present invention provides a hospital operating room scheduling optimization method based on multi-dimensional constraint programming, which realizes intelligent and efficient surgery scheduling by integrating multi-dimensional constraints such as time, resources, priority and personnel. The steps include:
[0059] Step S1: responding to a surgery scheduling request;
[0060] Step S2: Based on the surgery scheduling request, obtain the basic surgery scheduling data to be optimized from the information system and perform data cleaning and preprocessing. Construct a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms, and surgery requests, and load it into the scheduling optimization mechanism.
[0061] 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 submodule. The constraint control submodule constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables. The target optimization submodule constructs at least two target optimization functions, which are weighted and combined to form a scheduling decision target function.
[0062] Step S4: Based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution of the scheduling decision objective function, and corresponding surgery scheduling information is extracted based on the scheduling variable solution to generate an optimized surgery scheduling plan.
[0063] Furthermore, the basic data of the surgery scheduling to be optimized is obtained and data cleaning and preprocessing are performed. This step mainly obtains multi-source data from multiple information system interfaces, such as the hospital information management system HIS, the electronic medical record system EMR, and the surgery scheduling system to load and obtain all data resources related to surgery scheduling, including basic data on surgery scheduling in terms of department management, diagnosis and treatment group configuration, electronic medical records, and surgery scheduling, including basic data such as department coding table, diagnosis and treatment group information table, operating room configuration table, surgery day plan table, and surgery application form. Based on the correspondence between department codes and names, the diagnosis and treatment group to which doctors belong, the relationship between operating rooms and departments, the day's surgery department arrangements, detailed surgery application information, and some special configuration information covered by the basic data, the core input for the surgery scheduling optimization mechanism is constructed, including,
[0064] Obtain basic surgical scheduling data, and clean, convert, and organize it. This data includes department coding tables, diagnosis and treatment team information tables, operating room configuration tables, surgical day schedules, and surgical requisition forms.
[0065] 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 and is used to provide the correspondence between each department name and its corresponding department ID, that is, the correspondence between department codes and names;
[0066] The treatment group information table contains the treatment group ID, the lead surgeon, the team member list, and the department ID. It is used to record the relationship between the doctor and the treatment group he belongs to. The team member list includes the first assistant, second assistant, and other auxiliary personnel.
[0067] The operating room configuration table contains the operating room ID, operating room name, and department ID to which it belongs, as well as equipment details and capacity. It is used to list the configuration of the operating room, including information such as available operating rooms, equipment, and operating room type. The capacity is the maximum number of surgeries or number of people that the operating room can accommodate;
[0068] The surgery day planner contains the department ID and the expected surgery date, and is used to list the department's surgery days scheduled daily;
[0069] 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.
[0070] Secondly, the basic data of surgical scheduling is cleaned, converted and organized, including:
[0071] Data cleaning: Check the data in the department coding table, diagnosis and treatment team 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 operating department or doctor information are eliminated;
[0072] Data conversion: Using the department coding table, the department ID codes in the surgical requisition form are replaced with the corresponding department names to facilitate subsequent operations and understanding. Some department names are standardized to ensure consistency in the data representation of department names.
[0073] 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 scheduling.
[0074] Special procedures involve adjusting surgical departments based on specific operating room requirements and the type of surgery. These special procedures ensure that operating room allocations are more aligned with actual needs, laying a sound foundation for subsequent surgical scheduling optimization. For example, adjustments are made to the mapping between special surgical departments and operating rooms, including the separation of cardiac surgery from general thoracic surgery, targeted allocation of interventional procedures, and matching of radiology surgeries.
[0075] Furthermore, in step S2, according to the surgery scheduling request, the basic surgery scheduling data to be optimized in the information system is obtained and data cleaning and preprocessing are performed, and a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms and surgery applications is constructed and loaded into the scheduling optimization mechanism, including:
[0076] Obtain pre-processed basic surgical scheduling data from the information system, including department coding table, diagnosis and treatment team information table, operating room configuration table, surgical day plan table and surgical application form;
[0077] Based on the foreign key association relationship and / or semantic field mapping between the tables in the basic data of surgical scheduling, the association construction module is used to construct a data association table and generate a data input set for scheduling optimization. The data input set is used to allocate basic data for variable allocation in the variable allocation submodule, and the constraint control submodule provides surgical scheduling information for constructing scheduling constraints.
[0078] Furthermore, through the association building module, a data association table is constructed and a data input set for scheduling optimization is generated, including:
[0079] The surgery set is generated by the first data construction unit, and the surgery set is , S is a set of surgeries, i is any surgery in the set, and the surgery includes the surgery ID, estimated duration, department name, surgery urgency, and patient basic information;
[0080] The operating room set is generated by the second data construction unit, and the operating room set is , R is the set of operating rooms, r is the ID of any operating room in the set;
[0081] The doctor set is generated by the third data construction unit. The doctor set is , D is the set of doctors, and d is any doctor involved in the operation;
[0082] The fourth data construction unit generates an optimized unit set, which is: , P is the optimization unit set, p is any combination of a group of surgeons and assistants in the optimization unit set, where the optimization unit is based on the surgeon in the diagnosis and treatment group information table and the surgery application form, and the association relationship between the surgeon and the diagnosis and treatment group is constructed. By identifying the same surgeon and the assistant in the diagnosis and treatment group, the corresponding surgeries are merged to form an optimization unit.
[0083] Furthermore, in step S3, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the allocation variable submodule based on the data association input table, including:
[0084] Step S31: receiving a data input set as basic data for variable allocation;
[0085] Step S32: the variable allocation submodule constructs a plurality of scheduling variables based on the data input set for allocation, and the variable allocation submodule includes a first allocation unit, a second allocation unit, a third allocation unit, and a fourth allocation unit;
[0086] The surgical allocation variables are generated by the first allocation unit as follows: ,in, , used to determine the surgical Assigned to the operating room ;
[0087] Generate doctor allocation variables through the second allocation unit ,in, , used to judge doctors Assigned to the operating room ;
[0088] Generate surgery start time variable through the third allocation unit ,in, , for surgery The start time of
[0089] Generate sequential variables through the fourth allocation unit ,in, , used to determine whether the surgery is performed in the same operating room Are you undergoing surgery? Executed before.
[0090] Furthermore, in step S3, the constraint control submodule constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables, including:
[0091] receiving an allocation variable set and a data input set; performing conditional constraints through a constraint control submodule, wherein the constraint control submodule includes a first constraint unit, a second constraint unit, a third constraint unit, a fourth constraint unit, and a fifth constraint unit;
[0092] The first constraint unit is used to perform the unique assignment constraint for surgery, which is used to ensure that surgery i is assigned to only one operating room r. The formula is: ;
[0093] The second constraint unit is used to perform the doctor consistency constraint, which is used to determine that when the doctor d responsible for surgery i is assigned to the operating room r, surgery i is performed. The formula is: ;
[0094] The collaborative surgery constraint is implemented by the third constraint unit, which is used for the combined surgery of the surgeon and the assistant surgeon to be performed in the same operating room r. The formula is: ,in, For each group of optimized units ,set up is the corresponding surgery set;
[0095] The fourth constraint unit is used to perform department priority constraints, which is used to specify the operating room r for the surgery with priority. The formula is: ,in Gather for priority available operating rooms, to gather for surgeries with priority;
[0096] The fifth constraint unit is used to implement time non-overlap constraints, for the same operating room ,like and ,but , used to constrain the start time of surgery j when surgery i and surgery j are performed in the same operating room r After the operation i.
[0097] Furthermore, in step S3, the constraint control submodule further includes a sixth constraint unit,
[0098] The sixth constraint unit is used to constrain the operation completion time, which is used to constrain the end time of each operation to not exceed the latest completion time of all operations. The formula is: ,in This is the latest completion time of all surgeries.
[0099] Furthermore, the scheduling decision objective function is,
[0100] ;
[0101] Among them, the The latest completion time of the operation, The operating room utilization rate is and stated is the weight coefficient, is the estimated duration of the operation i, Assign a variable to the surgery, where |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r;
[0102] Generating an initial scheduling solution of the scheduling decision objective function by an initial scheduling algorithm for obtaining initial scheduling information, wherein the initial scheduling algorithm includes a shortest surgery first algorithm, a longest surgery first algorithm, or an emergency first algorithm;
[0103] Based on the initial scheduling solution, calling the branch and bound algorithm to perform iterative optimization, during the optimization process of the branch and bound algorithm, generating one or more new branches according to preset time conflict or resource conflict points, and calculating the scheduling decision objective function value corresponding to each new branch solution;
[0104] During the iterative process, if the scheduling decision objective function value of a 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.
[0105] Furthermore, 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 a surgical scheduling plan for each operation based on the scheduling variable solution and performing an integrity check. The surgical scheduling plan includes the operation ID, operating room ID, surgeon, operation start time, and operation completion time; and it also includes traversing all operations and marking unassigned operations for adjustment.
[0106] Generate a schedule for each surgery based on the final scheduling variable solution and perform integrity check. The schedule includes surgery ID, operating room ID, surgeon, surgery start time, and surgery completion time. Traverse all surgeries and make adjustments based on unassigned and surgeries, such as Figure 2 As shown, this step also includes generating a Gantt chart through a visualization tool, with time on the horizontal axis and the operating room on the vertical axis. Color blocks distinguish departments or treatment groups, mark the merged task sequence and patient age distribution, highlight tasks with timeout risks, mark and warn unassigned tasks, support manual adjustment, and calculate the operating room utilization rate. Figure 2 As shown, this step also includes generating a Gantt chart through a visualization tool, with the horizontal axis representing time and the vertical axis representing the operating room. Color blocks distinguish departments or treatment groups, and the marked letters represent the corresponding doctors. Tasks with timeout risks are highlighted. Unassigned tasks are marked and alarmed, manual adjustments are supported, and operating room utilization is calculated.
[0107] Second embodiment
[0108] 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:
[0109] The data processing module is used to respond to surgery scheduling requests. Based on the surgery scheduling requests, it obtains the basic surgery scheduling data to be optimized from the information system, performs data cleaning and preprocessing, constructs a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms and surgery requests, and loads it into the scheduling optimization mechanism.
[0110] A scheduling optimization module is used for the scheduling optimization mechanism. Based on the data association input table, the allocation variable submodule generates an allocation variable set for scheduling variable control, and the constraint control submodule constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables. The target optimization submodule constructs at least two target optimization functions, which are weighted and combined to form a scheduling decision objective function. Based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution for the scheduling decision objective function.
[0111] The scheduling output module is used to extract the corresponding surgical scheduling information based on the scheduling variable solution to generate an optimized surgical scheduling plan.
[0112] Third embodiment
[0113] To help those skilled in the art better understand the technical aspects of the present invention, this embodiment will detail how to use the mathematical model and algorithm provided by the present invention, specifically how to implement priority management for different types of surgeries (such as emergency surgeries and planned surgeries), and how to adjust the allocation of operating room and physician resources, ultimately achieving the goals of optimizing surgical procedures and improving operating room utilization. This will also specifically describe an application example of the surgical scheduling optimization method of the present invention in a hospital to demonstrate its effectiveness and practical application value in actual operations. The specific explanation is as follows:
[0114] Step S100: Respond to the surgery 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, surgery day schedules and surgery application forms, etc., use data processing tools to read various data files, set appropriate codes according to the characteristics of the data format, and ensure that the data is loaded accurately. The data is then processed, such as: excluding the endoscopy center and day surgery according to the hospital's requirements, focusing on the optimized scheduling of elective surgeries; according to the hospital's feedback, mapping certain surgeries to the correct departments, etc., and establish a mapping relationship between departments, diagnosis and treatment groups, operating rooms and applications. Subsequently, the system eliminates application forms with missing information about the surgeon's department or doctor to ensure the integrity and validity of the scheduling data. The department code is converted into a unified name according to the coding table, focusing on routine surgical needs,
[0115] Step S200: In the scheduling optimization mechanism based on constraint programming, the goal is to maximize the utilization efficiency of operating room resources and meet multi-dimensional constraints such as time, resources, priority and personnel. The following is a detailed description of the main elements and constraints of the model.
[0116] Step S210: Based on the basic surgical scheduling data related to the diagnosis and treatment group configuration and the surgical application, the doctor-diagnosis and treatment group association relationship is constructed and continuous surgical tasks are integrated. The attending physician directly belongs to the corresponding diagnosis and treatment group, the deputy attending physician belongs to the group to which he belongs, and the independent physician who is not assigned a diagnosis and treatment group uses his name as a temporary group identifier. The system merges multiple surgeries of the same surgeon and an assistant into continuous tasks, arranges them in ascending order by patient age, and accumulates the total duration and number of surgeries of the merged tasks to generate an optimized unit. According to the surgical day schedule, the system configures an exclusive operating room for the department, and the department can be expanded to the operating room of a compatible department on non-surgical days;
[0117] Step S220: Define the core constraints and objective function of the scheduling problem based on the linear programming framework. The decision variables include ,Operation Assigned to the operating room and ,Operation The constraints include single room allocation, where each surgery can only be assigned to one operating room, doctor binding, where the surgeon and the assistant surgeon must perform their surgeries in the same operating room, no time conflicts, where surgeries in the same operating room are performed sequentially, and department matching, where departments are only assigned to the priority operating room on the day of surgery. The optimization objectives include load balancing, which is minimizing the maximum total operating room time, efficiency priority, which is minimizing the sum of the start times of all surgeries, and solution acceleration, which is using a branch-and-bound algorithm to quickly generate feasible solutions.
[0118] Step S300: The system outputs the scheduling plan and performs a completeness check. Categorized by operating room, it outputs each surgery's ID, surgeon, department, start and end times, and the number of combined tasks. The system iterates through all surgery requests, marks unassigned tasks, triggers an alarm, and supports manual intervention and adjustment. It also calculates operating room utilization.
[0119] Interactive visualization tools like Matplotlib enhance the usability of scheduling results. In a Gantt chart, the horizontal axis represents time, the vertical axis represents the operating room, and color blocks distinguish different departments or treatment groups. The combined tasks' consecutive surgical sequences and patient age distribution are also labeled.
[0120] The following is a detailed explanation combined with application examples:
[0121] Obtain department coding tables, diagnosis and treatment group information tables, operating room configuration tables, surgical day schedules, and surgical requisitions from multiple data sources, and perform data preprocessing based on the obtained multi-source data tables, including data loading, cleaning, conversion, organization, and special processing. This step has been clearly stated in the first embodiment and will not be elaborated on here.
[0122] Based on the organized table, a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms and surgical applications is constructed to define the set, including the surgical set, operating room set, doctor set and optimized unit set. The set is:
[0123] (1) The surgery set S is the set of all surgeries to be scheduled. , operation i is any operation in the operation set, which includes operation ID, estimated duration, name of department, operation urgency (i.e., operation level) and basic information of the patient;
[0124] (2) The operating room set R is the set of operating rooms available in the hospital. , operating room r is the ID of any operating room in the set; operating rooms are limited resources, and different operating rooms may be equipped with different equipment and facilities to meet the needs of different surgeries. Helps consider operating room availability and suitability when scheduling;
[0125] (3) Doctor set D is the set of all doctors involved in the operation. , doctor d is any doctor involved in the operation; doctors are key personnel in the execution of the operation, and their professional skills, working hours and operation arrangements have an important impact on the scheduling. It covers all possible doctors who may participate in the surgery, making it easier to constrain and optimize the allocation of doctors in the model;
[0126] (4) Optimize the unit set P, i.e., the combination set of the main surgeon and the assistant surgeon , , p is one of the optimization units, which is a combination of a surgeon and an assistant. In some operations, the surgeon and the assistant need to work closely together. In order to ensure the continuity and efficiency of the operation, operations involving the same surgeon-assistant combination should be arranged in the same operating room as much as possible. Therefore, the set is defined as Scheduling issues for collaborative surgeries can be better addressed.
[0127] Furthermore, the set of allocated variables includes,
[0128] (1) Surgical allocation variables , , determine the surgery Assigned to the operating room Operating room resources are limited, and different surgeries have different requirements for operating room equipment and environment. At the same time, it is necessary to ensure that each surgery has a suitable operating room. In order to accurately describe the distribution relationship between surgery and operating room, a binary variable is used. , for any and .when When, it means surgery Assigned to the operating room ;when When, it means surgery Not assigned to an operating room This simple and effective representation facilitates the construction of constraints and objective functions in the mathematical model, accurately reflecting the actual situation of surgical allocation;
[0129] (2) Doctor assignment variable , , judging doctors Assigned to the operating room Doctors are key personnel in the implementation of surgery. Each doctor can usually only operate 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 between different operating rooms to ensure the continuity and efficiency of the surgery. Introducing binary variables , for any and .like , meaning doctor Assigned to the operating room ;like , meaning doctor Not assigned to an operating room Through this variable, corresponding constraints can be set in the model to ensure that the doctor's surgery schedule matches the operating room where he is located.
[0130] (3) Surgery start time variable , , For surgery The start time of the operation; Reasonable arrangement of the start time of the operation is an important part of avoiding operation time conflicts and improving the utilization rate of the operating room. , for any ,in Indicates surgery This variable allows you to assign a specific start time to each surgery in the model and, combined with other constraints, ensure that there are no conflicts between surgeries.
[0131] (4) Ordinal variables , , Surgery performed in the same operating room Are you undergoing surgery? Previously, in the same operating room, the time sequence between different operations needs to be arranged reasonably to avoid time overlap. Especially when multiple operations need to be performed in the same operating room, it is crucial to clarify their order. Introducing binary variables , for any and .like , indicating surgery in the same operating room During surgery Before; if , it means surgery Not in surgery This variable is used to handle the constraints of the time sequence of operations in the same operating room, ensuring that the operations are arranged compactly and in an orderly manner.
[0132] Furthermore, the conditional constraint set includes,
[0133] (1) Unique operation allocation constraint: ; used to determine surgery Assigned to only one operating room Each surgery must have a specific operating room assignment and can only be performed in one operating room. This is a basic requirement of surgical scheduling. If a surgery is assigned to multiple operating rooms, it will lead to wasted resources and chaotic surgical scheduling. If a surgery is not assigned to an operating room, it cannot be performed. To ensure that each surgery is uniquely assigned, the above constraints are proposed.
[0134] (2) Doctor consistency constraints: ; Used to determine the responsible surgery Doctor Assigned to the operating room When surgery This constraint ensures that the surgery Only assigned to the lead surgeon The operating room where the surgeon is located is located, preventing doctors from frequently switching between different operating rooms. The smooth progress of the surgery depends on the surgeon operating in the designated operating room. If the surgeon is not in the corresponding operating room, the surgery will not proceed normally, resulting in a waste of doctor resources and reduced work efficiency. To this end, a doctor consistency constraint is proposed.
[0135] (3) Collaborative surgical constraints: ;in, For the corresponding optimization unit The set of surgeries represents the set of surgical tasks corresponding to a fixed combination of a surgeon and an assistant. This constraint ensures that collaborative surgeries must be performed in the same operating room, so that doctors can complete multiple collaborative surgical tasks continuously and avoid frequent switching between different operating rooms, thereby reducing surgical preparation time and doctor burden, and improving surgical efficiency and continuity. For any combination of personnel ,set up For the corresponding surgery subset, collaborative surgery constraints are proposed.
[0136] (4) Department priority constraints: ;in, Gather for priority available operating rooms, is a set of priority surgeries. This constraint is used to allocate specific operating room resources to prioritized surgeries. In actual hospital scheduling, surgeries in different departments may have different priorities due to urgency or importance, and therefore require prioritization in surgical scheduling. This constraint ensures that priority surgeries are allocated on demand, improving the controllability of the hospital's overall medical scheduling.
[0137] (5) Time non-overlap constraint: ; and its reverse restraint for restraint surgery and surgery In the same operating room When scheduling within a certain timeframe, they must be executed in sequence and must not overlap in time. The method linearizes the conditions to ensure that the scheduled times within the operating room do not conflict with each other. Proper arrangement of the sequence can improve the efficiency of operating room use and avoid surgical conflicts.
[0138] (6) Time constraints for completion of surgery: ;in, represents the latest completion time among all surgeries. This constraint ensures that the completion time of each surgery does not exceed the latest completion time of the entire schedule, thus providing the basis for minimizing the maximum completion time. This effectively shortens the overall schedule span and achieves optimal utilization of operating room time resources.
[0139] Furthermore, the scheduling decision objective function is,
[0140] ;
[0141] Among them, the The latest completion time of the operation, The operating room utilization rate is and stated is the weight coefficient, is the estimated duration of the operation i, Assign a variable to the surgery, where |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r.
[0142] It should be noted that in the surgical scheduling problem, the design of the objective function needs to comprehensively consider multiple optimization goals, including the resource utilization of the operating room, the priority requirements of the department, etc. The following is the design of the objective function:
[0143] Minimizing the latest surgery completion time. This goal improves the overall scheduling efficiency of the operating room by controlling the latest surgery to complete, compressing the time span of the entire surgery schedule. By modeling the end times of all surgeries, finding the maximum value, and continuously optimizing the maximum value during the scheduling process, the optimal surgery scheduling plan is achieved. This objective function can effectively avoid the problem of a single surgery ending too late and delaying the overall operation time, thereby improving the overall efficiency and time utilization of the hospital's operating room. The calculation formula is as follows:
[0144]
[0145] in, Indicates the latest completion time of all surgeries. The end time is equal to the start time of each surgery. Add the estimated duration of surgery The maximum value of , that is:
[0146]
[0147] Where, is a surgery collection, including all surgeries to be scheduled; For surgery The start time variable is usually in minutes and is calculated from a reference time (such as midnight); For surgery The estimated duration of the operation includes the required surgical procedure time and the interval time required for the transfer table. By minimizing this objective function, the scheduling end time can be significantly shortened, improving the operating room turnover efficiency and hospital operational efficiency.
[0148] Maximize the utilization rate of operating rooms. This goal is to improve the overall utilization rate of hospital resources by rationally arranging the space and time resource allocation of operations, increasing the proportion of operating room occupancy time, and reducing operating room idleness. Operating rooms are important resources of hospitals, and their idleness will cause significant waste of resources. Therefore, by improving the time utilization rate of operating rooms, more operations can be completed within a limited time, improving the hospital's reception 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:
[0149]
[0150] in, The operating room set contains all available operating rooms; is a surgery collection, including all surgeries to be scheduled; For surgery The estimated duration of the session, usually in minutes; is a binary decision variable used to represent surgery Assigned to the operating room , if assigned, it is 1, otherwise it is 0; For operating room Daily available time; is the number of operating rooms. This objective function maximizes the average utilization rate of all operating rooms, achieves intensive management of hospital surgical resources, reduces idle ratios, and further improves the overall operational efficiency and medical service capabilities of the hospital.
[0151] Multi-objective weighted combination: In order to comprehensively consider multiple optimization objectives, a weighted combination method is used to merge multiple objective functions into a single objective function:
[0152] ;
[0153] Among them, the The latest completion time of the operation, The operating room utilization rate is and stated is the weight coefficient, is the estimated duration of the operation i, Assign a variable to the surgery, where |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r.
[0154] Furthermore, the objective function is solved by the branch and bound algorithm to output the optimized surgical scheduling plan to determine the schedule of each surgery, including:
[0155] An initial scheduling solution of a scheduling decision objective function is generated by an initial scheduling algorithm to obtain initial scheduling information. The initial scheduling algorithm includes a shortest surgery first algorithm, a longest surgery first algorithm, or an emergency first algorithm.
[0156] Based on the initial scheduling solution, calling the branch and bound algorithm to perform iterative optimization, during the optimization process of the branch and bound algorithm, generating one or more new branches according to preset time conflict or resource conflict points, and calculating the scheduling decision objective function value corresponding to each new branch solution;
[0157] During the iterative process, if the scheduling decision objective function value of a 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.
[0158] A surgical scheduling plan for each operation is generated based on the scheduling variable solution and is checked for completeness. The surgical scheduling plan includes the operation ID, operating room ID, surgeon, operation start time, and completion time. It also includes traversing all operations and marking unassigned operations for adjustment.
[0159] 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 surgery first algorithm, the longest surgery first algorithm, or the emergency first algorithm. For example, ① the shortest surgery first algorithm is to prioritize shorter surgeries if there are multiple surgeries to be scheduled, which can quickly release operating room resources and make room for subsequent longer surgeries. ② The longest surgery first algorithm is to prioritize longer surgeries during idle time periods or resource-constrained periods in the hospital to ensure that they do not affect the scheduling of other emergency surgeries. ③ The emergency first algorithm is to prioritize emergency surgeries based on the urgency of the surgery (such as emergency, elective, etc.) to ensure that emergencies are handled in a timely manner.
[0160] 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 conflicts or resource conflict points, and the scheduling decision objective function value corresponding to each new branch solution is calculated; in each search iteration, the objective function value of the current optimal solution is used as the "bound" to determine whether subsequent branches are likely to produce better solutions.
[0161] The specific process of the branch and bound algorithm in the present invention is as follows:
[0162] 1. Define scheduling status nodes: Each node represents an intermediate scheduling state, including the scheduling variable states such as the list of scheduled surgeries, corresponding operating rooms, doctors, time allocation, and the set of remaining surgeries to be scheduled.
[0163] 2. Node expansion (branch): Select an unscheduled surgery from the current state node , try to assign them to different operating rooms and different start times ,Each possible scheduling allocation scheme 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 its basis.
[0164] 3. Objective function value calculation: For each newly generated child node, calculate the current scheduling decision objective function value based on the scheduling variables, such as the maximum completion time , operating room utilization, etc.
[0165] 4. Boundary estimation and pruning: Compare the objective function value of the current node with the objective function value of the existing optimal solution:
[0166] If the objective function value of the current node is better than the current optimal solution (for example, smaller), the node is updated to the current optimal solution;
[0167] Otherwise, if the estimated value (lower bound) of the current node can no longer surpass the current optimal solution, the node is pruned, that is, its subsequent branches are no longer expanded.
[0168] 5. Conflict detection mechanism: When generating a new branch, the system will automatically detect whether there is a resource conflict. If the current node has an obvious infeasibility situation (such as overlapping surgery times, double scheduling of doctors, etc.), the node will be pruned immediately and will not enter the subsequent solution.
[0169] The resource conflict includes but is not limited to operating room conflicts, doctor conflicts, equipment conflicts and department conflicts. Specifically, ① operating room conflicts: multiple operations require the use of the same operating room, and the times of these operations overlap, resulting in the inability to perform them at the same time. For example, both operations A and B need to be performed in the same operating room, but their scheduling times overlap, causing a conflict. ② doctor conflicts: a certain doctor needs to participate in multiple surgical tasks at the same time. For example, the surgeon needs to participate in two operations at the same time, resulting in the doctor being unable to perform all surgical tasks. ③ equipment conflicts: different operations require the use of the same special equipment, such as X-ray machines, pacemakers, etc., but the equipment is limited, resulting in the inability to meet the needs of multiple operations at the same time. ④ department conflicts: some operations can only be performed in specific departments. If the department resources are limited, conflicts between departments may occur, such as multiple departments requesting the use of a specific operating room at the same time.
[0170] Furthermore, based on the output surgery schedule plan, a completeness check is performed. According to the preset classification criteria, the schedule of each surgery is output and all surgeries are traversed. Unassigned surgeries are marked for manual adjustment, including:
[0171] A schedule for each surgery is generated based on the optimal solution and checked for integrity. The schedule includes the surgery ID, operating room ID, surgeon, surgery start time, and completion time. All surgeries are traversed and adjusted based on unassigned and surgeries. This step also includes generating a Gantt chart using a visualization tool, with time on the horizontal axis and the operating room on the vertical axis. Color blocks distinguish departments or treatment groups, marking merged task sequences and patient age distribution, and highlighting tasks at risk of timeouts. Unassigned tasks are marked and alarmed, manual adjustments are supported, and operating room utilization is calculated.
[0172] The above description is merely a preferred embodiment of the present invention. The scope of protection of the present invention is not limited to the above embodiment. All technical solutions based on the concept of the present invention are within the scope of protection of the present invention. It should be noted that for those skilled in the art, various improvements and modifications that do not depart from the principles of the present invention should also be considered within the scope of protection of the present invention.
[0173] It should be noted that the above embodiments can be freely combined as needed. The above description is only a preferred embodiment of the present invention. It should be pointed out that those skilled in the art can make several improvements and modifications without departing from the principles of the present invention, and such improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A hospital operating room scheduling optimization method based on multi-dimensional constraint programming, characterized in that: include, Step S1: responding to a surgery scheduling request; Step S2: Based on the surgery scheduling request, basic surgery scheduling data to be optimized is obtained from the information system, and data cleaning and preprocessing are performed. A data association input table containing mapping relationships between departments, diagnosis and treatment groups, operating rooms, and surgery requests is constructed, and loaded into the scheduling optimization mechanism. Step S3: The scheduling optimization mechanism generates an allocation variable set for scheduling variable control through the allocation variable submodule based on the data association input table, and constructs a conditional constraint set including a time non-overlap constraint to constrain the scheduling variables through the constraint control submodule. The target optimization submodule constructs an optimization objective function including the total operating room occupancy time and operating room utilization rate, and forms a scheduling decision objective function through weighted combination, including: receiving the allocation variable set and the data input set; performing conditional constraints through the constraint control submodule, wherein the constraint control submodule includes a first constraint unit, a second constraint unit, a third constraint unit, a fourth constraint unit, and a fifth constraint unit; The first constraint unit is used to perform a unique operation assignment constraint to ensure that operation i is assigned to only one operating room r. The formula is: ; Wherein, S is the surgery set, and R is the operating room set; The doctor consistency constraint is performed by the second constraint unit to determine when the doctor d responsible for the operation i is assigned to the operating room r, the operation i is performed, and the formula is: ; Assign variables to physicians; The collaborative surgery constraint is performed by the third constraint unit, and the surgery set for the combination of the surgeon and the assistant is performed in the same operating room r. The formula is: , wherein the For each group of the optimization units ,set up is the corresponding surgery set; The department priority constraint is performed by the fourth constraint unit to specify the operating room r for the operation with priority. The formula is: ,in To prioritize the available operating room collection, for said surgical set having priority; The time non-overlap constraint is performed by the fifth constraint unit, and for the same operating room ,like and ,but , used to constrain the start time of surgery j when surgery i and surgery j are performed in the same operating room r After the operation i is completed; is the estimated duration of the operation i, is the starting time of the operation i; is an ordinal variable, Assign variables to surgery i; Assign variables to surgery j; Step S4: Based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution of the scheduling decision objective function, and corresponding surgery scheduling information is extracted based on the scheduling variable solution to generate the optimized surgery scheduling plan.
2. The hospital operating room scheduling optimization method according to claim 1, characterized in that: In step S2, according to the surgery scheduling request, the basic surgery scheduling data to be optimized in the information system is obtained and data cleaning and preprocessing are performed, and a data association input table containing the mapping relationship between departments, diagnosis and treatment groups, operating rooms and surgery applications is constructed and loaded into the scheduling optimization mechanism. include, Acquire the pre-processed basic surgery scheduling data from the information system, including a department coding table, a diagnosis and treatment group information table, an operating room configuration table, a surgery day plan table, and a surgery application form; Based on the foreign key association relationship and / or semantic field mapping between the tables in the surgical scheduling basic data, a data association table is constructed through the association construction module and the data input set for scheduling optimization is generated. The data input set is used as the basic data for variable allocation by the allocation variable submodule, and the constraint control submodule provides the surgical scheduling information for constructing scheduling constraints.
3. The hospital operating room scheduling optimization method according to claim 2, characterized in that: By associating the building blocks, we build a data association table and generate a data input set for scheduling optimization, including: Generate the surgery set by a first data construction unit, , S is the surgery set, i is any surgery in the surgery set, and the surgery includes surgery ID, estimated duration, name of the department, urgency of the surgery, and basic information of the patient; Generate an operating room set by a second data construction unit, , R is the set of operating rooms, and r is the ID of any operating room in the set of operating rooms; Generate a doctor set through the third data construction unit, , D is the set of doctors, and d is any doctor who participated in the operation; The fourth data construction unit generates an optimization unit set, and the optimization unit set is , P is the optimization unit set, and p is any combination of a chief surgeon and an assistant in the optimization unit set, wherein the optimization unit is based on the diagnosis and treatment group information table and the chief surgeon in the operation application form, and the association relationship between the chief surgeon and the diagnosis and treatment group is constructed, and by identifying the same chief surgeon and the assistant in the diagnosis and treatment group, the corresponding operations are merged to form the optimization unit.
4. The hospital operating room scheduling optimization method according to claim 3, characterized in that: In step S3, the scheduling optimization mechanism generates an allocation variable set for scheduling variable control through an allocation variable submodule based on the data association input table, including: Step S31: receiving the data input set as basic data for variable allocation; Step S32: the variable allocation submodule constructs a plurality of the scheduling variables based on the data input set for allocation, the variable allocation submodule includes a first allocation unit, a second allocation unit, a third allocation unit and a fourth allocation unit; The surgery allocation variable is generated by the first allocation unit as follows: ,in, , used to determine the surgical Assigned to the operating room ; The doctor allocation variable is generated by the second allocation unit ,in, , used to judge doctors Whether assigned to the operating room ; Generate the operation start time variable by the third allocation unit ,in, , for the surgery The start time of The sequence variable is generated by the fourth allocation unit ,in, , used to determine the operations performed in the same operating room Are you undergoing surgery? Executed before.
5. The hospital operating room scheduling optimization method according to claim 4, characterized in that: In step S3, the constraint control submodule further includes a sixth constraint unit, The sixth constraint unit is used to constrain the operation completion time to constrain the end time of each operation to not exceed the latest completion time of all operations. The formula is: ,in The latest completion time of all the operations mentioned.
6. The hospital operating room scheduling optimization method according to claim 5, characterized in that: In step S3, at least two target optimization functions are constructed by the target optimization submodule, and a scheduling decision target function is formed through weighted combination, including: The target optimization submodule constructs an optimization objective function including the total operating room occupancy time and operating room utilization rate, and forms the scheduling decision objective function through weighted combination. The scheduling decision objective function is: ; Among them, the The latest completion time of the operation, is the operating room utilization rate, and is the weight coefficient, is the estimated duration of the operation i, Assign a variable to the surgery, where |R| is the number of operating rooms in the operating room set R; is the available time of the operating room r.
7. The hospital operating room scheduling optimization method according to claim 6, characterized in that: In step S4, based on the scheduling decision objective function, a branch and bound algorithm is called to solve and generate a scheduling variable solution of the scheduling decision objective function, including: Generating an initial scheduling solution of the scheduling decision objective function by an initial scheduling algorithm for obtaining initial scheduling information, wherein the initial scheduling algorithm includes a shortest surgery first algorithm, a longest surgery first algorithm, or an emergency first algorithm; Based on the initial scheduling solution, calling the branch and bound algorithm to perform iterative optimization, during the optimization process of the branch and bound algorithm, generating one or more new branches according to preset time conflict or resource conflict points, and calculating the scheduling decision objective function value corresponding to each new branch solution; During the iterative process, if the scheduling decision objective function value of a 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.
8. The hospital operating room scheduling optimization method according to claim 7, characterized in that: In step S4, extracting the corresponding surgical scheduling information based on the scheduling variable solution to generate the optimized surgical scheduling plan includes: The surgical scheduling plan for each of the operations is generated based on the scheduling variable solution and is checked for integrity. The surgical scheduling plan includes the operation ID, the operating room ID, the surgeon, the operation start time, and the operation completion time. The plan also includes traversing all the operations and marking the unassigned operations for adjustment.
9. A hospital operating room scheduling optimization system based on multi-dimensional constraint programming, using the hospital operating room scheduling optimization method according to any one of claims 1 to 8, characterized in that: include, A data processing module is configured to respond to surgery scheduling requests; based on the surgery scheduling requests, obtain the basic surgery scheduling data to be optimized from the information system, perform data cleaning and preprocessing, construct a data association input table containing mapping relationships between departments, diagnosis and treatment groups, operating rooms, and surgery requests, and load the data into the scheduling optimization mechanism; a scheduling optimization module, configured to generate, based on the data association input table, an allocation variable set for scheduling variable control by an allocation variable submodule, and to constrain the scheduling variables by constructing a conditional constraint set including a time non-overlap constraint by a constraint control submodule; construct at least two objective optimization functions by an objective optimization submodule, and form a scheduling decision objective function through weighted combination; and to generate a scheduling variable solution for the scheduling decision objective function by invoking a branch and bound algorithm based on the scheduling decision objective function; The scheduling output module is used to extract the corresponding surgery scheduling information based on the scheduling variable solution to generate the optimized surgery scheduling plan.
Citation Information
Patent Citations
Hospital optimization scheduling method and system and storage medium
CN116631593A