Scheduling processing method and device, storage medium and electronic equipment

By using the scheduling model and integer planning algorithm to generate the initial scheduling results and adjust it, the problem of low manual scheduling efficiency in the existing technology is solved, and a more efficient and satisfactory scheduling is achieved.

CN119417138APending Publication Date: 2025-02-11BEWATEC (ZHEJIANG) MEDICAL DEVICES CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411478895.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-22
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The scheduling of nursing staff in traditional Chinese medicine hospitals mainly relies on manual work, resulting in low scheduling efficiency, especially when there are too many employees or frequent shift changes.

Method used

By obtaining the information about the objects to be scheduled and shifts, combining the scheduling rules, using the scheduling model and integer planning algorithm to generate the initial scheduling results, and adjusting them according to the actual situation to obtain the final target scheduling results.

Benefits of technology

It improves the efficiency of nursing staff scheduling, can reasonably consider the actual situation and personal preferences of nursing staff, adapt to diverse needs, and improves nursing staff satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119417138A_ABST
    Figure CN119417138A_ABST
Patent Text Reader

Abstract

The invention discloses a scheduling processing method and device, a storage medium and electronic equipment, and relates to the technical field of automatic scheduling. The method comprises the following steps: acquiring information of a plurality of to-be-scheduled objects and information of a plurality of to-be-scheduled shifts, and acquiring shift information corresponding to each to-be-scheduled object according to the information of the to-be-scheduled objects and the information of the to-be-scheduled shifts; obtaining scheduling rules of a plurality of to-be-scheduled objects and scheduling rules of a plurality of to-be-scheduled shifts, and obtaining a plurality of preset rules; according to a plurality of preset rules and the shift information corresponding to each to-be-scheduled object, generating an initial scheduling result by using a scheduling model and an integer programming algorithm; and obtaining a target scheduling result based on the initial scheduling result. Through the method and the device, the problem of relatively low scheduling efficiency caused by adopting a manual scheduling mode for hospital nursing personnel in related technologies is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of automatic scheduling, and in particular to a scheduling processing method and device, a storage medium and an electronic device. Background Art

[0002] In the related art, most hospitals still use manual scheduling for nursing staff, that is, the head nurse schedules the nursing staff for the next week at a fixed time every week and records it in Excel (table) or medical care system. However, the manual method used in the related art to formulate and adjust the scheduling plan requires a lot of time, especially when there are a large number of employees or the scheduling changes frequently, which leads to low scheduling efficiency.

[0003] Currently, no effective solution has been proposed to address the problem of low scheduling efficiency due to the manual scheduling of hospital nursing staff in related technologies. Summary of the invention

[0004] The main purpose of the present application is to provide a scheduling processing method and device, a storage medium and an electronic device to solve the problem of low scheduling efficiency caused by manually scheduling hospital nursing staff in the related art.

[0005] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a scheduling processing method is provided. The method includes: obtaining information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and obtaining the shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; obtaining the scheduling rules of the multiple objects to be scheduled and the scheduling rules of the multiple shifts to be scheduled to obtain multiple preset rules; according to the multiple preset rules and the shift information corresponding to each object to be scheduled, using the scheduling model and the integer programming algorithm, generate the initial scheduling result, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; based on the initial scheduling result, obtain the target scheduling result.

[0006] Furthermore, obtaining the scheduling rules of the multiple objects to be scheduled includes: obtaining target shift information corresponding to the target object to be scheduled within the target duration; obtaining label information of the multiple objects to be scheduled, wherein the label information is used to indicate the capacity of the multiple objects to be scheduled; obtaining combination information of the multiple objects to be scheduled, wherein the combination information is used to indicate that the first object to be scheduled and the second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled; based on the target shift information corresponding to the target object to be scheduled within the target duration, the label information of the multiple objects to be scheduled and the combination information of the multiple objects to be scheduled, the scheduling rules of the multiple objects to be scheduled are obtained.

[0007] Furthermore, obtaining the scheduling rules of the multiple shifts to be scheduled includes: obtaining the quantity information of objects required for each shift to be scheduled, and determining the capacity information of the objects required for each shift to be scheduled based on the quantity information of objects required for each shift to be scheduled; obtaining the number information of objects corresponding to each shift to be scheduled within a target time period; obtaining target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled within a continuous time period are the same; based on the quantity information of objects required for each shift to be scheduled, the capacity information of objects required for each shift to be scheduled, the number information of objects corresponding to each shift to be scheduled within the target time period, and the target information corresponding to the target shift to be scheduled, the scheduling rules of the multiple shifts to be scheduled are obtained.

[0008] Further, obtaining the scheduling rules of the multiple shifts to be scheduled includes: obtaining sequence information between the multiple shifts to be scheduled; determining information of a first shift to be scheduled, a second shift to be scheduled, a third shift to be scheduled, and a fourth shift to be scheduled among the multiple shifts to be scheduled based on the sequence information between the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled; based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled, and the fourth shift to be scheduled, obtaining the scheduling rules of the multiple shifts to be scheduled.

[0009] Furthermore, according to the multiple preset rules and the shift information corresponding to each object to be scheduled, the scheduling model and the integer programming algorithm are used to generate the initial scheduling result, including: determining multiple constraints according to the multiple preset rules and the shift information corresponding to each object to be scheduled; based on the multiple constraints, solving the scheduling model using the integer programming algorithm to generate the initial scheduling result.

[0010] Furthermore, based on the initial scheduling result, obtaining the target scheduling result includes: determining whether an adjustment instruction for adjusting the initial scheduling result is received; if no adjustment instruction for adjusting the initial scheduling result is received, using the initial scheduling result as the target scheduling result; if an adjustment instruction for adjusting the initial scheduling result is received, adjusting the initial scheduling result to obtain the target scheduling result.

[0011] Furthermore, adjusting the initial scheduling result to obtain the target scheduling result includes: adjusting the initial scheduling result to obtain an adjusted scheduling result; judging whether the adjusted scheduling result complies with the multiple preset rules; if the adjusted scheduling result does not comply with the multiple preset rules, sending a prompt message to the target object, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; if the adjusted scheduling result complies with the multiple preset rules, using the adjusted scheduling result as the target scheduling result.

[0012] In order to achieve the above-mentioned purpose, according to another aspect of the present application, a scheduling processing device is provided. The device includes: a first acquisition unit, which is used to acquire information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and acquire the shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; a second acquisition unit, which is used to acquire the scheduling rules of the multiple objects to be scheduled and the scheduling rules of the multiple shifts to be scheduled, and obtain multiple preset rules; a first generation unit, which is used to generate an initial scheduling result based on the multiple preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; a first determination unit, which is used to obtain a target scheduling result based on the initial scheduling result.

[0013] Furthermore, the second acquisition unit includes: a first acquisition module, used to acquire target shift information corresponding to the target object to be scheduled within the target duration; a second acquisition module, used to acquire label information of the multiple objects to be scheduled, wherein the label information is used to indicate the capacity of the multiple objects to be scheduled; a third acquisition module, used to acquire combination information of the multiple objects to be scheduled, wherein the combination information is used to indicate that the first object to be scheduled and the second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled; a fourth acquisition module, used to acquire scheduling rules for the multiple objects to be scheduled based on the target shift information corresponding to the target object to be scheduled within the target duration, the label information of the multiple objects to be scheduled, and the combination information of the multiple objects to be scheduled.

[0014] Further, the second acquisition unit includes: a first processing module, used to obtain the quantity information of objects required for each shift to be scheduled, and determine the capacity information of the objects required for each shift to be scheduled based on the quantity information of the objects required for each shift to be scheduled; a fifth acquisition module, used to obtain the number information of the objects corresponding to each shift to be scheduled within the target time period; a sixth acquisition module, used to obtain the target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled in consecutive time periods are the same; a seventh acquisition module, used to obtain the scheduling rules of the multiple shifts to be scheduled based on the quantity information of the objects required for each shift to be scheduled, the capacity information of the objects required for each shift to be scheduled, the number information of the objects corresponding to each shift to be scheduled within the target time period, and the target information corresponding to the target shift to be scheduled.

[0015] Further, the second acquisition unit includes: an eighth acquisition module, which is used to acquire sequence information between the multiple shifts to be scheduled; a first determination module, which is used to determine information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled and the fourth shift to be scheduled among the multiple shifts to be scheduled based on the sequence information between the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled is executed, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled is executed; a ninth acquisition module, which is used to acquire scheduling rules of the multiple shifts to be scheduled based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled and the fourth shift to be scheduled.

[0016] Furthermore, the first generation unit includes: a second determination module, used to determine multiple constraints according to the multiple preset rules and the shift information corresponding to each object to be scheduled; a first generation module, used to solve the scheduling model based on the multiple constraints using the integer programming algorithm to generate the initial scheduling result.

[0017] Furthermore, the first determination unit includes: a first judgment module, used to determine whether an adjustment instruction for adjusting the initial scheduling result is received; a third determination module, used to use the initial scheduling result as the target scheduling result if an adjustment instruction for adjusting the initial scheduling result is not received; and a second processing module, used to adjust the initial scheduling result to obtain the target scheduling result if an adjustment instruction for adjusting the initial scheduling result is received.

[0018] Furthermore, the second processing module includes: a first processing submodule, used to adjust the initial scheduling result to obtain an adjusted scheduling result; a first judgment submodule, used to judge whether the adjusted scheduling result complies with the multiple preset rules; a first sending submodule, used to send a prompt message to the target object if the adjusted scheduling result does not comply with the multiple preset rules, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; a first determination submodule, used to use the adjusted scheduling result as the target scheduling result if the adjusted scheduling result complies with the multiple preset rules.

[0019] In order to achieve the above-mentioned purpose, according to another aspect of the present application, a computer-readable storage medium is provided, wherein the storage medium stores a program, wherein the program executes any one of the above-mentioned scheduling processing methods.

[0020] In order to achieve the above-mentioned purpose, according to another aspect of the present application, an electronic device is provided, which includes one or more processors and a memory, and the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any one of the above-mentioned scheduling processing methods.

[0021] Through the present application, the following steps are adopted: obtaining information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and obtaining shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; obtaining scheduling rules of multiple objects to be scheduled and scheduling rules of multiple shifts to be scheduled to obtain multiple preset rules; according to the multiple preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, an initial scheduling result is generated, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; based on the initial scheduling result, a target scheduling result is obtained, which solves the problem of low scheduling efficiency caused by manually scheduling hospital nursing staff in the related art. By using a scheduling model and algorithm (i.e., an integer programming algorithm) to quickly generate a scheduling table (i.e., an initial scheduling result) based on a preset mapping relationship between personnel and shifts, as well as preset personnel rules and shift rules (i.e., multiple preset rules), and after generating an automatic scheduling table (i.e., an initial scheduling result), the head nurse can make adjustments based on actual conditions to obtain a final scheduling table (i.e., a target scheduling result), and can set any scheduling cycle. Moreover, through the preset personnel scheduling rules and shift scheduling rules (i.e., multiple preset rules), the actual conditions and personal preferences of nursing staff can be comprehensively and reasonably considered, thereby adapting to diverse needs and improving the satisfaction of nursing staff. At the same time, compared with the manual scheduling method used in the prior art, the scheduling efficiency can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The drawings constituting a part of the present application are used to provide a further understanding of the present application. The illustrative embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0023] Figure 1 This is the process of the scheduling processing method provided in the embodiment of the present application Figure 1 ;

[0024] Figure 2 This is the process of the scheduling processing method provided in the embodiment of the present application Figure 2 ;

[0025] Figure 3 This is the process of the scheduling processing method provided in the embodiment of the present application Figure 3 ;

[0026] Figure 4 is a schematic diagram of a shift scheduling processing device provided according to an embodiment of the present application;

[0027] Figure 5 is a schematic diagram of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0028] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0029] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this application.

[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0031] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, data for analysis, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. For example, an interface is set between this system and the relevant user or organization. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or organization.

[0032] For the convenience of description, some nouns or terms involved in the embodiments of the present application are explained below:

[0033] Integer programming means that the variables in the planning (all or part) are restricted to integers. If the variables are restricted to integers in a linear model, it is called integer linear programming.

[0034] The present invention is described below in conjunction with preferred implementation steps. Figure 1 This is the process of the scheduling processing method provided in the embodiment of the present application Figure 1 ,like Figure 1 As shown, the method comprises the following steps:

[0035] Step S101, obtaining information of a plurality of objects to be scheduled and information of a plurality of shifts to be scheduled, and obtaining shift information corresponding to each object to be scheduled based on the information of the plurality of objects to be scheduled and the information of the plurality of shifts to be scheduled.

[0036] For example, when setting the mapping relationship between personnel (i.e., objects to be scheduled) and shifts (i.e., shifts to be scheduled), you can first obtain the information of all personnel (corresponding to the above-mentioned multiple objects to be scheduled) and shifts (corresponding to the above-mentioned multiple shifts to be scheduled) under the department that needs to be scheduled. For example, the personnel (corresponding to the above-mentioned multiple objects to be scheduled) information may include the name, rank and ability classification of the employee (i.e., the object to be scheduled). The shift (corresponding to the above-mentioned multiple shifts to be scheduled) information may include all the shifts that the department needs to take and the working hours of each shift. Then, the preset shift domain of the employee (i.e., the object to be scheduled) can be set according to personal ability, seniority and actual situation, that is, the shift that the employee is expected to take on a regular basis is written into the preset shift domain.

[0037] Step S102, obtaining scheduling rules for a plurality of objects to be scheduled and scheduling rules for a plurality of shifts to be scheduled, and obtaining a plurality of preset rules.

[0038] For example, personnel rules (corresponding to the scheduling rules for the above-mentioned multiple objects to be scheduled) and shift rules (corresponding to the scheduling rules for the above-mentioned multiple shifts to be scheduled) may be pre-set. For example, the pre-set personnel rules (corresponding to the scheduling rules for the above-mentioned multiple objects to be scheduled) may include: rules for fixing someone to work a certain shift on a certain day, which are applied for by employees based on their personal circumstances and personal wishes or directly assigned by the head nurse, rules for setting competency labels for employees and setting combinations of high- and low-seniority employees, etc. For example, the pre-set shift rules (corresponding to the scheduling rules for the above-mentioned multiple shifts to be scheduled) may include rules set based on factors such as shift competency requirements, shift sequence, employee work balance, and shift continuity.

[0039] Step S103, generating an initial scheduling result according to a plurality of preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers.

[0040] For example, according to the pre-set rules (corresponding to the above-mentioned multiple preset rules) and conditions (corresponding to the above-mentioned shift information corresponding to each object to be scheduled), an algorithm (corresponding to the above-mentioned integer programming algorithm) can be used to quickly generate a schedule (corresponding to the above-mentioned initial scheduling result). Specifically, according to the pre-set rules (corresponding to the above-mentioned multiple preset rules) and conditions (corresponding to the above-mentioned shift information corresponding to each object to be scheduled), it can be converted into multiple constraints, and these constraints can respectively represent constraints on personnel, days, and shifts; then, according to these constraints, the scheduling model can be solved using the integer programming algorithm to generate a schedule (corresponding to the above-mentioned initial scheduling result).

[0041] Step S104, obtaining a target scheduling result based on the initial scheduling result.

[0042] For example, after generating an automatic shift schedule (corresponding to the initial shift schedule result described above), the head nurse can make adjustments based on actual conditions, and obtain the final shift schedule (corresponding to the target shift schedule result described above) through the system after final confirmation of the changes.

[0043] Through the above steps S101 to S104, a scheduling table (i.e., an initial scheduling result) is quickly generated using a scheduling model and algorithm (i.e., an integer programming algorithm) according to a preset mapping relationship between personnel and shifts, as well as preset personnel rules and shift rules (i.e., multiple preset rules). After generating the automatic scheduling table (i.e., the initial scheduling result), the head nurse can make adjustments according to actual conditions to obtain a final scheduling table (i.e., a target scheduling result). Any scheduling cycle can be set, and through the preset personnel scheduling rules and shift scheduling rules (i.e., multiple preset rules), the actual conditions and personal preferences of nursing staff can be comprehensively and reasonably considered, thereby adapting to diverse needs and improving the satisfaction of nursing staff. At the same time, compared with the manual scheduling method in the prior art, the scheduling efficiency can be improved.

[0044] Figure 2 This is the process of the scheduling processing method provided in the embodiment of the present application Figure 2 ,like Figure 2 As shown, in the scheduling processing method provided in the embodiment of the present application, obtaining the scheduling rules of multiple objects to be scheduled includes:

[0045] Step S201, obtaining the target shift information corresponding to the target object to be scheduled within the target duration;

[0046] Step S202, obtaining label information of a plurality of objects to be scheduled, wherein the label information is used to indicate the capacity of the plurality of objects to be scheduled;

[0047] Step S203, obtaining combination information of a plurality of objects to be scheduled, wherein the combination information is used to indicate that a first object to be scheduled and a second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled;

[0048] Step S204, based on the target shift information corresponding to the target object to be scheduled within the target duration, as well as the label information of the multiple objects to be scheduled and the combination information of the multiple objects to be scheduled, the scheduling rules of the multiple objects to be scheduled are obtained.

[0049] For example, when setting personnel rules (corresponding to the scheduling rules of the above-mentioned multiple objects to be scheduled), the following contents may be included:

[0050] (1) A person is assigned to work a certain shift on a certain day. The employee can apply for it based on his / her personal situation and wishes, or the head nurse can directly assign the person. This is applicable to special situations, such as annual leave, teaching shifts, etc. Employees are not required to work these shifts every day, but they are arranged in advance based on special circumstances. For example, if employee A is on annual leave on Friday, then employee A will not be assigned another shift on Friday.

[0051] (2) Set competency labels for employees so that the number of people with special competencies on duty every day is greater than 0. For example, when the head nurse and the head nurse are not on duty every day, there must be at least one person on duty to ensure the safety of patients and the team. For example, some wards require that at least one person with strong communication skills must be on duty to improve patient satisfaction and nursing effectiveness.

[0052] (3) Set up a high- and low-seniority employee combination, that is, designate high-seniority employee A and low-seniority employee B to work shift X together. This situation is applicable when an intern joins the company and needs to learn all the contents of a certain shift with a senior employee so that he or she can work independently. Once the intern can take charge of the position independently, the high- and low-seniority employee combination is cancelled or a shift combination with other senior employees is set up.

[0053] In addition, it should be noted that when setting personnel rules, scheduling rules can be set for all personnel to be scheduled (ie, objects to be scheduled), or scheduling rules can be set only for personnel with special needs (ie, objects to be scheduled).

[0054] Through the above scheme, personnel rules can be set according to the actual situation of the nursing staff, personal preferences, ability labels, employee composition and other information.

[0055] Optionally, in the scheduling processing method provided in the embodiment of the present application, obtaining scheduling rules for multiple shifts to be scheduled includes: obtaining the quantity information of objects required for each shift to be scheduled, and determining the capacity information of the objects required for each shift to be scheduled based on the quantity information of objects required for each shift to be scheduled; obtaining the number information of the objects corresponding to each shift to be scheduled within a target time period; obtaining target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled within a continuous time period are the same; based on the quantity information of objects required for each shift to be scheduled, the capacity information of the objects required for each shift to be scheduled, the number information of the objects corresponding to each shift to be scheduled within the target time period, and the target information corresponding to the target shift to be scheduled, obtaining scheduling rules for multiple shifts to be scheduled.

[0056] For example, when setting the shift rules (corresponding to the above-mentioned scheduling rules for multiple shifts to be scheduled), the following contents may be included:

[0057] (1) The number of people working each shift every day during the scheduling cycle. After obtaining the information of each shift in step 1, the head nurse sets the default number of people for each shift, and the number of people required for each shift every day during the scheduling cycle is automatically initialized. The number of people required for the shift on a specific day can be changed. For example, for class X, when the default number of people is not set, the number of people limited from Monday to Sunday is empty; when the default number of people is set to 1, the number of people in the shift is initialized to 1 every day from Monday to Sunday, and the head nurse can set the number of people in the shift on Tuesday to 2 based on experience. For non-routine shifts, no setting is required, such as annual leave, maternity leave, etc. When not set, the default number of people is greater than or equal to 0.

[0058] (2) Capacity requirement limits for each shift. Based on the number of people on each shift every day within the shift scheduling cycle, we can expand the capacity requirement limits for each shift. This is applicable to situations where some shifts require employees with different ability levels to work together on the same shift. For example, if the number of people on shift X is limited to 3, and one employee with ability level 1, 2, and 3 is required, then the algorithm will constrain the ability levels of people on shift X to 1, 2, and 3.

[0059] (3) Limits on the total number of days per person per week for each shift. In order to ensure that employees work evenly and make shift scheduling more reasonable, it is necessary to set limits on the total number of days per person per week for each shift. For example, if an employee always works the shift during the week, the employee's workload will increase and employee satisfaction will decrease.

[0060] (4) Limitation of consecutive shift days. Setting consecutive shift days can help nurses better care for patients. For example, if Shift 1 is responsible for caring for patients in beds 1-20, employee A will be more familiar with the patient's condition if he works Shift 1 for three consecutive days, which will facilitate efficient care.

[0061] Through the above scheme, shift rules can be set quickly and accurately based on multiple factors such as shift number restrictions, shift capacity requirements, employee work balance and shift continuity.

[0062] Optionally, in the scheduling processing method provided in the embodiment of the present application, obtaining scheduling rules for multiple shifts to be scheduled includes: obtaining sequence information between multiple shifts to be scheduled; determining information of a first shift to be scheduled, a second shift to be scheduled, a third shift to be scheduled, and a fourth shift to be scheduled among the multiple shifts to be scheduled based on the sequence information between the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled; based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled, and the fourth shift to be scheduled, obtaining scheduling rules for multiple shifts to be scheduled.

[0063] For example, when setting the shift rules (corresponding to the above-mentioned scheduling rules for multiple shifts to be scheduled), the following contents may be included:

[0064] (1) Restrictions on the order of adjacent 1vN shifts. According to the survey, the hospital's shift scheduling rules may have shifts arranged in a fixed order. For example, if the employee's current shift is X, then the shift on the next day is one of Y and Z. In this case, the rule format is (X, [Y, Z]).

[0065] (2) Restrictions on the order of adjacent Nv1 shifts. According to the survey, the shift scheduling rules of the hospital may have a fixed order of shifts. For example, if the employee's current shift is X or Y, the next day's shift is Z. The rule format is ([X, Y], Z).

[0066] (3) Restrictions on prohibited shift sequences. According to the survey, the hospital's scheduling rules may have two adjacent shifts that cannot be scheduled in order. For example, if an employee's current shift is on-duty, then he or she cannot work the morning shift the next day. In this case, the rule format set is (on-duty, morning shift).

[0067] Through the above scheme, shift rules can be set quickly and accurately according to the order of shifts.

[0068] Optionally, in the scheduling processing method provided in the embodiment of the present application, according to multiple preset rules and the shift information corresponding to each object to be scheduled, a scheduling model and an integer programming algorithm are used to generate an initial scheduling result, including: determining multiple constraints according to multiple preset rules and the shift information corresponding to each object to be scheduled; based on the multiple constraints, solving the scheduling model using an integer programming algorithm to generate an initial scheduling result.

[0069] For example, the specific content of using the algorithm to generate a shift schedule (corresponding to the above-mentioned initial shift scheduling result) can be to set the shift schedule cycle, convert the preset rules (corresponding to the above-mentioned multiple preset rules) and conditions (corresponding to the above-mentioned shift information corresponding to each object to be scheduled) into parameters and pass them into the model (corresponding to the above-mentioned shift scheduling model). Assuming that the number of people to be scheduled is M, the number of days to be scheduled is N, and the number of shifts is K, the scheduling integer variable is defined as F(m,n,k)∈{0,1}, where m∈{1,2,…,M}, n∈{1,2,…,N}, k∈{1,2,…,K}, and F(m,n,k)=1 means that the mth person is on the kth shift on the nth day, and vice versa, it means that the mth person is not on the kth shift on the nth day. According to the preset rules (corresponding to the above-mentioned multiple preset rules) and conditions (corresponding to the above-mentioned shift information corresponding to each object to be scheduled), it is converted into constraints E(m), D(n), and S(k), which represent constraints on personnel, days, and shifts, respectively. When a constraint is violated, a penalty C(m,n,k) is generated. Therefore, the goal of the model (corresponding to the above-mentioned scheduling model) is to minimize the penalty value, which can be expressed as:

[0070]

[0071] satisfy

[0072]

[0073] Through the above scheme, the initial schedule can be obtained quickly and accurately using the integer programming algorithm.

[0074] Optionally, in the scheduling processing method provided in the embodiment of the present application, obtaining the target scheduling result based on the initial scheduling result includes: determining whether an adjustment instruction for adjusting the initial scheduling result is received; if an adjustment instruction for adjusting the initial scheduling result is not received, using the initial scheduling result as the target scheduling result; if an adjustment instruction for adjusting the initial scheduling result is received, adjusting the initial scheduling result to obtain the target scheduling result.

[0075] For example, after the algorithm generates a shift schedule (corresponding to the above-mentioned initial scheduling result), the head nurse can adjust the shift of a certain person on a certain day according to the actual situation, and submit it to the system after the adjustment. The system can then determine whether it has received an adjustment instruction to adjust the shift schedule generated by the algorithm (corresponding to the above-mentioned initial scheduling result); if the system has not received an adjustment instruction to adjust the shift schedule generated by the algorithm (corresponding to the above-mentioned initial scheduling result), the shift schedule generated by the algorithm (corresponding to the above-mentioned initial scheduling result) can be directly used as the final shift schedule (corresponding to the above-mentioned target scheduling result); if the system receives an adjustment instruction to adjust the shift schedule generated by the algorithm (corresponding to the above-mentioned initial scheduling result), the shift schedule generated by the algorithm (corresponding to the above-mentioned initial scheduling result) can be adjusted by the system, and the final shift schedule (corresponding to the above-mentioned target scheduling result) can be obtained.

[0076] Through the above scheme, the shift schedule automatically generated by the algorithm can be conveniently adjusted according to the actual situation, so that the finally generated shift schedule can be more reasonable.

[0077] Optionally, in the scheduling processing method provided in the embodiment of the present application, adjusting the initial scheduling result to obtain the target scheduling result includes: adjusting the initial scheduling result to obtain an adjusted scheduling result; judging whether the adjusted scheduling result complies with multiple preset rules; if the adjusted scheduling result does not comply with multiple preset rules, sending a prompt message to the target object, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; if the adjusted scheduling result complies with multiple preset rules, using the adjusted scheduling result as the target scheduling result.

[0078] For example, after the modification is finally confirmed by the system, the system can automatically check whether the adjusted schedule (corresponding to the above-mentioned adjusted schedule result) satisfies the established rules (corresponding to the above-mentioned multiple preset rules); if not, a prompt (corresponding to the above-mentioned prompt information) is given, and the head nurse (corresponding to the above-mentioned target object) can choose to accept the prompt and revise it again or ignore the prompt and use the adjusted schedule as the final schedule result (corresponding to the above-mentioned target schedule result); if it is satisfied, the adjusted schedule (corresponding to the above-mentioned adjusted schedule result) can be used as the final schedule (corresponding to the above-mentioned target schedule result).

[0079] Through the above scheme, according to the preset rules, it is possible to quickly and accurately determine whether the adjusted shift schedule is reasonable.

[0080] For example, the present embodiment relates to the field of automatic scheduling technology, and in particular to a method for automatic scheduling of nursing staff based on integer constraint programming. Moreover, the scheduling of the present embodiment has a high degree of freedom and strong interactivity. The head nurse can set any scheduling cycle and consider more scheduling influencing factors, including personal wishes, employee composition, ability classification, ability label, shift ability requirements, shift sequence, employee work balance, shift continuity and special ability requirements. According to pre-set rules and conditions, an algorithm is used to quickly generate a schedule. After the automatic schedule is generated, the head nurse can make adjustments according to actual conditions. After the final confirmation of the modification, the system automatically checks whether the adjusted schedule meets the established rules. If not, a prompt is given. The head nurse can choose to accept the prompt and modify it again or ignore the prompt to use the adjusted schedule as the final scheduling result, and send it to each nurse for review.

[0081] In addition, this embodiment can set any scheduling cycle and consider more scheduling influencing factors, including personal wishes, employee composition, ability classification, ability label, shift ability requirements, shift sequence, employee work balance, shift continuity and special ability requirements. According to the pre-set rules and conditions, the algorithm is used to quickly generate a schedule. And this embodiment can realize nurse linkage. Nurses can submit the fixed shifts and expected shift wishes for the next scheduling cycle in advance. The automatic scheduling algorithm will meet the nurses' wishes without violating the scheduling rules. At the same time, nurses can view their own scheduling information, which helps them better arrange their personal life and work plans and improve their sense of balance between work and life.

[0082] For example, Figure 3 This is the process of the scheduling processing method provided in the embodiment of the present application Figure 3 ,like Figure 3 As shown, the scheduling processing method includes the following steps:

[0083] Step 1: Set up the mapping relationship between personnel and shifts

[0084] The head nurse obtains all the personnel information and shift information under the department. Personnel information includes the employee's name, rank, and ability level. Shift information includes all the shifts that the department needs to work and the working hours of each shift. The head nurse sets the employee's preset shift domain based on personal ability, seniority, and actual situation, that is, the employee's usual shift is expected to be written into the preset shift domain. The execution of the algorithm will constrain employees to select shifts from the corresponding preset shift domain, which will make the scheduling results more reasonable. In particular, when an employee needs to take maternity leave, she only needs to select the maternity leave shift in her preset shift domain, and her daily shift will be maternity leave until the preset shift domain is modified.

[0085] Step 2: Set up personnel rules

[0086] (1) A person is assigned to work a certain shift on a certain day. The employee can apply for it based on his / her personal situation and wishes, or the head nurse can directly assign the person. This is applicable to special situations, such as annual leave, teaching shifts, etc. Employees are not required to work these shifts every day, but they are arranged in advance based on special circumstances. For example, if employee A is on annual leave on Friday, then employee A will not be assigned another shift on Friday.

[0087] (2) Set competency labels for employees so that the number of people with special competencies on duty every day is greater than 0. For example, when the head nurse and the head nurse are not on duty every day, there must be at least one person on duty to ensure the safety of patients and the team. For example, some wards require that at least one person with strong communication skills must be on duty to improve patient satisfaction and nursing effectiveness.

[0088] (3) Set up a high- and low-seniority employee combination, that is, designate high-seniority employee A and low-seniority employee B to work shift X together. This situation is applicable when an intern joins the company and needs to learn all the contents of a certain shift with a senior employee so that he or she can work independently. Once the intern can take charge of the position independently, the high- and low-seniority employee combination is cancelled or a shift combination with other senior employees is set up.

[0089] Step 3: Set up shift rules

[0090] (1) The number of people working each shift every day during the scheduling cycle. After obtaining the information of each shift in step 1, the head nurse sets the default number of people for each shift, and the number of people required for each shift every day during the scheduling cycle is automatically initialized. The number of people required for the shift on a specific day can be changed. For example, for class X, when the default number of people is not set, the number of people limited from Monday to Sunday is empty; when the default number of people is set to 1, the number of people in the shift is initialized to 1 every day from Monday to Sunday, and the head nurse can set the number of people in the shift on Tuesday to 2 based on experience. For non-routine shifts, no setting is required, such as annual leave, maternity leave, etc. When not set, the default number of people is greater than or equal to 0.

[0091] (2) Capacity requirement limits for each shift. Based on the number of people on each shift every day within the shift scheduling cycle, we can expand the capacity requirement limits for each shift. This is applicable to situations where some shifts require employees with different ability levels to work together on the same shift. For example, if the number of people on shift X is limited to 3, and one employee with ability level 1, 2, and 3 is required, then the algorithm will constrain the ability levels of people on shift X to 1, 2, and 3.

[0092] (3) Limits on the total number of days per person per week for each shift. In order to ensure that employees work evenly and make shift scheduling more reasonable, it is necessary to set limits on the total number of days per person per week for each shift. For example, if an employee always works the shift during the week, the employee's workload will increase and employee satisfaction will decrease.

[0093] (4) Limitation of consecutive shift days. Setting consecutive shift days can help nurses better care for patients. For example, if Shift 1 is responsible for caring for patients in beds 1-20, employee A will be more familiar with the patient's condition if he works Shift 1 for three consecutive days, which will facilitate efficient care.

[0094] Step 4: Set optional rules

[0095] (1) Restrictions on the order of adjacent 1vN shifts. According to the survey, the hospital's shift scheduling rules may have shifts arranged in a fixed order. For example, if the employee's current shift is X, then the shift on the next day is one of Y and Z. In this case, the rule format is (X, [Y, Z]).

[0096] (2) Restrictions on the order of adjacent Nv1 shifts. According to the survey, the shift scheduling rules of the hospital may have a fixed order of shifts. For example, if the employee's current shift is X or Y, the next day's shift is Z. The rule format is ([X, Y], Z).

[0097] (3) Restrictions on prohibited shift sequences. According to the survey, the hospital's scheduling rules may have two adjacent shifts that cannot be scheduled in order. For example, if an employee's current shift is on-duty, then he or she cannot work the morning shift the next day. In this case, the rule format set is (on-duty, morning shift).

[0098] Step 5: Use the algorithm to generate a schedule

[0099] Set the shift schedule cycle and convert the settings from step 1 to step 4 into parameters and pass them into the model. Assuming the number of people on shift is M, the number of days on shift is N, and the number of shifts is K, define the shift schedule integer variable as F(m,n,k)∈{0,1}, where m∈{1,2,…,M}, n∈{1,2,…,N}, k∈{1,2,…,K}, and F(m,n,k)=1 means that the mth person works the kth shift on the nth day, and vice versa, it means that the mth person does not work the kth shift on the nth day. According to the settings from step 1 to step 4, they are converted into constraints E(m), D(n), and S(k), which represent the constraints on personnel, days, and shifts, respectively. When the constraints are violated, a penalty C(m,n,k) will be generated. Therefore, the goal of the model is to minimize the penalty value, which can be expressed as:

[0100]

[0101] satisfy

[0102]

[0103]

[0104] In addition, it should be noted that most of the rules of each department of the hospital are unchanged, so most of the rules in steps 1 to 4 only need to be set once in the initial state, and then modified when the rules change, and the rest do not need to be modified. Therefore, only some variable rules need to be modified every week, for example, to fix someone to work a certain shift on a certain day, and then a new schedule can be regenerated.

[0105] Step 6: Post-processing of the shift schedule

[0106] After the algorithm generates the shift schedule, the head nurse can modify the shift of a person on a certain day and submit it after modification. After submission, a compliance check is required to check whether the modified shift meets the set rules. If it meets the requirements, the submission is successful; otherwise, a corresponding prompt is given. The head nurse can modify it again according to the prompt, or ignore the warning and submit it directly.

[0107] In summary, the scheduling processing method provided in the embodiment of the present application obtains information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and obtains shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; obtains scheduling rules of multiple objects to be scheduled and scheduling rules of multiple shifts to be scheduled to obtain multiple preset rules; according to the multiple preset rules and the shift information corresponding to each object to be scheduled, generates an initial scheduling result by using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; based on the initial scheduling result, obtains a target scheduling result, which solves the problem of low scheduling efficiency caused by manually scheduling hospital nursing staff in the related art. By using a scheduling model and algorithm (i.e., an integer programming algorithm) to quickly generate a scheduling table (i.e., an initial scheduling result) based on a preset mapping relationship between personnel and shifts, as well as preset personnel rules and shift rules (i.e., multiple preset rules), and after generating an automatic scheduling table (i.e., an initial scheduling result), the head nurse can make adjustments based on actual conditions to obtain a final scheduling table (i.e., a target scheduling result), and can set any scheduling cycle. Moreover, through the preset personnel scheduling rules and shift scheduling rules (i.e., multiple preset rules), the actual conditions and personal preferences of nursing staff can be comprehensively and reasonably considered, thereby adapting to diverse needs and improving the satisfaction of nursing staff. At the same time, compared with the manual scheduling method used in the prior art, the scheduling efficiency can be improved.

[0108] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0109] The present application also provides a shift scheduling processing device. It should be noted that the shift scheduling processing device of the present application can be used to execute the shift scheduling processing method provided in the present application. The shift scheduling processing device provided in the present application is introduced below.

[0110] Figure 4 Schematic diagram of a shift scheduling processing device provided according to an embodiment of the present application. Figure 4 As shown, the device includes: a first acquisition unit 401, a second acquisition unit 402, a first generation unit 403 and a first determination unit 404.

[0111] Specifically, the first acquisition unit 401 is used to acquire information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and acquire shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled;

[0112] The second acquisition unit 402 is used to acquire the scheduling rules of multiple objects to be scheduled and the scheduling rules of multiple shifts to be scheduled, and obtain multiple preset rules;

[0113] The first generating unit 403 is used to generate an initial scheduling result according to a plurality of preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers;

[0114] The first determining unit 404 is used to obtain a target scheduling result based on the initial scheduling result.

[0115] In summary, the scheduling processing device provided in the embodiment of the present application obtains information of multiple objects to be scheduled and information of multiple shifts to be scheduled through the first acquisition unit 401, and obtains the shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; the second acquisition unit 402 obtains the scheduling rules of the multiple objects to be scheduled and the scheduling rules of the multiple shifts to be scheduled, and obtains multiple preset rules; the first generation unit 403 generates an initial scheduling result based on the multiple preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; the first determination unit 404 obtains the target scheduling result based on the initial scheduling result, which solves the problem of low scheduling efficiency caused by manually scheduling hospital nursing staff in the related art. By using a scheduling model and algorithm (i.e., an integer programming algorithm) to quickly generate a scheduling table (i.e., an initial scheduling result) based on a preset mapping relationship between personnel and shifts, as well as preset personnel rules and shift rules (i.e., multiple preset rules), and after generating an automatic scheduling table (i.e., an initial scheduling result), the head nurse can make adjustments based on actual conditions to obtain a final scheduling table (i.e., a target scheduling result), and can set any scheduling cycle. Moreover, through the preset personnel scheduling rules and shift scheduling rules (i.e., multiple preset rules), the actual conditions and personal preferences of nursing staff can be comprehensively and reasonably considered, thereby adapting to diverse needs and improving the satisfaction of nursing staff. At the same time, compared with the manual scheduling method used in the prior art, the scheduling efficiency can be improved.

[0116] Optionally, in the scheduling processing device provided in the embodiment of the present application, the second acquisition unit includes: a first acquisition module, used to acquire the target shift information corresponding to the target object to be scheduled within the target duration; a second acquisition module, used to acquire label information of multiple objects to be scheduled, wherein the label information is used to indicate the capacity of the multiple objects to be scheduled; a third acquisition module, used to acquire combination information of multiple objects to be scheduled, wherein the combination information is used to indicate that the first object to be scheduled and the second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled; a fourth acquisition module, used to acquire scheduling rules for multiple objects to be scheduled based on the target shift information corresponding to the target object to be scheduled within the target duration, the label information of multiple objects to be scheduled, and the combination information of multiple objects to be scheduled.

[0117] Optionally, in the scheduling processing device provided in the embodiment of the present application, the second acquisition unit includes: a first processing module, used to obtain the quantity information of objects required for each shift to be scheduled, and determine the capacity information of the objects required for each shift to be scheduled based on the quantity information of the objects required for each shift to be scheduled; a fifth acquisition module, used to obtain the number information of the objects corresponding to each shift to be scheduled within the target time period; a sixth acquisition module, used to obtain target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled within a continuous time period are the same; a seventh acquisition module, used to obtain scheduling rules for multiple shifts to be scheduled based on the quantity information of objects required for each shift to be scheduled, the capacity information of the objects required for each shift to be scheduled, the number information of the objects corresponding to each shift to be scheduled within the target time period, and the target information corresponding to the target shift to be scheduled.

[0118] Optionally, in the scheduling processing device provided in the embodiment of the present application, the second acquisition unit includes: an eighth acquisition module, used to acquire sequence information between multiple shifts to be scheduled; a first determination module, used to determine information of a first shift to be scheduled, a second shift to be scheduled, a third shift to be scheduled, and a fourth shift to be scheduled among the multiple shifts to be scheduled based on the sequence information between the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled; a ninth acquisition module, used to acquire scheduling rules for multiple shifts to be scheduled based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled, and the fourth shift to be scheduled.

[0119] Optionally, in the scheduling processing device provided in the embodiment of the present application, the first generating unit includes: a second determining module, used to determine multiple constraints according to multiple preset rules and shift information corresponding to each object to be scheduled; a first generating module, used to solve the scheduling model based on multiple constraints using an integer programming algorithm to generate an initial scheduling result.

[0120] Optionally, in the scheduling processing device provided in the embodiment of the present application, the first determination unit includes: a first judgment module, used to determine whether an adjustment instruction for adjusting the initial scheduling result is received; a third determination module, used to take the initial scheduling result as the target scheduling result if an adjustment instruction for adjusting the initial scheduling result is not received; and a second processing module, used to adjust the initial scheduling result to obtain the target scheduling result if an adjustment instruction for adjusting the initial scheduling result is received.

[0121] Optionally, in the scheduling processing device provided in the embodiment of the present application, the second processing module includes: a first processing sub-module, used to adjust the initial scheduling result to obtain an adjusted scheduling result; a first judgment sub-module, used to judge whether the adjusted scheduling result complies with multiple preset rules; a first sending sub-module, used to send a prompt message to the target object if the adjusted scheduling result does not comply with multiple preset rules, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; a first determination sub-module, used to use the adjusted scheduling result as the target scheduling result if the adjusted scheduling result complies with multiple preset rules.

[0122] The scheduling processing device includes a processor and a memory. The above-mentioned first acquisition unit 401, second acquisition unit 402, first generation unit 403 and first determination unit 404 are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to realize corresponding functions.

[0123] The processor contains a kernel, which calls the corresponding program unit from the memory. One or more kernels can be set, and the scheduling efficiency can be improved by adjusting the kernel parameters.

[0124] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0125] An embodiment of the present invention provides a computer-readable storage medium on which a program is stored. When the program is executed by a processor, the scheduling processing method is implemented.

[0126] An embodiment of the present invention provides a processor, which is used to run a program, wherein the scheduling processing method is executed when the program is running.

[0127] like Figure 5 As shown, an embodiment of the present invention provides an electronic device, the device includes a processor, a memory, and a program stored in the memory and executable on the processor, and the processor implements the following steps when executing the program: obtaining information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and obtaining shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; obtaining scheduling rules for multiple objects to be scheduled and scheduling rules for multiple shifts to be scheduled to obtain multiple preset rules; according to the multiple preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, generating an initial scheduling result, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; based on the initial scheduling result, obtaining a target scheduling result.

[0128] When the processor executes the program, the following steps are also implemented: obtaining the scheduling rules for multiple objects to be scheduled includes: obtaining the target shift information corresponding to the target object to be scheduled within the target duration; obtaining the label information of the multiple objects to be scheduled, wherein the label information is used to indicate the capacity of the multiple objects to be scheduled; obtaining the combination information of the multiple objects to be scheduled, wherein the combination information is used to indicate that the first object to be scheduled and the second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled; based on the target shift information corresponding to the target object to be scheduled within the target duration, the label information of the multiple objects to be scheduled and the combination information of the multiple objects to be scheduled, the scheduling rules for the multiple objects to be scheduled are obtained.

[0129] When the processor executes the program, the following steps are also implemented: obtaining scheduling rules for multiple shifts to be scheduled includes: obtaining the quantity information of objects required for each shift to be scheduled, and determining the capacity information of the objects required for each shift to be scheduled based on the quantity information of the objects required for each shift to be scheduled; obtaining the number of objects corresponding to each shift to be scheduled within a target time period; obtaining target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled within a continuous time period are the same; based on the quantity information of objects required for each shift to be scheduled, the capacity information of the objects required for each shift to be scheduled, the number of objects corresponding to each shift to be scheduled within the target time period, and the target information corresponding to the target shift to be scheduled, the scheduling rules for multiple shifts to be scheduled are obtained.

[0130] When the processor executes the program, the following steps are also implemented: obtaining the scheduling rules of multiple shifts to be scheduled includes: obtaining the sequence information between the multiple shifts to be scheduled; determining the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled and the fourth shift to be scheduled among the multiple shifts to be scheduled based on the sequence information between the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled; based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled and the fourth shift to be scheduled, the scheduling rules of multiple shifts to be scheduled are obtained.

[0131] When the processor executes the program, the following steps are also implemented: according to multiple preset rules and the shift information corresponding to each object to be scheduled, the scheduling model and the integer programming algorithm are used to generate an initial scheduling result, including: according to multiple preset rules and the shift information corresponding to each object to be scheduled, multiple constraints are determined; based on the multiple constraints, the scheduling model is solved using the integer programming algorithm to generate an initial scheduling result.

[0132] When the processor executes the program, the following steps are also implemented: based on the initial scheduling result, obtaining the target scheduling result includes: judging whether an adjustment instruction for adjusting the initial scheduling result is received; if an adjustment instruction for adjusting the initial scheduling result is not received, the initial scheduling result is used as the target scheduling result; if an adjustment instruction for adjusting the initial scheduling result is received, the initial scheduling result is adjusted to obtain the target scheduling result.

[0133] When the processor executes the program, the following steps are also implemented: adjusting the initial scheduling result to obtain the target scheduling result, including: adjusting the initial scheduling result to obtain an adjusted scheduling result; judging whether the adjusted scheduling result complies with multiple preset rules; if the adjusted scheduling result does not comply with multiple preset rules, sending a prompt message to the target object, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; if the adjusted scheduling result complies with multiple preset rules, the adjusted scheduling result is used as the target scheduling result.

[0134] The devices in this article can be servers, PCs, PADs, mobile phones, etc.

[0135] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program that is initialized with the following method steps: obtaining information of multiple objects to be scheduled and information of multiple shifts to be scheduled, and obtaining shift information corresponding to each object to be scheduled based on the information of the multiple objects to be scheduled and the information of the multiple shifts to be scheduled; obtaining scheduling rules for multiple objects to be scheduled and scheduling rules for multiple shifts to be scheduled to obtain multiple preset rules; generating an initial scheduling result based on the multiple preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; and obtaining a target scheduling result based on the initial scheduling result.

[0136] When executed on a data processing device, it is also suitable for executing a program that is initialized with the following method steps: obtaining scheduling rules for multiple objects to be scheduled includes: obtaining target shift information corresponding to the target object to be scheduled within the target duration; obtaining label information of multiple objects to be scheduled, wherein the label information is used to indicate the capacity of the multiple objects to be scheduled; obtaining combination information of multiple objects to be scheduled, wherein the combination information is used to indicate that the first object to be scheduled and the second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled; based on the target shift information corresponding to the target object to be scheduled within the target duration, the label information of the multiple objects to be scheduled and the combination information of the multiple objects to be scheduled, the scheduling rules for the multiple objects to be scheduled are obtained.

[0137] When executed on a data processing device, it is also suitable for executing a program that is initialized with the following method steps: obtaining scheduling rules for multiple shifts to be scheduled includes: obtaining the quantity information of objects required for each shift to be scheduled, and determining the capacity information of the objects required for each shift to be scheduled based on the quantity information of objects required for each shift to be scheduled; obtaining the number of times information of objects corresponding to each shift to be scheduled within a target time period; obtaining target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled within a continuous time period are the same; based on the quantity information of objects required for each shift to be scheduled, the capacity information of objects required for each shift to be scheduled, the number of times information of objects corresponding to each shift to be scheduled within the target time period, and the target information corresponding to the target shift to be scheduled, the scheduling rules for multiple shifts to be scheduled are obtained.

[0138] When executed on a data processing device, it is also suitable for executing a program that is initialized with the following method steps: obtaining scheduling rules for multiple shifts to be scheduled includes: obtaining sequence information between multiple shifts to be scheduled; determining information of a first shift to be scheduled, a second shift to be scheduled, a third shift to be scheduled, and a fourth shift to be scheduled among the multiple shifts to be scheduled based on the sequence information between the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled; based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled, and the fourth shift to be scheduled, obtaining scheduling rules for multiple shifts to be scheduled.

[0139] When executed on a data processing device, it is also suitable for executing an initialization program having the following method steps: according to multiple preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, generating an initial scheduling result includes: according to multiple preset rules and the shift information corresponding to each object to be scheduled, determining multiple constraints; based on the multiple constraints, using an integer programming algorithm to solve the scheduling model to generate an initial scheduling result.

[0140] When executed on a data processing device, it is also suitable for executing a program initialized with the following method steps: based on the initial scheduling result, obtaining the target scheduling result includes: judging whether an adjustment instruction for adjusting the initial scheduling result is received; if an adjustment instruction for adjusting the initial scheduling result is not received, the initial scheduling result is used as the target scheduling result; if an adjustment instruction for adjusting the initial scheduling result is received, the initial scheduling result is adjusted to obtain the target scheduling result.

[0141] When executed on a data processing device, it is also suitable for executing a program that is initialized with the following method steps: adjusting the initial scheduling result to obtain the target scheduling result, including: adjusting the initial scheduling result to obtain an adjusted scheduling result; judging whether the adjusted scheduling result complies with multiple preset rules; if the adjusted scheduling result does not comply with multiple preset rules, sending a prompt message to the target object, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; if the adjusted scheduling result complies with multiple preset rules, the adjusted scheduling result is used as the target scheduling result.

[0142] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0143] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0144] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0145] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0146] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0147] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0148] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0149] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0150] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0151] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A shift scheduling method, characterized in that: include: Acquire information of a plurality of objects to be scheduled and information of a plurality of shifts to be scheduled, and acquire shift information corresponding to each object to be scheduled based on the information of the plurality of objects to be scheduled and the information of the plurality of shifts to be scheduled; Obtaining the scheduling rules of the multiple objects to be scheduled and the scheduling rules of the multiple shifts to be scheduled, and obtaining multiple preset rules; According to the plurality of preset rules and the shift information corresponding to each object to be scheduled, an initial scheduling result is generated by using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; Based on the initial scheduling result, a target scheduling result is obtained.

2. The method according to claim 1, characterized in that Obtaining the scheduling rules for the multiple objects to be scheduled includes: Obtain the target shift information corresponding to the target object to be scheduled within the target duration; Acquire label information of the plurality of objects to be scheduled, wherein the label information is used to indicate the capabilities of the plurality of objects to be scheduled; Acquire combination information of the plurality of objects to be scheduled, wherein the combination information is used to indicate that a first object to be scheduled and a second object to be scheduled correspond to the same shift, and the working time of the first object to be scheduled is longer than the working time of the second object to be scheduled; Based on the target shift information corresponding to the target object to be scheduled within the target duration, the tag information of the multiple objects to be scheduled, and the combination information of the multiple objects to be scheduled, the scheduling rules of the multiple objects to be scheduled are acquired.

3. The method according to claim 1, characterized in that: Obtaining the scheduling rules of the multiple shifts to be scheduled includes: Obtaining the quantity information of the objects required for each shift to be scheduled, and determining the capacity information of the objects required for each shift to be scheduled based on the quantity information of the objects required for each shift to be scheduled; Get the number of objects corresponding to each shift to be scheduled within the target time period; Obtaining target information corresponding to the target shift to be scheduled, wherein the target information is used to indicate that the objects corresponding to the target shift to be scheduled in a continuous time period are the same; Based on the quantity information of the objects required for each shift to be scheduled, the capability information of the objects required for each shift to be scheduled, the number of times information of the objects corresponding to each shift to be scheduled within the target time period and the target information corresponding to the target shift to be scheduled, the scheduling rules of the multiple shifts to be scheduled are obtained.

4. The method according to claim 1, characterized in that: Obtaining the scheduling rules of the multiple shifts to be scheduled includes: Obtaining sequence information between the multiple shifts to be scheduled; According to the sequence information between the multiple shifts to be scheduled, determine the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled and the fourth shift to be scheduled among the multiple shifts to be scheduled, wherein the second shift to be scheduled is a shift that needs to be executed after the first shift to be scheduled is executed, and the fourth shift to be scheduled is a shift that is prohibited from being executed after the third shift to be scheduled is executed; Based on the information of the first shift to be scheduled, the second shift to be scheduled, the third shift to be scheduled, and the fourth shift to be scheduled, a scheduling rule of the plurality of shifts to be scheduled is acquired.

5. The method according to claim 1, characterized in that According to the plurality of preset rules and the shift information corresponding to each object to be scheduled, using the scheduling model and integer programming algorithm, generating an initial scheduling result includes: Determine multiple constraint conditions according to the multiple preset rules and the shift information corresponding to each object to be scheduled; Based on the multiple constraints, the scheduling model is solved using the integer programming algorithm to generate the initial scheduling result.

6. The method according to claim 1, characterized in that Based on the initial scheduling result, the target scheduling result is obtained including: Determining whether an adjustment instruction for adjusting the initial scheduling result is received; If no adjustment instruction for adjusting the initial shift scheduling result is received, the initial shift scheduling result is used as the target shift scheduling result; If an adjustment instruction for adjusting the initial shift scheduling result is received, the initial shift scheduling result is adjusted to obtain the target shift scheduling result.

7. The method according to claim 6, characterized in that Adjusting the initial scheduling result to obtain the target scheduling result includes: Adjusting the initial scheduling result to obtain an adjusted scheduling result; Determining whether the adjusted scheduling result complies with the plurality of preset rules; If the adjusted scheduling result does not conform to the plurality of preset rules, a prompt message is sent to the target object, wherein the prompt message is used to prompt the target object to readjust the adjusted scheduling result; If the adjusted scheduling result meets the plurality of preset rules, the adjusted scheduling result is used as the target scheduling result.

8. A shift scheduling processing device, characterized in that: include: A first acquisition unit is used to acquire information of a plurality of objects to be scheduled and information of a plurality of shifts to be scheduled, and acquire shift information corresponding to each object to be scheduled based on the information of the plurality of objects to be scheduled and the information of the plurality of shifts to be scheduled; A second acquisition unit is used to acquire the scheduling rules of the multiple objects to be scheduled and the scheduling rules of the multiple shifts to be scheduled, and obtain multiple preset rules; A first generating unit is used to generate an initial scheduling result according to the plurality of preset rules and the shift information corresponding to each object to be scheduled, using a scheduling model and an integer programming algorithm, wherein the integer programming algorithm is used to control the variables in the scheduling model to be integers; The first determining unit is used to obtain a target scheduling result based on the initial scheduling result.

9. A computer-readable storage medium, characterized in that: The storage medium stores a program, wherein the program executes the shift scheduling method according to any one of claims 1 to 7.

10. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the scheduling processing method described in any one of claims 1 to 7.