Scheduling Repair System

The scheduling repair system addresses complex scheduling challenges by generating multiple candidate schedules, applying fixed constraints, and optimizing personnel allocation to enhance flexibility and efficiency.

TWM685260UActive Publication Date: 2026-07-11NAT CHENG KUNG UNIV HOSPITAL
0 Cites 0 Cited by

Patent Information

Application Number
TW115202771
Authority / Receiving Office
TW · TW
Patent Type
Utility models
Current Assignee / Owner
Filing Date
2026-03-30
Publication Date
2026-07-11
Estimated Expiration
2036-03-29

AI Technical Summary

Technical Problem

Existing scheduling systems struggle with complex scheduling scenarios, generating limited feasible solutions and lacking flexibility due to increased computational complexity when considering multiple scheduling constraints and a growing number of staff.

Method used

A scheduling repair system that generates multiple candidate schedules, applies fixed scheduling limits, calculates vacancies, evaluates fitness, and selects personnel based on suitability scores to fill vacancies, ensuring flexible and efficient scheduling.

Benefits of technology

The system provides multiple feasible scheduling options, reduces computational complexity, meets both fixed and flexible scheduling needs, and optimizes personnel allocation, ensuring minimum manpower requirements are met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMG-2_DRAW_115202771-A0305-14-0001-1
    Figure IMG-2_DRAW_115202771-A0305-14-0001-1
  • Figure IMG-2_DRAW_115202771-A0305-14-0002-2
    Figure IMG-2_DRAW_115202771-A0305-14-0002-2
  • Figure IMG-2_DRAW_03_IMAGE001
    Figure IMG-2_DRAW_03_IMAGE001
Patent Text Reader

Abstract

This invention relates to a scheduling repair system, comprising: a database; and a processing device signal-connected to the database, comprising: a candidate schedule generation module for forming a scheduling data matrix X; a fixed restriction application module for applying fixed scheduling restrictions to the scheduling data matrix X and updating it; a vacancy calculation module for calculating the required number of employees and the number of vacancies; a suitability assessment module for calculating the suitability score of personnel who can be freely scheduled; a personnel selection module for selecting personnel to fill vacancies based on the suitability score; a data update module for updating the scheduling data matrix X and sending it back to the vacancy calculation module for recalculation; and a first data output module for outputting the scheduling results and transmitting the scheduling results to the database for storage.
Need to check novelty before this filing date? Find Prior Art

Description

Scheduling Repair System Technical Field

[0001] This work relates to a repair system, specifically a system for repairing scheduling. Prior Technology

[0002] Staff scheduling requires consideration of multiple factors, such as the number of staff, shift types, and number of days. Since the leave arrangements of each employee are often uncertain, scheduling operations are quite complex. Existing scheduling systems typically generate only one or a few feasible solutions. When scheduling conditions become more complex or the number of staff increases, their efficiency decreases significantly, and the number of scheduling results available to managers is limited, resulting in a lack of scheduling flexibility. Therefore, providing a scheduling system that can simultaneously consider multiple scheduling constraints and generate multiple sets of feasible solutions to improve scheduling flexibility and practicality is urgently needed. Summary of the Invention

[0003] The problem this invention aims to solve is to provide a scheduling system that can simultaneously consider multiple scheduling constraints and generate multiple sets of feasible scheduling solutions.

[0004] To achieve the above objectives, this invention provides a scheduling repair system, comprising: a database; and a processing device signal-connected to the database, wherein the processing device includes: a candidate schedule generation module, used to generate multiple candidate schedules based on the number of personnel N, the number of shift types C, and the number of days D, and form a scheduling data matrix X, wherein... ,and The system comprises: a number of candidate work schedules; a fixed-limit application module connected to the candidate work schedule generation module, used to establish a fixed scheduling limit based on the assigned work status S of each person on each date, and applying the fixed scheduling limit to the scheduling data matrix X to update the scheduling data matrix X; a vacancy calculation module connected to the fixed-limit application module, used to calculate the number of people scheduled for each work session on each date, and obtain the number of vacancies for each work session on each date based on the required number of people for each work session on each date, wherein: if the number of vacancies for all work sessions in all candidate work schedules is zero on all dates, the vacancy calculation module generates a first signal; and if the number of vacancies for any work session in any candidate work schedule on any date is not zero, the vacancy calculation module generates a second signal; and a fitness evaluation module connected to the vacancy calculation module, used to receive the second signal and evaluate the performance of each work session. The system identifies personnel who can be freely scheduled for each date from the scheduling data matrix X and calculates their suitability score. A personnel selection module, connected to the suitability assessment module, selects personnel to fill vacancies based on their suitability scores. If the number of vacancies exceeds the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are removed from the scheduling data matrix X. A data update module, connected to both the personnel selection module and the vacancy calculation module, updates the scheduling data matrix X so that the selected personnel are assigned to the corresponding shifts on the corresponding dates. The updated scheduling data matrix X is then sent back to the vacancy calculation module for recalculation. A first data output module, connected to the vacancy calculation module, receives the first signal, outputs a scheduling result, and stores the scheduling result in the database.

[0005] More preferably, the number of shift types C selected by the candidate shift generation module is 4, and: when the value in the shift data matrix X is 0, it indicates that the person is off-duty; when the value in the shift data matrix X is 1, it indicates that the person is on day shift; when the value in the shift data matrix X is 2, it indicates that the person is on evening shift; and when the value in the shift data matrix X is 3, it indicates that the person is on night shift.

[0006] Even better, the scheduled shift status S can be one of the following: off-duty, day shift, evening shift, night shift, or flexible scheduling.

[0007] Even better, wherein: the fitness assessment module is based on (the number of day shifts in the personnel's assigned shift status S / (the number of day shifts in the personnel's assigned shift status S + the number of night shifts in the personnel's assigned shift status S + the number of night shifts in the personnel's assigned shift status S)). 100% A base score is used to calculate the suitability score of personnel who can be freely scheduled for day shifts; this suitability assessment module is based on (number of night shifts in personnel's scheduled shift status S / (number of day shifts in personnel's scheduled shift status S + number of night shifts in personnel's scheduled shift status S + number of night shifts in personnel's scheduled shift status S)). 100% A base score is used to calculate the suitability score of personnel who can be freely scheduled for night shifts; and the suitability assessment module is based on (number of night shifts in personnel's assigned shift status S / (number of day shifts in personnel's assigned shift status S + number of night shifts in personnel's assigned shift status S + number of night shifts in personnel's assigned shift status S)). 100% A base score is used to calculate the suitability score of personnel who can be freely scheduled for night shifts.

[0008] Even better, if personnel with flexible scheduling have the same suitability score for day shifts, the personnel selection module is sorted by the total number of times the personnel have historically scheduled for day shifts, and vacancies are filled in order of the lowest total number of times scheduled; if personnel with flexible scheduling have the same suitability score for night shifts, the personnel selection module is sorted by the total number of times the personnel have historically scheduled for night shifts, and vacancies are filled in order of the lowest total number of times scheduled; or if personnel with flexible scheduling have the same suitability score for night shifts, the personnel selection module is sorted by the total number of times the personnel have historically scheduled for night shifts, and vacancies are filled in order of the lowest total number of times scheduled.

[0009] Preferably, if the suitability scores of the personnel with flexible work schedules for the day shift are the same, the personnel selection module selects personnel in a random draw to fill the vacancies; if the suitability scores of the personnel with flexible work schedules for the night shift are the same, the personnel selection module selects personnel in a random draw to fill the vacancies; or if the suitability scores of the personnel with flexible work schedules for the graveyard shift are the same, the personnel selection module selects personnel in a random draw to fill the vacancies.

[0010] Preferably, the work schedule result is a candidate work schedule that meets the conditions in the work schedule data matrix X.

[0011] Preferably, the fixed work schedule restriction is a fixed work schedule matrix F, where , represents the fixed work schedule status of the th person on the th day; when , it means flexible work schedule; when , it means fixed day off; when , it means fixed day shift; when , it means fixed night shift; and when , it means fixed graveyard shift.

[0012] Preferably, the personnel selection module creates a work-schedulable position matrix to find the personnel with flexible work schedules on each date, where , when , it means that in the th candidate work schedule, the th person is available for flexible work schedule on the th day; if , it means that no more work assignments can be made.

[0013] The present creation further provides a work schedule repair system, including: a database; and a processing device, which is signal-connected to the database, where the processing device includes: a candidate work schedule generation module, which is used to generate a plurality of candidate work schedules according to the number of personnel N, the number of work schedule types C, and the number of days D, and form a work schedule data matrix X, where The number of candidate shifts is P, and C=4. When X is 0, it indicates the employee is off-duty; when X is 1, it indicates the employee is on day shift; when X is 2, it indicates the employee is on night shift; and when X is 3, it indicates the employee is on night shift. A fixed constraint application module is connected to the candidate shift generation module to establish a fixed shift constraint based on the assigned shift status S of each employee on each date. This fixed constraint is then applied to the shift data matrix X to update it. The assigned shift status S is one of off-duty, day shift, night shift, night shift, or freely assignable shifts. A one-day shift repair module is connected to the fixed constraint application module to calculate the number of day shifts in the shift data matrix X on each date. The system calculates the number of shift workers on each day, and obtains the number of vacancies for each day shift based on the demand for shift workers on each day. It then identifies personnel who can be freely scheduled for each day from the scheduling data matrix X, calculates their suitability score for the day shift, and selects personnel to fill the vacancies based on their suitability scores. If the number of vacancies for the day shift exceeds the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are removed from the scheduling data matrix X, and the scheduling data matrix X is updated. A night shift repair module, connected to the day shift repair module, calculates the number of shift workers for the night shift on each day in the scheduling data matrix X, and obtains the number of vacancies for the night shift on each day based on the demand for shift workers on each day. The system identifies personnel who can be freely scheduled for each date in matrix X, calculates their suitability score for the night shift, and selects personnel to fill night shift vacancies based on their suitability scores. If the number of night shift vacancies exceeds the number of freely scheduled personnel, the candidate shifts that cannot fill those vacancies are removed from the scheduling data matrix X, and the scheduling data matrix X is updated. A night shift repair module, connected to the night shift repair module, calculates the number of night shift workers scheduled for each date in the scheduling data matrix X, obtains the number of night shift vacancies for each date based on the demand for night shift workers, identifies personnel who can be freely scheduled for each date in the scheduling data matrix X, and calculates their suitability score for the night shift. Then, based on the fitness score, the number of personnel to fill the night shift vacancies is selected. If the number of night shift vacancies is greater than the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are deleted from the scheduling data matrix X, and the scheduling data matrix X is updated. A second data output module is connected to the night shift repair module and the day shift repair module respectively to determine whether there is still a situation in the scheduling data matrix X where the number of vacancies for any shift on any date is not zero. When there are vacancies that are not zero, the scheduling data matrix X is sent back to the day shift repair module for recalculation. When there are no vacancies that are not zero, a scheduling result is output and the scheduling result is sent to the database for storage.

[0014] The advantages of this invention compared to previous technologies are: (1) This invention can generate multiple feasible scheduling solutions simultaneously: Since this invention uses multiple candidate schedules preset and gradually fills in vacancies, the final output can include multiple scheduling schemes that meet the requirements, thus providing managers with more scheduling options and giving staff greater flexibility; (2) It can reduce the computational complexity of scheduling solutions: This invention deletes candidate schedules that cannot fill vacancies during the filling process, thus avoiding continuous calculation of infeasible solutions and improving the efficiency of scheduling solutions; (3) It can simultaneously meet the needs of fixed and flexible scheduling. This invention uses a fixed schedule matrix to apply fixed scheduling constraints, so that existing scheduling needs and positions that can be freely scheduled can be considered at the same time; (4) Personnel can be allocated according to suitability scores to improve the rationality of scheduling: Since this invention uses a suitability score mechanism to select personnel to fill vacancies, personnel allocation can be more in line with historical scheduling conditions or class preferences; (5) Scheduling vacancies can be gradually repaired to ensure minimum manpower needs: This invention uses a vacancy calculation and gradual make-up mechanism, so that the scheduling results can meet the minimum manpower needs of each class, and the manpower input can be checked according to the manpower needs to see if it is sufficient or excessive. Simple Explanation of the Diagram

[0015] Figure 1 is a block structure diagram used to illustrate a structural feature of the shift repair system; Figure 2 is a block structure diagram used to illustrate another structural feature of the shift repair system. Implementation

[0016] To make the above and / or other purposes, effects, and features of this invention clearer and easier to understand, preferred embodiments are described in detail below:

[0017] The purpose of this invention is to provide a scheduling repair system (1), as shown in Figure 1, comprising: a database (2); and a processing device (3) connected to the database (2) by a signal. The processing device (3) comprises: a candidate schedule generation module (4) for generating multiple candidate schedules based on the number of personnel N, the number of shift types C, and the number of days D, and forming a scheduling data matrix X. ,and The number of candidate schedules; a fixed restriction application module (5), which is connected to the candidate schedule generation module (4) by signal, is used to establish a fixed scheduling restriction based on the scheduled shift status S of each person on each date, and apply the fixed scheduling restriction to the scheduling data matrix X to update the scheduling data matrix X; a vacancy calculation module (6), which is connected to the fixed restriction application module (5) by signal, is used to calculate the number of people scheduled for each shift on each date, and calculate the number of people scheduled for each shift on each date based on the vacancy requirements of each shift on each date. The system calculates the number of vacancies for each class on each date, wherein: if the number of vacancies for all classes in all candidate class lists is zero on all dates, the vacancy calculation module (6) generates a first signal; and if the number of vacancies for any class in any candidate class list is not zero on any date, the vacancy calculation module (6) generates a second signal; a fitness assessment module (7) is connected to the vacancy calculation module (6) to receive the second signal, and performs self-assessment for each class. The scheduling data matrix X identifies personnel who can be freely scheduled on each date and calculates their suitability score. A personnel selection module (8) is connected to the suitability assessment module (7) to select personnel to fill vacancies based on their suitability scores. If the number of vacancies is greater than the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are deleted from the scheduling data matrix X. A data update module (9) is connected to the personnel selection module (8) and the vacancy calculation module (6) to update the scheduling data matrix X so that the selected personnel are assigned to the corresponding shifts on the corresponding dates. The updated scheduling data matrix X is then sent back to the vacancy calculation module (6) for recalculation. A first data output module (10) is connected to the vacancy calculation module (6) to receive the first signal, output a scheduling result, and send the scheduling result to the database (2) for storage. In a preferred embodiment, the scheduling result is a candidate schedule that meets the conditions in the scheduling data matrix X.

[0018] More preferably, in order to make the randomly generated candidate shift schedule include 4 types of shifts, the number of shift types C selected by the candidate shift schedule generation module (4) is 4, and: when the value in the scheduling data matrix X is 0, it indicates that the person is on a day off; when the value in the scheduling data matrix X is 1, it indicates that the person is on a day shift; when the value in the scheduling data matrix X is 2, it indicates that the person is on a night shift; and when the value in the scheduling data matrix X is 3, it indicates that the person is on a night shift. In a preferred embodiment, the number of shift types C can be 2, 3, 4, 5, 6, 7, 8, 9, or 10 to provide a variety of shift options, and is not limited thereto. In another preferred embodiment, in order to correspond to the shift types, the scheduled shift status S is one of day off, day shift, night shift, night shift, and freely scheduled, but is not limited thereto.

[0019] Even better, in order to calculate the suitability scores of personnel who can be freely scheduled, so that they can be compared with each other as a reference for selection, the suitability assessment module (7) is based on (the number of day shifts in the personnel's scheduled shift status S / (the number of day shifts in the personnel's scheduled shift status S + the number of night shifts in the personnel's scheduled shift status S + the number of night shifts in the personnel's scheduled shift status S)). 100% The base score is used to calculate the suitability score of personnel who can be freely scheduled for day shifts; the suitability assessment module (7) is based on (the number of night shifts in the personnel's scheduled shift status S / (the number of day shifts in the personnel's scheduled shift status S + the number of night shifts in the personnel's scheduled shift status S + the number of night shifts in the personnel's scheduled shift status S)). 100% The base score is used to calculate the suitability score of personnel who can be freely scheduled for night shifts; and the suitability assessment module (7) is based on (the number of night shifts in the personnel's scheduled shift status S / (the number of day shifts in the personnel's scheduled shift status S + the number of night shifts in the personnel's scheduled shift status S + the number of night shifts in the personnel's scheduled shift status S)). 100% A base score is used to calculate the suitability score of personnel who can be freely scheduled for night shifts.

[0020] Preferably, in order to select the most suitable personnel from the personnel with flexible work schedules to fill the vacancies, where: if the suitability scores of the personnel with flexible work schedules for the day shift are the same, the personnel selection module (8) sorts the personnel according to the total historical scheduled shifts of the personnel on the day shift, and fills the vacancies in order from the one with the smallest total scheduled shifts; if the suitability scores of the personnel with flexible work schedules for the night shift are the same, the personnel selection module (8) sorts the personnel according to the total historical scheduled shifts of the personnel on the night shift, and fills the vacancies in order from the one with the smallest total scheduled shifts; or if the suitability scores of the personnel with flexible work schedules for the graveyard shift are the same, the personnel selection module (8) sorts the personnel according to the total historical scheduled shifts of the personnel on the graveyard shift, and fills the vacancies in order from the one with the smallest total scheduled shifts.

[0021] Preferably, in order to select a specified number of personnel from the personnel with flexible work schedules to fill the vacancies, where: if the suitability scores of the personnel with flexible work schedules for the day shift are the same, the personnel selection module (8) selects personnel to fill the vacancies by random selection; if the suitability scores of the personnel with flexible work schedules for the night shift are the same, the personnel selection module (8) selects personnel to fill the vacancies by random selection; or if the suitability scores of the personnel with flexible work schedules for the graveyard shift are the same, the personnel selection module (8) selects personnel to fill the vacancies by random selection.

[0022] Preferably, the fixed work schedule restriction is a fixed schedule matrix F, where , represents the fixed work schedule status of the th person on the th day; when , it means flexible work schedule; when , it means fixed day off; when , it means fixed day shift; when , it means fixed night shift; and when , it means fixed graveyard shift.

[0023] Preferably, the personnel selection module (8) creates a schedulable position matrix to find the personnel with flexible work schedules on each date, where , when , it means that in the th candidate schedule, the th person is available for flexible work on the th day; if , it means that no more shift assignments can be made.

[0024] This invention also provides a scheduling repair system (1), as shown in Figure 2, comprising: a database (2); and a processing device (3) connected to the database (2) by a signal. The processing device (3) comprises: a candidate schedule generation module (4) for generating multiple candidate schedules based on the number of personnel N, the number of shift types C, and the number of days D, and forming a scheduling data matrix X. The number of candidate shifts is P, and C=4. When the value of X is 0, it means that the person is off-duty; when the value of X is 1, it means that the person is on day shift; when the value of X is 2, it means that the person is on night shift; and when the value of X is 3, it means that the person is on night shift. A fixed restriction application module (5) is connected to the candidate shift generation module (4) to establish a fixed shift restriction based on the shift status S of each person on each date, and apply the fixed shift restriction to the shift data matrix X to update the shift data matrix X. The shift status S is one of off-duty, day shift, night shift, night shift, and free shift. A day shift repair module (11) is connected to the fixed restriction application module (5) to calculate the shift. The data matrix X contains the number of day shift workers scheduled for each date. Based on the demand for day shift workers on each date, the vacancy rate for day shift workers on each date is obtained. Personnel who can be freely scheduled for each date are identified from the scheduling data matrix X. The suitability score of these personnel for day shifts is calculated. Based on the suitability score, personnel are selected to fill the vacancies for day shifts. If the vacancies for day shifts are greater than the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are deleted from the scheduling data matrix X, and the scheduling data matrix X is updated. A night shift repair module (12) is connected to the day shift repair module (11) by signal to calculate the number of night shift workers scheduled for each date in the scheduling data matrix X and to determine the vacancies for night shift workers on each date. Obtain the number of vacancies for the night shift on each date, find the personnel who can be freely scheduled on each date from the scheduling data matrix X, calculate the suitability score of the personnel who can be freely scheduled for the night shift, and select personnel to fill the vacancies for the night shift based on the size of the suitability score. If the number of vacancies for the night shift is greater than the number of personnel who can be freely scheduled, then the candidate shifts that cannot fill the vacancies are deleted from the scheduling data matrix X, and the scheduling data matrix X is updated. The night shift repair module (13) is connected to the night shift repair module (12) by signal, and is used to calculate the number of night shifts scheduled on each date in the scheduling data matrix X, and obtain the number of vacancies for the night shift on each date based on the demand for night shifts on each date, and find the personnel who can be freely scheduled on each date from the scheduling data matrix X. The system schedules personnel and calculates the suitability scores of those who can be freely scheduled for the night shift. Based on the suitability scores, it selects personnel to fill vacancies in the night shift. If the number of vacancies in the night shift is greater than the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are deleted from the scheduling data matrix X, and the scheduling data matrix X is updated. A second data output module (14) is connected to the night shift repair module (13) and the day shift repair module (11) respectively to determine whether there is still a situation in the scheduling data matrix X where the number of vacancies for any shift on any date is not zero. When there is a situation where the number of vacancies is not zero, the scheduling data matrix X is sent back to the day shift repair module (11) for recalculation.And when there are no vacancies and the number of vacancies is not zero, output a scheduling result and send the scheduling result to the database (2) for storage.

[0025] The following examples illustrate the scheduling calculation process of this invention, where the personnel are nurses.

[0026] First, generate a plurality of candidate schedules and use a three-dimensional scheduling data matrix. It is represented, and its definition is as follows: ,in: Indicates the number of candidate class schedules, Indicates the number of nurses, This indicates the number of shift days. Additionally, there is a shift data matrix. This is used to record the scheduling results of each nurse on each date in each candidate shift schedule. Specifically, for any element... , which indicates the first In the candidate class list, the first The nurse at the The daily scheduling status, including: when , indicates a day off; when , indicates day shift; when , indicating the night shift; and when This indicates the night shift. For the index of the candidate class list, and =1,…,P; For nurses' index, and =1,…,N [;] [For] the index of the date, and =1,…,D [。]

[0027] Next, with It is a fixed schedule matrix used to represent the fixed scheduling restrictions of each nurse on each date, and its definition is as follows: , where: represents the fixed scheduling status of the -th nurse on the -th day; when , it means free scheduling; when , it means fixed rest; when , it means fixed day shift; when , it means fixed night shift; and when , it means fixed graveyard shift. Specifically, the fixed schedule matrix is applied to the scheduling data matrix to cover the positions with fixed shift restrictions, and for the positions without fixed shift restrictions, the content of the original candidate schedule is retained, and its definition is: , which means that when the value of a certain position in the fixed schedule matrix is greater than or equal to 0, it means that the position has a fixed shift, and the value of covers the corresponding position in <s , and the scheduling result is corrected; if the value of this position is -1, the original scheduling result is maintained.

[0028] Then, with the index of the work shift being , and , when = 1, the shift is day shift, when = 2, the shift is night shift; and when =3 hours is for night shift. (Based on the shift scheduling data matrix) After the update, the actual number of students scheduled for each class on each date in each candidate schedule is first calculated, defined as follows: ,in Indicates the first The candidate class list is at the 1st Heaven's Number The number of nurses scheduled for each shift, and Next, based on the minimum number of students required for each class... Calculate the number of vacancies , indicates the following ,in, Indicates the first The candidate class list is at the 1st Heaven's Number If the calculated number of vacancies for a class is negative, it is counted as 0, indicating that the minimum manpower requirement for that class has been met and there are no vacancies. Specifically: when the total number of vacancies for all classes across all candidate schedules for all dates is 0, it means that the current scheduling meets the minimum manpower requirement, and the repair process can be terminated. This can be represented as: In a preferred embodiment, This indicates that the minimum manpower requirement for each shift each day is a value of [value missing]. A matrix containing only integer values. .

[0029] Next, if vacancies still exist, a scheduleable position matrix is ​​established. This is used to indicate the location where work shifts can currently be assigned. Specifically, it is to... And at the same time The position is considered a scheduleable position, which can be represented as: ,in, Indicates the first In the candidate class list, the first The nurse at the The schedule can be arranged flexibly; if If , it means that no further assignment is possible.

[0030] Next, this device can handle various work shifts simultaneously, such as day shifts, evening shifts, and night shifts; or it can handle various work shifts sequentially, such as day shifts, evening shifts, and night shifts, as shown below: When processing each class, the process first determines whether there are still vacancies for that class on each candidate class schedule for each date, as shown below: , among which when When, it indicates the first The candidate class list is at the 1st Heaven's Number There are still vacancies in the classes that need to be filled.

[0031] Then, based on the main shifts of each nurse... And calculate the current available shift positions for each nurse who can freely schedule shifts, relative to the current shift. The suitability score, used as the basis for filling scheduling vacancies, can be expressed as: in, The fitness function is calculated based on the degree of match between the nurse's primary shifts and the shifts to be filled, representing the fitness function based on available scheduling positions. Nurses' main shifts and the classes that are currently being sought to be added. The calculated fitness score matrix; symbol This indicates element-wise multiplication, used to mask out positions without missing elements; while Then it means the first In the candidate class list, the first The nurse at the Tian was assigned to the class The fitness score is calculated. After calculating the fitness score, the nurse with the highest fitness score is selected for shift assignment, which can be expressed as: ,in, This indicates the index of nurses selected for make-up shifts. Additionally, if multiple nurses have the same fitness score, selection can be based on preset rules, such as selecting the nurse with the lowest index, random selection, or selection based on the lowest historical shift load. In a preferred embodiment, .

[0032] Next, check whether the selected nurses actually correspond to available and vacant positions, which can be represented as: , among which when At the time of its establishment, the first The selected nurses from the candidate list At the The schedule status has been updated to class type. , indicates the following: And set the position in the available scheduling position matrix. Removed from the list to avoid duplicate assignments, as shown below: In this way, this creation can gradually fix the manpower shortages for each day and shift in the candidate schedule, so that the candidate schedule can meet the preset minimum scheduling requirements.

[0033] The advantages of this invention compared to previous technologies are: (1) This invention can generate multiple feasible scheduling solutions simultaneously: Since this invention uses multiple candidate schedules preset and gradually fills in vacancies, the final output can include multiple scheduling schemes that meet the requirements, thus providing managers with more scheduling options and giving staff greater flexibility; (2) It can reduce the computational complexity of scheduling solutions: This invention deletes candidate schedules that cannot fill vacancies during the filling process, thus avoiding continuous calculation of infeasible solutions and improving the efficiency of scheduling solutions; (3) It can simultaneously meet the needs of fixed and flexible scheduling. This invention uses a fixed schedule matrix to apply fixed scheduling constraints, so that existing scheduling needs and positions that can be freely scheduled can be considered at the same time; (4) Personnel can be allocated according to suitability scores to improve the rationality of scheduling: Since this invention uses a suitability score mechanism to select personnel to fill vacancies, personnel allocation can be more in line with historical scheduling conditions or class preferences; (5) Scheduling vacancies can be gradually repaired to ensure minimum manpower needs: This invention uses a vacancy calculation and gradual make-up mechanism, so that the scheduling results can meet the minimum manpower needs of each class, and the manpower input can be checked according to the manpower needs to see if it is sufficient or excessive.

[0034] The above description is merely a preferred embodiment of this invention and should not be construed as limiting the scope of its implementation. Any simple equivalent changes and modifications made based on the claims and description of this invention are still within the scope of this invention. Furthermore, no embodiment or claim of this invention needs to achieve all the purposes, advantages, or features disclosed in this invention. In addition, the abstract and headings are merely for assisting in patent document searches and are not intended to limit the scope of this invention. Furthermore, the terms "first," "second," etc., used in the specification are only used to indicate the names of components and are not used to limit the upper or lower limits of the number of components.

[0035] 1: Scheduling Repair System 2: Database 3: Processing device 4: Candidate Class Schedule Generation Module 5: Fixed restrictions on module application 6: Deficit Calculation Module 7: Suitability Assessment Module 8: Personnel Selection Module 9: Data Update Module 10: First Data Output Module 11: Day shift repair module 12: Night Shift Repair Module 13: Night Shift Repair Module 14: Second Data Output Module

Claims

1. A scheduling repair system, comprising: a database; and a processing device signal-connected to the database, wherein the processing device comprises: a candidate schedule generation module, used to generate a plurality of candidate schedules based on the number of personnel N, the number of shift types C, and the number of days D, and form a scheduling data matrix X, wherein, The number of candidate schedules; A fixed restriction application module, connected to the candidate schedule generation module, is used to establish a fixed scheduling restriction based on the scheduled shift status S of each person on each date, and apply the fixed scheduling restriction to the scheduling data matrix X to update the scheduling data matrix X; A vacancy calculation module, connected to the fixed restriction application module, is used to calculate the number of people scheduled for each shift on each date, and obtain the number of vacant people for each shift on each date based on the number of people required for each shift on each date, wherein: if the number of vacant people for all shifts in all candidate schedules on all dates is zero, the vacancy calculation module generates a first signal; and if the number of vacant people for any shift in any candidate schedule on any date is not zero, the vacancy calculation module generates a second signal; A suitability assessment module, connected to the vacancy calculation module, receives the second signal and identifies personnel who can be freely scheduled on each date from the scheduling data matrix X for each class, and calculates the suitability score of these personnel. A personnel selection module, connected to the suitability assessment module, selects personnel to fill vacancies based on their suitability scores. If the number of vacancies exceeds the number of personnel who can be freely scheduled, the candidate schedules that cannot fill the vacancies are deleted from the scheduling data matrix X. A data update module is connected to the personnel selection module and the vacancy calculation module by signal to update the scheduling data matrix X, so that the selected personnel are assigned to the corresponding shift on the corresponding date, and the updated scheduling data matrix X is sent back to the vacancy calculation module for recalculation; and a first data output module is connected to the vacancy calculation module by signal to receive the first signal, output a scheduling result, and transmit the scheduling result to the database for storage.

2. The scheduling repair system as described in claim 1, wherein the number of shift types C selected by the candidate shift generation module is 4, and: when the value in the scheduling data matrix X is 0, it indicates that the person is off duty; when the value in the scheduling data matrix X is 1, it indicates that the person is on day shift; when the value in the scheduling data matrix X is 2, it indicates that the person is on night shift; and when the value in the scheduling data matrix X is 3, it indicates that the person is on night shift.

3. The scheduling repair system as described in claim 1, wherein the scheduled shift status S is one of rest, day shift, evening shift, night shift, and flexible scheduling.

4. The scheduling repair system as described in Request 1, wherein: The suitability assessment module calculates the suitability score of personnel who can be freely scheduled for day shifts based on a base score of (number of day shifts in the personnel's assigned shift status S / (number of day shifts in the personnel's assigned shift status S + number of night shifts in the personnel's assigned shift status S + number of night shifts in the personnel's assigned shift status S)) 100%. The suitability assessment module calculates the suitability score for night shifts for personnel who can be freely scheduled using a base score of (number of night shifts in the personnel's assigned shift status S / (number of day shifts in the personnel's assigned shift status S + number of night shifts in the personnel's assigned shift status S + number of evening shifts in the personnel's assigned shift status S))100%. The same module calculates the suitability score for night shifts for personnel who can be freely scheduled using a base score of (number of evening shifts in the personnel's assigned shift status S / (number of day shifts in the personnel's assigned shift status S + number of night shifts in the personnel's assigned shift status S + number of evening shifts in the personnel's assigned shift status S))100%.

5. The scheduling repair system as described in Request 1, wherein: If personnel with flexible scheduling have the same suitability score for day shifts, the personnel selection module is sorted by the total number of times they have historically scheduled for day shifts, and vacancies are filled in order of the lowest total number of times scheduled for day shifts; if personnel with flexible scheduling have the same suitability score for night shifts, the personnel selection module is sorted by the total number of times they have historically scheduled for night shifts, and vacancies are filled in order of the lowest total number of times scheduled for night shifts; or if personnel with flexible scheduling have the same suitability score for night shifts, the personnel selection module is sorted by the total number of times they have historically scheduled for night shifts, and vacancies are filled in order of the lowest total number of times scheduled for night shifts.

6. The scheduling repair system as described in Request 1, wherein: If personnel with flexible scheduling have the same suitability score for day shifts, the personnel selection module will randomly select personnel to fill the vacancy; if personnel with flexible scheduling have the same suitability score for night shifts, the personnel selection module will randomly select personnel to fill the vacancy; or if personnel with flexible scheduling have the same suitability score for night shifts, the personnel selection module will randomly select personnel to fill the vacancy.

7. The scheduling repair system as described in Request 1, wherein the scheduling result is a candidate schedule that meets the conditions in the scheduling data matrix X.

8. The scheduling repair system as described in claim 1, wherein the fixed schedule is limited to a fixed schedule matrix F, wherein, This indicates the fixed shift schedule of the person on the day; when, it indicates that the person can schedule freely; when, it indicates a fixed day off; when, it indicates a fixed day shift; when, it indicates a fixed evening shift; and when, it indicates a fixed night shift.

9. The scheduling repair system as described in claim 8, wherein the personnel selection module establishes a scheduleable location matrix to identify personnel who can be freely scheduled for each date, wherein, At that time, it meant that the person in the first candidate class could be freely assigned to a class on the first day; if not, it meant that no class could be assigned.

10. A scheduling repair system, comprising: a database; and a processing device signal-connected to the database, wherein the processing device comprises: a candidate schedule generation module for generating a plurality of candidate schedules based on the number of personnel N, the number of shift types C, and the number of days D, and forming a scheduling data matrix X, wherein... The number of candidate shifts is P, and C=4. When the value of X is 0, it indicates that the person is off duty; when the value of X is 1, it indicates that the person is on day shift; when the value of X is 2, it indicates that the person is on night shift; and when the value of X is 3, it indicates that the person is on night shift. A fixed restriction application module is connected to the candidate shift generation module to establish a fixed shift restriction based on the shift status S of each person on each date, and applies the fixed shift restriction to the shift data matrix X to update the shift data matrix X. The shift status S is one of off duty, day shift, night shift, night shift, and free shift. The one-day shift repair module is connected to the fixed restriction application module signal to calculate the number of people scheduled for the day shift on each date in the scheduling data matrix X, and obtain the number of vacancies for the day shift on each date based on the required number of people for the day shift on each date. It finds the personnel who can be freely scheduled on each date from the scheduling data matrix X, calculates the suitability score of the personnel who can be freely scheduled for the day shift, and selects personnel to fill the vacancies for the day shift based on the size of the suitability score. If the number of vacancies for the day shift is greater than the number of personnel who can be freely scheduled, the candidate shifts that cannot fill the vacancies are deleted from the scheduling data matrix X, and the scheduling data matrix X is updated. A night shift repair module is connected to the day shift repair module by signal. It is used to calculate the number of people scheduled for the night shift on each date in the scheduling data matrix X, and obtain the number of vacancies for the night shift on each date based on the demand for the night shift. It finds the personnel who can be freely scheduled on each date from the scheduling data matrix X, calculates the suitability score of the personnel who can be freely scheduled for the night shift, and selects personnel to fill the vacancies for the night shift based on the size of the suitability score. If the number of vacancies for the night shift is greater than the number of personnel who can be freely scheduled, the candidate shift that cannot fill the vacancies is deleted from the scheduling data matrix X, and the scheduling data matrix X is updated. The night shift repair module is connected to the evening shift repair module via signal transmission. It calculates the number of night shift workers scheduled for each date in the scheduling data matrix X, and obtains the number of vacancies for each night shift based on the required number of workers on each date. It then identifies personnel who can be freely scheduled for each date from the scheduling data matrix X, calculates their suitability score for the night shift, and selects personnel to fill the night shift vacancies based on their suitability scores. If the number of vacancies exceeds the number of freely scheduled personnel, then no candidate shift can be selected to fill the vacancies. The table is deleted from the scheduling data matrix X and the scheduling data matrix X is updated; and a second data output module is connected to the night shift repair module and the day shift repair module respectively, to determine whether there is still a situation in the scheduling data matrix X where the number of vacancies for any shift on any date is not zero. When there are vacancies, the scheduling data matrix X is sent back to the day shift repair module for recalculation; and when there are no vacancies, a scheduling result is output and the scheduling result is sent to the database for storage.