Employee scheduling method and related equipment based on shift system

By using a multi-objective integer programming model based on shift system, the problem of uneven distribution of human resources in traditional shift scheduling methods is solved, and efficient and reasonable shift scheduling of airport ground staff is achieved, improving operational efficiency and employee satisfaction.

CN120911868BActive Publication Date: 2026-05-26CHINA EASTERN AIRLINES CO LTD +2

Patent Information

Application Number
CN202511045515.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-28
Publication Date
2026-05-26
Estimated Expiration
2045-07-28

AI Technical Summary

Technical Problem

Traditional scheduling methods are difficult to fully consider the needs of different dimensions, resulting in wasted manpower during off-peak hours and insufficient manpower during peak hours for airport ground staff, which affects service quality and safety. Furthermore, unreasonable scheduling systems lead to employee burnout and complaints.

Method used

A multi-objective integer programming model based on shift system is adopted. By setting multiple constraints and objective functions, the correspondence between employees and shift system is optimized, and an integer programming model is constructed to solve for the optimal solution, ensuring the balance of task coverage, time utilization and time distribution.

Benefits of technology

This approach has enabled the airport to improve operational efficiency, reduce employee fatigue, enhance service quality and safety, and meet diverse scheduling needs while rationally allocating human resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120911868B_ABST
    Figure CN120911868B_ABST
Patent Text Reader

Abstract

This disclosure proposes a shift-based employee scheduling method and related apparatus. The shift-based employee scheduling method includes: acquiring task information and inter-task conflict information; acquiring employee information; acquiring shift information; constructing an integer programming model by setting constraints and an objective function, the constraints including a first constraint requiring that conflicting tasks assigned to each shift can be executed, the objective function being based on multiple objectives; solving the integer programming model using the acquired information to determine the correspondence between employees and shifts and between tasks and shifts, and decoding the correspondence between employees and tasks from the employee-shift and task-shift correspondence information, thereby scheduling employees.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of aviation technology, and more particularly, to a shift-based employee scheduling method, apparatus, computing device, and computer program product. Background Art

[0002] The scheduling problem of airport ground crew directly affects airport operation efficiency, service quality, and operation cost. Ground crew work (check-in, baggage handling, aircraft guidance, cleaning, refueling, etc.) needs to be strictly synchronized with flight schedules, and any delay in any link may lead to a chain reaction. Reasonable scheduling can ensure that manpower is in place in a timely manner and avoid service gaps. Summary of the Invention

[0003] According to a first aspect of the present disclosure, a shift-based employee scheduling method is provided. The method includes: obtaining task information and task conflict information; obtaining employee information; and obtaining shift information. The method further includes constructing an integer programming model by the following operations: setting constraints, including setting a first constraint that requires conflicting tasks assigned to each shift to be executable; and setting an objective function based on multiple objectives. The method further includes solving the integer programming model using the obtained information to determine the correspondence information between employees and shifts and the correspondence information between tasks and shifts, and decoding the correspondence information between employees and tasks from the correspondence information between employees and shifts and the correspondence information between tasks and shifts, so as to schedule employees.

[0004] In some embodiments, the first constraint requires that the number of conflicting tasks assigned to each shift does not exceed the number of employees performing the shift.

[0005] In some embodiments, the integer programming model includes multiple models to be solved sequentially, and the objective function of each model in the multiple models is set based on a combination of one or more corresponding objectives in the multiple objectives, wherein the constraints of the later-solved model in the multiple models are set based on the objective function value of the previously-solved model in the multiple models for solving the later-solved model.

[0006] In some embodiments, the solving order of the multiple models is determined based on the priorities of the objectives corresponding to each model.

[0007] In some embodiments, the objective function of the first-solved model in the multiple models is set only based on the highest-priority objective.

[0008] In some embodiments, when specifying the maximum input labor cost, the multiple objectives include optimizing task coverage rate, optimizing working hour utilization rate, and optimizing working hour distribution, wherein the objective function of the first-solved model in the multiple models is set based on optimizing the task coverage rate.

[0009] In some embodiments, the plurality of models includes a first model solved first and a second model solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the total penalty for task uncovering. In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum shift duration deviation, wherein the second constraint requires that the total penalty for task uncovering is not greater than the total penalty for task uncovering corresponding to the solution result of the first model.

[0010] In some embodiments, in the first model, a third constraint and a fourth constraint are further provided. The third constraint requires that each task be assigned to at most one shift covering the task, and the fourth constraint requires that each employee perform one shift. In the second model, the third constraint, the fourth constraint, the fifth constraint, and the sixth constraint are further provided. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts, and the sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

[0011] In some embodiments, when a maximum human resource cost is specified, the plurality of objectives include optimizing task coverage and optimizing the number of shifts, wherein the objective function of the model solved first among the plurality of models is set based on optimizing task coverage.

[0012] In some embodiments, the plurality of models includes a first model solved first and a second model solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the total penalty for task uncovering. In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the number of classes, wherein the second constraint requires that the total penalty for task uncovering is not greater than the total penalty for task uncovering corresponding to the solution result of the first model.

[0013] In some embodiments, in the first model, a third constraint and a fourth constraint are further provided, wherein the third constraint requires that each task be assigned to at most one shift covering the task, and the fourth constraint requires that each employee perform one shift. In the second model, the third constraint, the fourth constraint, and a fifth constraint are further provided, wherein the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0014] In some embodiments, when a specified task coverage is specified, the plurality of objectives include optimizing time utilization, optimizing time distribution, and optimizing input labor costs, wherein the objective function of the model solved first among the plurality of models is set based on optimizing input labor costs.

[0015] In some embodiments, the plurality of models includes a first model solved first and a second model solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the input labor cost. In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum deviation of shift duration, wherein the second constraint requires that the input labor cost is not greater than the input labor cost corresponding to the solution result of the first model.

[0016] In some embodiments, in the first model, a third constraint and a first fourth constraint are further provided. The third constraint requires that each task be assigned to a shift covering the task, and the first fourth constraint requires that each employee executes at most one shift. In the second model, the third constraint, the second fourth constraint, the fifth constraint, and the sixth constraint are further provided. The second fourth constraint requires that each assigned employee executes one shift, the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts, and the sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

[0017] In some embodiments, in the first model, a first third constraint, a first fourth constraint, and a seventh constraint are further provided. The first third constraint requires that each task be assigned to at most one shift covering the task. The first fourth constraint requires that each employee executes at most one shift. The seventh constraint requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified task coverage lower limit. In the second model, a second third constraint, a second fourth constraint, a fifth constraint, and a sixth constraint are further provided. The second third constraint requires that each task be assigned to one shift covering the task. The second fourth constraint requires that each employee performs one shift. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts. The sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

[0018] In some embodiments, when a specified task coverage is specified, the plurality of objectives include optimizing the cost of human resources input and optimizing the number of shifts, wherein the objective function of the model solved first among the plurality of models is set based on optimizing the cost of human resources input.

[0019] In some embodiments, the plurality of models includes a first model solved first and a second model solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the input labor cost. In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the number of shifts, wherein the second constraint requires that the input labor cost is not greater than the input labor cost corresponding to the solution result of the first model.

[0020] In some embodiments, in the first model, a third constraint and a first fourth constraint are further provided, wherein the third constraint requires that each task be assigned to a shift covering the task, and the first fourth constraint requires that each employee executes at most one shift. In the second model, the third constraint, the second fourth constraint, and the fifth constraint are further provided, wherein the second fourth constraint requires that each assigned employee executes one shift, and the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0021] In some embodiments, in the first model, a first third constraint, a first fourth constraint, and a seventh constraint are further provided. The first third constraint requires that each task be assigned to at most one shift covering the task. The first fourth constraint requires that each employee executes at most one shift. The seventh constraint requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified task coverage lower limit. In the second model, a second third constraint, a second fourth constraint, and a fifth constraint are further provided. The second third constraint requires that each task be assigned to one shift covering the task. The second fourth constraint requires that each employee executed one shift. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0022] In some embodiments, the integer programming model comprises a single model, and the objective function of the single model is set based on a combination of the plurality of objectives.

[0023] In some embodiments, the plurality of objectives include optimizing task coverage, optimizing time utilization, optimizing time distribution, and optimizing the cost of human resources invested.

[0024] In some embodiments, the objective function is set to minimize the sum of the manpower cost, the total penalty for task non-coverage, and the maximum deviation between the total shift duration and the shift duration.

[0025] In some embodiments, a third constraint, a fourth constraint, a fifth constraint, and a sixth constraint are further provided. The third constraint requires that each task be assigned to at most one shift covering the task. The fourth constraint requires that each employee perform at most one shift. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts. The sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

[0026] In some embodiments, a seventh constraint is further provided, which requires that the sum of the number of tasks covered by all shifts is not less than a specified number, the specified number being determined based on a specified task coverage lower limit.

[0027] In some embodiments, the multiple objectives include optimizing task coverage, optimizing the number of shifts, and optimizing the cost of human resources invested.

[0028] In some embodiments, the objective function is set to minimize the sum of manpower costs, total penalties for uncovered tasks, and number of shifts.

[0029] In some embodiments, a third constraint, a fourth constraint, and a fifth constraint are further provided, wherein the third constraint requires that each task be assigned to at most one shift covering the task, the fourth constraint requires that each employee perform at most one shift, and the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0030] In some embodiments, a seventh constraint is further provided, which requires that the sum of the number of tasks covered by all shifts is not less than a specified number, the specified number being determined based on a specified task coverage lower limit.

[0031] In some embodiments, decoding the correspondence information between employees and tasks from the correspondence information between employees and shifts and the correspondence information between tasks and shifts, and then scheduling employees, includes: creating an empty task list for each employee; obtaining a shift list, and a task list and employee list corresponding to each shift in the shift list; for each shift in the shift list: for each task in the task list corresponding to the shift; for each employee in the employee list corresponding to the shift, determining whether there is a conflict between the task and the tasks already assigned to the employee based on the task conflict information: if there is no conflict, assigning the task to the employee and updating the employee's task list; or if there is a conflict, not assigning the task to the employee; and scheduling employees according to each employee's task list if all tasks are scheduled to be performed by employees.

[0032] In some embodiments, the employee information includes an estimated number of employees required to perform all tasks in the task information. The estimated number of employees is determined based on the shortest shift duration in the shift information. The estimated number of employees is determined through the following operations: obtaining the shortest shift duration and a task list; creating an employee list, which is initialized to empty; for each task in the task list: for each employee in the employee list, determining whether the employee can perform the task based on the task's time information, the shortest shift duration, and the employee's shift schedule information; if there are employees in the employee list who can perform the task, assigning the employee to perform the task and updating the employee's shift schedule information based on the task's time information; or if all employees in the employee list are unable to perform the task, adding a new employee to the employee list, assigning the new employee to perform the task, and updating the new employee's shift schedule information based on the task's time information; if all tasks in the task list are assigned to employees, determining the number of employees in the employee list as the estimated number of employees.

[0033] According to a second aspect of this disclosure, a shift-based employee scheduling device is provided. The device includes an acquisition module, a construction module, and a scheduling module. The acquisition module is configured to: acquire task information and inter-task conflict information; acquire employee information; and acquire shift information. The construction module is configured to construct an integer programming model by: setting constraints, including setting a first constraint requiring that conflicting tasks assigned to each shift can be executed; and setting an objective function based on multiple objectives. The scheduling module is configured to solve the integer programming model using the acquired information to determine the correspondence between employees and shifts and the correspondence between tasks and shifts, and to decode the correspondence between employees and tasks from the employee-shift and task-shift correspondence information, thereby scheduling employees.

[0034] According to a third aspect of this disclosure, a computing device is provided, comprising: one or more processors; and a memory storing computer-executable instructions, which, when executed by the one or more processors, cause the one or more processors to perform the method according to any embodiment of the first aspect of this disclosure.

[0035] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided having computer-executable instructions stored thereon, which, when executed by a computer, cause the computer to perform the method described according to any embodiment of the first aspect of this disclosure.

[0036] According to a fifth aspect of this disclosure, a computer program product is provided, the computer program product including instructions that, when executed by a processor, implement the method according to any embodiment of the first aspect of this disclosure.

[0037] Other features and advantages of this disclosure will become clearer from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0038] The foregoing and other features and advantages of this disclosure will become clear from the following description of embodiments illustrated in conjunction with the accompanying drawings. The drawings, incorporated herein and forming a part of the specification, are further used to explain the principles of this disclosure and to enable those skilled in the art to make and use it. Wherein:

[0039] Figure 1 This is a flowchart illustrating a shift-based employee scheduling method according to some embodiments of the present disclosure;

[0040] Figure 2 The data on the number of employees involved, task coverage, time utilization, and solution time obtained by scheduling employees using conventional and precise calculation models according to some embodiments of this disclosure are exemplarily compared.

[0041] Figure 3 This is a schematic block diagram illustrating a shift-based employee scheduling device according to some embodiments of the present disclosure;

[0042] Figure 4 This is a schematic block diagram illustrating a computing device according to some embodiments of the present disclosure;

[0043] Figure 5 This is a schematic block diagram illustrating a computer system on which embodiments of the present disclosure may be implemented.

[0044] Note that in the embodiments described below, the same reference numerals are sometimes used across different figures to denote the same parts or parts having the same function, and repeated descriptions are omitted. In this specification, similar reference numerals and letters are used to denote similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0045] For ease of understanding, the positions, dimensions, and extents of the structures shown in the accompanying drawings and other materials may not represent actual positions, dimensions, and extents. Therefore, the disclosed invention is not limited to the positions, dimensions, and extents disclosed in the accompanying drawings and other materials. Furthermore, the drawings are not necessarily drawn to scale, and some features may be enlarged to show details of specific components. Detailed Implementation

[0046] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.

[0047] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use. Those skilled in the art will understand that they merely illustrate exemplary ways that can be used to implement this disclosure, and are not exhaustive.

[0048] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0049] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0050] In this document, when describing integer programming models, the same or similar characters can be used to represent the same or similar variables. Therefore, once a variable is defined in one embodiment, it does not need to be described again in subsequent embodiments.

[0051] Traditional scheduling methods typically focus only on basic task assurance, failing to comprehensively address diverse needs and often resulting in incomplete or unbalanced scheduling outcomes. For example, airport operations fluctuate significantly (e.g., peak hours, seasonal passenger flow), leading to wasted manpower during off-peak times and insufficient manpower during peak periods. Furthermore, unreasonable scheduling (e.g., consecutive night shifts, overtime, uneven distribution of work hours among employees) can cause employee burnout and complaints, impacting service quality and safety. Compliant shift work systems (referred to as shift systems in this article) are required by labor laws and are crucial for employee retention.

[0052] To address this, this disclosure provides a method and apparatus for employee scheduling based on a shift system. This disclosure utilizes operations research techniques to establish a multi-objective integer programming model based on shift assignment, considering multiple factors in the model's optimization objective to achieve a reasonable employee scheduling.

[0053] The following will describe in detail, with reference to the accompanying drawings, various embodiments of a shift-based employee scheduling method according to the present disclosure. It will be understood that actual methods may include other steps, which are not shown in the drawings and will not be discussed herein in order to avoid obscuring the essential points of the disclosure.

[0054] Figure 1 A flowchart illustrating a shift-based employee scheduling method according to some embodiments of the present disclosure is shown. For example... Figure 1As shown, method 100 includes steps S102 to S110.

[0055] In step S102, task information and inter-task conflict information are obtained.

[0056] Task information can include the time information for each task to be executed. Task time information can include, for example, the start and end times of the task, the start and duration of the task, or the end and duration of the task. Additionally, task information can also include task identification information, location information, type information, etc. For example, task information can be generated based on information such as airline, estimated arrival time, estimated departure time, and aircraft type.

[0057] Inter-task conflict refers to two or more tasks that cannot or should not be performed by the same employee. As a non-limiting example, an inter-task conflict can be caused by overlapping task times, such as one task starting earlier than another. Furthermore, if the task execution locations are available, the employee's travel time between those locations can also be considered. In other words, if the time difference between the start and end times of one task and another is less than the travel time between their execution locations, then the two tasks are considered to conflict. Inter-task conflicts can also stem from conflicting responsibilities, where an employee is assigned mutually exclusive or incompatible role responsibilities. For example, there might be a conflict between aircraft maintenance and sign-off / release tasks. In some embodiments, inter-task conflict information can be obtained directly. In some embodiments, inter-task conflict information can be determined based on task time information. Further, inter-task conflict information can also be determined based on task location information and / or type information, etc.

[0058] In step S104, employee information is obtained. For example, employee information may include information about each available employee, such as identification information, qualification information, attendance and leave information, etc.

[0059] In step S106, obtain the shift system information.

[0060] Shift information can include the time information for each shift. This time information can include, for example, the start and end times of the shift, the start time and duration of the shift, or the end time and duration of the shift. The duration of different shifts can be the same or different. For example, some shifts are 6 hours long, while others are 8 hours long. There can be overlap between the time periods of different shifts; for example, one shift might run from 6:00 AM to 2:00 PM, while another runs from 7:00 AM to 3:00 PM. This misalignment between the time periods of different shifts can be referred to as time granularity. In the example above, the time granularity is one hour (one hour between 7:00 AM and 6:00 AM). Generally, the union of the time periods of multiple shifts in the shift information achieves 24-hour coverage. It is understood that the finer the time granularity, the more shifts are typically included in the shift information, and the more accurate the human resource calculation results can be.

[0061] In this paper, it can be determined whether a shift system can cover a task based on the time period of the shift system and the time period of the task. If the start time of the task is not earlier than the start time of the shift system and the end time of the task is not later than the end time of the shift system, then the shift system is considered to cover the task.

[0062] In some embodiments, employee information includes an estimated number of people required to perform all tasks in the task information, which is determined based on the shortest shift duration in the shift information. For example, the number of elements m in the employee set I, which will be described later, can be the estimated number of people.

[0063] In some embodiments, the estimated number of employees is determined by the following operations: Obtain the shortest shift duration and the task list. Create an employee list, initialized to empty. For each task in the task list: For each employee in the employee list, determine whether the employee is available to perform the task based on the task's time information, the shortest shift duration, and the employee's shift schedule information. If there are employees in the employee list who are available to perform the task, assign the task to the employee and update the employee's shift schedule information based on the task's time information; or if all employees in the employee list are not available to perform the task, add a new employee to the employee list, assign the task to the new employee, and update the new employee's shift schedule information based on the task's time information. If all tasks in the task list are assigned to employees, determine the number of employees in the employee list as the estimated number of employees.

[0064] An exemplary, and not restrictive, example of a method for determining the number of people can be implemented as the following pseudocode.

[0065] Given: a list of tasks (task_list), the shortest shift duration (p_p), and the minimum shift duration (p_p). min )

[0066]

[0067]

[0068] After the loop `For j in task_list` finishes, the number of elements in the employee list `worker_list` is the estimated number of employees.

[0069] In step S108, an integer programming model is constructed by setting constraints and an objective function.

[0070] For example, a first constraint can be set. The first constraint requires that conflicting tasks assigned to each shift can be performed, thereby improving the direct usability of the scheduling results and reducing or eliminating the workload of subsequent manual intervention.

[0071] In some embodiments, a first constraint requires that the number of conflicting tasks assigned to each shift does not exceed the number of employees performing that shift. This first constraint allows each shift to be assigned a certain number of conflicting tasks, as long as the number of employees performing that shift is sufficient to support the execution of these tasks. By dynamically binding the upper limit of the number of conflicting tasks to the number of employees, the feasibility of task allocation is ensured, while resource idleness or conflict is avoided, thus improving scheduling flexibility.

[0072] It is understandable that additional constraints can be imposed based on the desired scheduling effect, which will be described in more detail later.

[0073] Furthermore, the objective function here is set based on multiple objectives. These objectives can reflect scheduling requirements from different dimensions. The specific setting method will be explained in more detail below.

[0074] In step S110, the acquired information (task information, inter-task conflict information, employee information, and shift system information) is used to solve an integer programming model to determine the correspondence between employees and shift systems, and between tasks and shift systems. Then, the correspondence between employees and tasks is decoded from this information, thereby scheduling employees. For example, model decision variables representing the correspondence between each employee in the employee set and each shift system in the shift system set, and model decision variables representing the correspondence between each task in the task set and each shift system in the shift system set, can be solved. Based on these model decision variables, the correspondence between each employee in the employee set and each task in the task set is decoded, thus obtaining the employee scheduling plan.

[0075] In some embodiments, decoding the correspondence between employees and tasks from the correspondence between employees and shifts and the correspondence between tasks and shifts, thereby scheduling employees, includes: creating an empty task list for each employee; obtaining a shift list, and a task list and employee list corresponding to each shift in the shift list. For each shift in the shift list, the following operations are performed: For each task in the task list corresponding to that shift: For each employee in the employee list corresponding to that shift, determine whether there is a conflict between the task and the tasks already assigned to the employee based on task conflict information. If there is no conflict, assign the task to the employee and update the employee's task list; or if there is a conflict, do not assign the task to the employee. If all tasks are scheduled to be performed by employees, schedule employees according to each employee's task list.

[0076] An example, not a limiting one, of how to assign tasks to employees after knowing which tasks and employees are scheduled for each shift can be implemented as pseudocode below.

[0077] Given (known):

[0078] The list of tasks assigned to a specific shift (shift.assigned_task_list);

[0079] A list of employees working in a specific shift (shift.assigned_worker_list);

[0080] Conflict task set (MC) of class system k k ).

[0081]

[0082] With all tasks j added to the task list worker.assigned_task_list of the corresponding employee, that is, after the loop For k in shift_list ends, the shift is scheduled for employee i according to the task list i.assigned_task_list of employee i.

[0083] This paper does not impose any specific restrictions on the solution methods for integer programming models. It is understood that any suitable solution method for integer programming models, whether currently known or developed in the future, can be applied here. For example, the most commonly used solution methods currently include enumeration, cutting plane methods, branch and bound methods, graph theory methods, and binary exploitation methods. Furthermore, the integer programming model constructed in this paper can be input into any suitable solver for integer programming models, whether currently known or developed in the future. The solver will intelligently select the most suitable algorithm for the model and provide the optimal or feasible solution. Solvers typically integrate most of the top-tier algorithm packages currently available, and they contain many internal techniques to accelerate the solution process, often showing good results for general integer programming problems. For example, commercial solvers include Gurobi, COPT, SCIP / spx, and Matlab, while open-source solvers include CBC, GLPK, and LP_SOLVE.

[0084] Integer programming models offer mathematical precision for employee scheduling because they explicitly consider all constraints and find the optimal solution. By constructing an objective function with multiple objectives, the model can quantitatively evaluate the merits of different scheduling schemes from multiple dimensions. Given sufficient time, the global optimum of the integer programming model can be obtained. When time is limited, modern solvers (such as branch and bound methods) can provide theoretical upper or lower bounds between feasible and optimal solutions, thereby assessing the quality of the current solution.

[0085] Furthermore, the shift-based scheduling model disclosed herein has significant advantages over traditional task assignment models. Traditional models directly assign tasks to employees, causing the number of decision variables to increase dramatically with the size of both employees and tasks, thus increasing computational complexity. In contrast, the model disclosed herein allocates both tasks and employees to shifts, compressing the solution space through this intermediate layer and reducing the number of decision variables from the product of the number of employees and tasks to the product of the number of shifts and tasks. This design reduces model complexity, thereby improving solution speed. Moreover, the shift structure naturally aligns with real-world shift management models, making it easier to incorporate actual business constraints (such as the balance of working hours between shifts) into the model.

[0086] The method for setting the objective function will be described in detail below.

[0087] In some embodiments, the integer programming model includes multiple models to be solved sequentially, each model having an objective function set based on a combination of one or more corresponding objectives. Specifically, constraints are set for later-solved models based on the objective function values ​​of the earlier-solved models to facilitate solving those later-solved models.

[0088] In other words, this disclosure provides a hierarchical optimization framework in which multiple objectives are decomposed and assigned to multiple models with a solution order. Each model is responsible for optimizing one or more corresponding objectives. Subsequent models handle objectives not covered by earlier models, and consistency of solutions is ensured through constraint propagation. Ultimately, the joint optimization of all models covers all objectives.

[0089] This model and objective function setting method transform complex multi-objective optimization problems into a series of single-objective optimization problems, effectively guiding the solution process and ensuring that the final solution approaches Pareto optimality—that is, a balance state among multiple objectives where no further improvement of one objective can be achieved without sacrificing others. Furthermore, since each subsequent model is subject to constraints based on the solutions of previous models, the solution of subsequent models is influenced by earlier decisions, thus avoiding large jumps in the global search process. This incremental convergence strategy effectively reduces invalid solutions in the search space, improves the algorithm's efficiency, and allows each solution to gradually approach the global optimum. Moreover, each model considers only one objective or a combination of a few objectives, reducing the complexity of solving each model.

[0090] In some examples, the solution order of these multiple models can be determined based on the priority of the objectives corresponding to each model. The priority of the objectives can be determined based on factors such as business needs and management strategies. By solving the models in order of objective priority, higher-priority objectives can be satisfied first, and then secondary objectives can be optimized step by step. The solutions of earlier models will limit the search space of later models, avoiding the degradation of higher-priority objectives when optimizing secondary objectives.

[0091] For example, the objective function of the model solved first among these multiple models can be set based solely on the highest priority objective. By prioritizing the optimization of the most important objective, the initial solution process can be simplified, allowing the model to focus on the most critical issues and avoid prematurely involving other objectives, thereby improving solution efficiency and accuracy.

[0092] As a non-limiting embodiment, given a specified maximum input manpower cost, the multiple objectives may include optimizing task coverage, and may also include optimizing time utilization and time distribution, or optimizing the number of shifts. In such an embodiment, the objective function of the model solved first among the multiple models is set based on optimizing task coverage. Since the number of personnel input is known in this case, and the objective is to rationally allocate tasks under a fixed number of personnel, such a model may be referred to herein as a shift scheduling pattern.

[0093] Application scenarios for scheduling patterns may include, but are not limited to: scheduling for stable ground service teams to maximize the use of existing manpower; scheduling only a selected portion of employees to ensure routine tasks, while reserving some employees as emergency manpower to deal with unexpected needs; reallocating tasks among existing idle personnel for temporarily added flights or emergency tasks; and so on.

[0094] For ease of discussion, the model that is solved first among multiple models can be called the first model, and the model that is solved after the first model can be called the second model.

[0095] For illustrative purposes, a first example of a scheduling pattern is given below. In this example, the highest priority objective is to optimize task coverage, so the objective function of the first model is set based on this objective. The remaining lower priority objectives (optimizing work hour utilization and optimizing work hour distribution) are used as the optimization objectives of the second model, and constraints related to task coverage are set in the second model.

[0096] Specifically, in the first model, the aforementioned first constraint is set, and the objective function is set to minimize the total penalty for task non-coverage. In the second model, in addition to the aforementioned first constraint, a second constraint is also set, and the objective function is set to minimize the total shift duration and / or the maximum deviation of shift duration. The second constraint requires that the total penalty for task non-coverage is not greater than the total penalty for task non-coverage corresponding to the solution result of the first model.

[0097] From the perspective of the objective function, the first model is used to optimize task coverage. In this paper, task coverage can be defined as the proportion of tasks scheduled for execution (i.e., covered) out of the total number of tasks. Since the total number of tasks is fixed in the same scheduling, the number of covered tasks directly reflects the task coverage. By minimizing the number of uncovered tasks, task coverage can be optimized.

[0098] Since directly optimizing task coverage (i.e., minimizing the number of uncovered tasks) may not accurately reflect task priority, a task coverage penalty coefficient can be introduced to differentiate task priorities: tasks with high penalties represent important tasks with higher costs of omission; their absence will significantly increase the objective function value, so the model will prioritize these tasks. This objective function design considers both the amount of coverage and ensures the completion of high-priority tasks through the penalty coefficient. Understandably, when all task penalty coefficients are the same, this objective function degenerates into directly maximizing task coverage.

[0099] As described above, the objective function of the second model can be set to minimize the total shift duration, minimize the maximum deviation of shift duration, or minimize both the total shift duration and the maximum deviation of shift duration. For ease of description and understanding, the following will primarily use the second model to optimize the total shift duration and the maximum deviation of shift duration as an example to explain in detail the specific settings of the objective function and constraints. However, this is not a limitation, and the described embodiments can be extended to other cases where the second model is used to optimize other objectives.

[0100] In the second model, optimizing work time utilization can be achieved by minimizing the total shift duration. The total shift duration refers to the sum of the shift durations performed by all employees. A smaller total shift duration means fewer total hours invested, i.e., higher work time utilization. Similarly, optimizing work time distribution can be achieved by minimizing the maximum deviation of shift duration. The shift duration deviation is the absolute value of the difference between the duration of each shift and the expected duration, while the maximum deviation reflects the most severe deviation from the expected duration among all shifts. Minimizing this indicator effectively controls the duration differences between shifts, making work time allocation more reasonable and balanced.

[0101] Additionally, in the first model, a third and fourth constraint can be further set. The third constraint requires that each task be assigned to at most one shift covering the task, and the fourth constraint requires that each employee perform one shift. In the second model, the third and fourth constraints can also be further set, and a fifth and sixth constraint can also be set. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts, and the sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

[0102] The third constraint restricts the correspondence between shift systems and the number of tasks. Here, the third constraint prevents tasks from being repeatedly assigned, ensuring reasonable resource allocation. The fourth constraint restricts the correspondence between the number of employees and shift systems. Here, the fourth constraint requires that shift systems be assigned to all employees input into the model. In other words, the existence of the fourth constraint translates the maximum labor cost set at the business layer into model input parameters, and also ensures that labor input reaches the maximum allowable value. The fifth constraint improves the solution efficiency of the integer programming model and the practicality of the employee scheduling results by assigning employees based on the activation status of shift systems. The sixth constraint promotes a balanced distribution of working hours.

[0103] An exemplary, and not restrictive, first example of a scheduling pattern can be implemented as follows.

[0104] (1) First model (optimizing task coverage)

[0105] Objective function:

[0106] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0107] Third constraint: For Requirements must be met

[0108] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1.

[0109] Solving the first model yields the values ​​of the decision variables. The first model and The corresponding objective function value is This will be applied to the second model as a constraint, thereby ensuring that the solution results of the second model do not degrade the task coverage.

[0110] (2) Second model (optimizing working time utilization and working time distribution)

[0111] Objective function: Min.∑ k∈k (p k ∑ i∈I y ik )+dev max

[0112] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0113] Second constraint:

[0114] Third constraint: For Requirements must be met

[0115] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1,

[0116] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑i∈I y ik ≥1-m k ·(1-u k ),

[0117] Sixth constraint: For Requirements must be met (a)

[0118] Based on the decision variable values ​​obtained from solving the second model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the second model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0119] Here, the Min. function is used to find the minimum value. J represents the set of tasks for task j, J = {1,...,n} (n represents the number of tasks). K represents the penalty coefficient for task j not being covered. j Let k represent the set of class schedules that can cover task j.

[0120] This indicates whether task j has not been assigned to any shift. A value of 1 indicates that task j has not been assigned to any shift, while a value of 0 indicates that task j has been assigned to a shift. This represents the total penalty for all uncovered tasks (i.e., not assigned to any shift) in the current solution. It is understandable that, without distinguishing the penalties for different uncovered tasks, we can let... Therefore, the objective function of the first model simplifies to

[0121] K represents the set of class systems k. p i Let k represent the duration of the shift. Let I represent the set of employees i, where I = {1, ..., m} (m indicates the number of employees). dev max This represents the maximum shift duration deviation. ∑ k∈K (p k ∑ i∈I y ik () represents the total duration of the class.

[0122] In the first constraint, MC k Let MC represent the set of conflicting task groups MC within class k. Understandably, MC... k The element mc in the set can be a set of tasks j that conflict with each other within class k. ∑ j∈mc wjk This represents the number of conflicting tasks assigned to class k. ∑ i∈I y ik This represents the number of employees performing shift k. Constraint ∑ j∈mc w jk ≤∑ i∈ I y ik This means that for each shift, the number of conflicting tasks will not exceed the number of employees, in order to ensure that these conflicting tasks can be reasonably allocated (each person can be responsible for a maximum of one task in the conflicting task group).

[0123] In the second constraint, tc uncover This indicates the maximum total penalty for tasks not being covered. tc uncover This represents the total penalty for tasks not being covered in the solution of the first model. This constraint ensures that when solving the second model, the total penalty for uncovered tasks (left side) does not exceed the optimized value of the first model (right side), thus guaranteeing that the solution of the second model does not degrade the task coverage compared to the solution of the first model.

[0124] In the third constraint, This represents the number of shifts that cover task j, to which task j is assigned. (Constraint) This means that task j can be assigned to at most one shift that covers task j.

[0125] In the fourth constraint, ∑ k∈K y ik This represents the number of shifts that employee i performed. Constraint ∑ k∈K y ik =1 means that employee i needs to work one shift.

[0126] In the fifth constraint, m k This represents the maximum number of students in class k. In some embodiments, m k This can be equal to the number of employees, m. k It can also be set based on business rules or historical data. i∈ I y ik This represents the total number of employees using shift system k. When shift system k is enabled: 1-m k ·(1-u k ) = 1, therefore we need to find ∑ i∈I y ik ≥1, meaning at least one employee is executing the activated shift system k; m k ·u k =m k Therefore, ∑ i∈I y ik ≤mk This means that the number of employees implementing this shift system does not exceed the maximum number of employees required for shift system k. When shift system k is not activated, m k ·u k =0, therefore we need to find ∑ i∈ I y ik ≤0, meaning no employee is executing the shift system k that is not enabled.

[0127] The fifth constraint concerns the relationship between whether to implement a class system and the number of students in a class. Its core logic is: if u k =1, then for The requirement is that 1 ≤ ∑ i∈I y ik ≤m k ; and if u k =0, then for The requirement is to satisfy ∑ i∈I y ik =0. Except for the first example of the fifth constraint as previously described, "for..." The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k In addition to "), the fifth constraint can also be implemented as a second example as follows: For Requires u to satisfy k ≤∑ i∈I y ik ·u k ≤m k Because y ik and u k Both are variables, and multiplying these two variables makes the second example of the fifth constraint a nonlinear constraint. In contrast, in the first example of the fifth constraint, m k The constant is multiplied by the variable to form a linear constraint. Compared to nonlinear constraints, linear constraints can reduce the computational complexity of the model and improve the solution efficiency of integer programming.

[0128] In the sixth constraint, p exp Indicates the expected class duration. The duration p represents the time of shift k. k Less than the expected class duration p exp Part (when p) k ≥p exp hour When p k <p exp hour ), The duration p represents the time of shift k. k The class duration exceeded the expected p exp Part (when p) k ≤p exp hour When p k >p exp hour In formula (a), the duration p of the shift system k is... k Not equal to the expected class duration p exp When the model uses variables and This is used to absorb the differences. In other words, formula (a) is used to calculate the deviation of the duration of each shift relative to the expected shift duration. Formulas (b) and (c) then determine the maximum deviation dev based on the deviation of the duration of all shifts. max Thus, by minimizing dev max It can balance the duration of different shifts.

[0129] In scheduling mode, objectives other than optimizing task coverage can also be set as the highest priority objectives. Additionally or alternatively, there can be multiple second models, each of which optimizes each of the multiple lower-priority objectives.

[0130] For illustrative purposes, a second example of a scheduling pattern is given below. In this example, the highest priority objective is to optimize time utilization, while lower priority objectives include optimizing time distribution and task coverage. Therefore, the optimization objective of the first model is to optimize time utilization. The model includes two second models: the first second model optimizes time distribution, and the second second model optimizes task coverage. The first second model is solved before the second second model.

[0131] For the sake of brevity, when the constraints or the specific expression of the objective function are not explicitly defined, the relevant mathematical expressions described in the foregoing embodiments can be used as a reference. Similarly, when the parameters are not explicitly defined, the meanings of the relevant parameters described in the foregoing embodiments can be used for interpretation.

[0132] An exemplary, and not restrictive, second example of a scheduling pattern can be implemented as follows.

[0133] (1) First model (optimizing working hours utilization)

[0134] Objective function: Min.∑ k∈K (p k ∑ i∈I y ik )

[0135] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0136] Third constraint: For Requirements must be met

[0137] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1.

[0138] Solving the first model yields the values ​​of the decision variables. The first model and The corresponding objective function value is This will be applied as a constraint to the first and second models, thereby ensuring that the solution results of the first and second models do not degrade the time utilization rate.

[0139] (2) First and Second Models (Optimizing Working Hour Distribution)

[0140] Objective function: Min.dev max

[0141] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0142] Second constraint: ∑ k∈K (p k ∑ i∈I y ik )≤tp,

[0143] Third constraint: For Requirements must be met

[0144] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1,

[0145] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-mk ·(1-u k ),

[0146] Sixth constraint: For Requirements must be met (a)

[0147] Solving the first and second models yields the objective function value. It will be applied to the second model in the form of constraints, thereby ensuring that the solution results of the second model will not degrade the time distribution.

[0148] (3) Second model (optimizing task coverage)

[0149] Objective function:

[0150] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0151] Second constraint: ∑ k∈K (p k ∑ i∈I y ik )≤tp, and

[0152] Third constraint: For Requirements must be met

[0153] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1,

[0154] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0155] Sixth constraint: For Requirements must be met (a)

[0156] Based on the decision variable values ​​obtained from solving the second model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the second model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0157] In scheduling models, other objectives besides optimizing time utilization and time distribution can also be considered. For example, when the goal is to standardize shifts as much as possible to improve the practical operability of the scheduling results, optimizing the number of shifts can be considered as an objective.

[0158] For illustrative purposes, a third example of a scheduling pattern is given below. In this example, the highest priority objective is to optimize task coverage, while lower priority objectives include optimizing the number of shifts. Therefore, the optimization objective of the first model is to optimize task coverage, and the optimization objective of the second model is to optimize the number of shifts.

[0159] Specifically, in the first model, the aforementioned first constraint is set, and the objective function is set to minimize the total penalty for task non-coverage. In the second model, in addition to the aforementioned first constraint, a second constraint is also set, and the objective function is set to minimize the number of classes. The second constraint requires that the total penalty for task non-coverage is not greater than the total penalty for task non-coverage corresponding to the solution result of the first model.

[0160] In some embodiments, in the first model, a third constraint and a fourth constraint may be further set, wherein the third constraint requires that each task be assigned to at most one shift covering the task, and the fourth constraint requires that each employee perform one shift. In the second model, the aforementioned third and fourth constraints may also be further set, and a fifth constraint may also be set, wherein the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0161] It can be observed that the third example of the scheduling model differs from the first example in that the objective function of the second model is different, and the second model does not include the sixth constraint. The differences will be analyzed in detail below, while the similarities will not be elaborated upon.

[0162] An exemplary, and not restrictive, third example of a scheduling pattern can be implemented as follows.

[0163] (1) First model (optimizing task coverage)

[0164] Objective function:

[0165] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc wjk ≤∑ i∈I y ik ,

[0166] Third constraint: For Requirements must be met

[0167] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1.

[0168] Solving the first model yields the values ​​of the decision variables. The first model and The corresponding objective function value is This will be applied to the second model as a constraint, thereby ensuring that the solution results of the second model do not degrade the task coverage.

[0169] (2) Second model (optimizing the number of classes)

[0170] Objective function: Min.∑ k∈K u k

[0171] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0172] Second constraint:

[0173] Third constraint: For Requirements must be met

[0174] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik =1,

[0175] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ).

[0176] Based on the decision variable values ​​obtained from solving the second model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the second model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0177] The number of shifts can refer to the total number of shifts in use. When optimizing the number of shifts as the objective function, since shifts with longer durations can cover more tasks than shifts with shorter durations, the model usually tends to select shifts with longer durations to reduce the number of shifts. In this way, the duration deviation between shifts is implicitly optimized, and the constraint on work hour distribution (the sixth constraint) can be omitted, improving the model's solution efficiency. From a business perspective, a smaller number of shifts can reduce the difficulty of attendance management, making the resulting scheduling more practically meaningful.

[0178] In addition to the scheduling mode, the hierarchical integer programming model disclosed herein can also support other modes. As another non-limiting embodiment, when a task coverage rate is specified, multiple objectives may include optimizing the input labor cost, and may also include optimizing time utilization and time distribution, or optimizing the number of shifts. In various embodiments, specifying the task coverage rate may include specifying a value or range of task coverage, such as specifying a lower limit for task coverage. In such embodiments, the objective function of the model solved first among multiple models is based on optimizing the input labor cost setting. Since the task coverage rate is known in this case, its objective includes rationally allocating tasks based on accurate calculation of manpower requirements; therefore, such a model may be referred to herein as the accurate calculation mode.

[0179] Applications of the precise calculation model include, but are not limited to, calculating how many people are needed to support flights based on flight schedules (such as new flight season schedules) and scheduling shifts based on the calculated manpower; in the event of sudden large-scale delays, accurately calculating how many additional people need to be deployed and optimizing their shifts to ensure high-quality flight operations; and so on.

[0180] In some embodiments, specifying task coverage may include specifying a task coverage value of 100% in order to accurately calculate the manpower required to complete all tasks.

[0181] For illustrative purposes, a first example of a precise measurement model is given below. In this example, the highest priority objective is to optimize the cost of labor input, so the objective function of the first model is set based on this objective. The remaining lower priority objectives (optimizing work hour utilization and optimizing work hour distribution) are used as the optimization objectives of the second model, and constraints related to labor costs are set in the second model.

[0182] Specifically, in the first model, the aforementioned first constraint is set, and the objective function is set to minimize the input labor cost. In the second model, in addition to the aforementioned first constraint, a second constraint is also set, and the objective function is set to minimize the total shift duration and / or the maximum deviation of shift duration. The second constraint requires that the input labor cost not exceed the input labor cost corresponding to the solution result of the first model.

[0183] In some embodiments, in the first model, a second and third constraint and a first and fourth constraint may be further set. The second and third constraint requires that each task be assigned to a shift covering the task, and the first and fourth constraint requires that each employee executes at most one shift. In the second model, a second and third constraint may also be further set, and a second, fourth, fifth, and sixth constraint may also be set. The second and fourth constraint requires that each assigned employee executes one shift, the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts, and the sixth constraint requires that the deviation of the shift duration from the expected shift duration does not exceed the maximum shift duration deviation.

[0184] It can be observed that the differences between the first example of the scheduling model and the first example of the precise calculation model are as follows: the objective function of the first model is different, which in turn leads to a different second constraint in the second model; the specific requirements of the third constraint are different; and the specific requirements of the fourth constraint are different. The following section will analyze these differences in detail, while the similarities will not be elaborated upon.

[0185] An exemplary, and not restrictive, first example of a precise measurement pattern can be implemented as follows, where task coverage is guaranteed to be 100%.

[0186] (1) First Model (Optimizing Human Resource Costs)

[0187] Objective function:

[0188] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik Second and third constraints: For Require

[0189] First and fourth constraints: For Requirement ∑ k∈K y ik ≤1.

[0190] Solving the first model yields the values ​​of the decision variables. The first model and The corresponding objective function value is The calculated number of participants is These will be applied to the second model as constraints to ensure that the solution results of the second model do not degrade the human resource costs.

[0191] (2) Second model (optimizing working time utilization and working time distribution)

[0192] Objective function: Min.∑ k∈K (p k ∑ i∈I y ik )+dev max

[0193] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0194] Second constraint:

[0195] Second and third constraints: For Require

[0196] Second and fourth constraints: For ...,m use Requirement ∑ k∈K y ik =1,

[0197] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0198] Sixth constraint: For Requirements must be met (a)

[0199] Based on the decision variable values ​​obtained from solving the second model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the second model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0200] Human resource cost refers to the total cost of employing staff. Due to factors such as employee qualifications and job level, the cost of employing different staff generally varies. Therefore, human resource cost can be calculated based on individual employee characteristics. Thus, all other things being equal (e.g., unchanged task coverage), the model will prioritize employing staff with lower costs. This represents the cost of enabling employee i.

[0201] In some embodiments, the cost of employing different staff members can be the same, for example. Therefore, minimizing the cost of human resources input can degenerate into minimizing the number of people input. Thus, the objective function of the first model can be simply set as Min.∑ i∈I ∑ k∈K y ik Accordingly, the second constraint of the second model can be set as ∑ i∈I ∑ k∈K y ik ≤m use , where m use This represents the upper limit of the number of people required, as calculated by the first model. In this way, solving the second model will not degrade the human resource costs compared to solving the first model.

[0202] The third constraint restricts the quantitative correspondence between tasks and shifts. Here, the second and third constraints further require that each task must be covered by one shift. In other words, the existence of the second and third constraints guarantees 100% task coverage. This is beneficial for accurately calculating the manpower cost required to execute all tasks.

[0203] The fourth constraint is used to restrict the correspondence between the number of employees and shifts. Here, the fourth constraint is different in the first model and the second model.

[0204] In the first model, the fourth constraint was modified to a first fourth constraint, requiring each employee to work at most one shift. This constraint makes the model more in line with actual business logic (each employee typically works at most one shift per day).

[0205] In the second model, the fourth constraint is modified to the second fourth constraint, requiring each employee calculated by the first model to work in one shift. This ensures full utilization of human resources, prevents resource waste caused by loose constraints, and also reduces the solution space and accelerates the optimization process.

[0206] Similar to the scheduling mode, in the precise calculation mode, multiple secondary models can also be set up to optimize lower priority targets separately.

[0207] For illustrative purposes, a second example of the precise calculation model is given below. In this example, the optimization objective of the first model is to optimize the input labor cost. The model includes two second models: the optimization objective of the first second model is to optimize the working hour distribution, and the optimization objective of the second second model is to optimize the working hour utilization rate. The first second model is solved before the second second model.

[0208] A second example of an exemplary, but not restrictive, precise measurement pattern can be implemented as follows.

[0209] (1) First Model (Optimizing Human Resource Costs)

[0210] Objective function:

[0211] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik Second and third constraints: For Requirements must be met

[0212] First and fourth constraints: For The requirement is to satisfy ∑ k∈K y ik ≤1.

[0213] Solving the first model yields the values ​​of the decision variables. The first model and The corresponding objective function value is The calculated number of participants is These will be applied as constraints to the first and second models, thereby ensuring that the solution results of the first and second models do not degrade the human resource costs.

[0214] (2) First and Second Models (Optimizing Working Hour Distribution)

[0215] Objective function: Min.dev max

[0216] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0217] Second constraint:

[0218] Second and third constraints: For Requirements must be met

[0219] Second and fourth constraints: For ...,m use The requirement is to satisfy ∑ k∈K y ik =1,

[0220] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0221] Sixth constraint: For Requirements must be met (a)

[0222] Solving the first and second models yields the objective function value. It will be applied to the second model in the form of constraints, thereby ensuring that the solution results of the second model will not degrade the time distribution.

[0223] (3) Second model (optimizing working hours utilization)

[0224] Objective function: Min.∑ k∈K (p k ∑ i∈I y ik )

[0225] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0226] Second constraint: as well as

[0227] Second and third constraints: For Requirements must be met

[0228] Second and fourth constraints: For ...,m use The requirement is to satisfy ∑ k∈K y ik =1,

[0229] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0230] Sixth constraint: For Requirements must be met (a)

[0231] Based on the decision variable values ​​obtained from solving the second model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the second model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0232] In precise calculation models, other objectives besides optimizing work hour utilization and work hour distribution can also be considered. For example, when the goal is to standardize shift schedules as much as possible to improve the practical operability of the scheduling results, optimizing the number of shifts can be considered as an objective.

[0233] For illustrative purposes, a third example of the precise calculation model is given below. In this example, the highest priority objective is to optimize the cost of human resources invested, while lower priority objectives include optimizing the number of shifts. Therefore, the optimization objective of the first model is to optimize the cost of human resources invested, and the optimization objective of the second model is to optimize the number of shifts.

[0234] In the first model, the aforementioned first constraint is set, and the objective function is set to minimize the input labor cost. In the second model, in addition to the aforementioned first constraint, a second constraint is also set, and the objective function is set to minimize the number of shifts. The second constraint requires that the input labor cost not exceed the input labor cost corresponding to the solution result of the first model.

[0235] In some embodiments, in the first model, a third constraint and a first fourth constraint may be further set. The third constraint requires that each task be assigned to one shift covering the task, and the first and fourth constraints require that each employee executes at most one shift. In the second model, the aforementioned third constraint may also be further set, and a second, fourth, and fifth constraint may also be set. The second and fourth constraints require that each assigned employee executes one shift, and the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0236] It can be observed that the difference between the third example of the precise measurement mode and the first example of the precise measurement mode is that the objective function of the second model is different, and the second model does not include the sixth constraint.

[0237] A third example of an exemplary, but not restrictive, precise measurement pattern can be implemented as follows.

[0238] (1) First Model (Optimizing Human Resource Costs)

[0239] Objective function:

[0240] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik Second and third constraints: For Require

[0241] First and fourth constraints: For Requirement ∑ k∈K y ik ≤1.

[0242] Solving the first model yields the values ​​of the decision variables. The first model and The corresponding objective function value is The calculated number of participants is These will be applied to the second model as constraints to ensure that the solution results of the second model do not degrade the human resource costs.

[0243] (2) Second model (optimizing the number of classes)

[0244] Objective function: Min.∑ k∈K u k

[0245] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0246] Second constraint:

[0247] Second and third constraints: For Require

[0248] Second and fourth constraints: For ...,m use Requirement ∑ k∈K y ik =1,

[0249] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ).

[0250] Based on the decision variable values ​​obtained from solving the second model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the second model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0251] In some embodiments, specifying task coverage may include a lower limit for task coverage, which may be any value less than or equal to 100%. This avoids inefficiently allocating too much manpower in pursuit of full task coverage. In practice, a task coverage rate other than 100% (e.g., 80%-90%) can often meet core operational needs, and the remaining tasks (e.g., 10%-20%) can be handled through temporary reassignment, or the remaining tasks may be low-value tasks and can be abandoned. Therefore, setting a lower limit for task coverage can prevent over-allocation of human resources.

[0252] It is understandable that the first, second, and third examples of the precise calculation mode described above can all be modified to adapt to the situation of a specified task coverage lower limit. This can be achieved, for example, by adjusting the constraints related to task coverage in the first model that is solved first to optimize the input manpower cost. Other models (such as the second model) do not need to be modified.

[0253] Specifically, in the first model, a seventh constraint can be further set, and the second and third constraints can be modified into first and third constraints. The seventh constraint requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified lower limit of task coverage. The first and third constraints require that each task is assigned to at most one shift that covers that task.

[0254] Exemplary rather than restrictive, when the specified task coverage lower limit is q (0 < q ≤ 100%), the modified examples of the first model in the first to third examples of the precise measurement mode can be implemented as follows.

[0255] First model (optimizing the input labor cost)

[0256] Objective function:

[0257] First constraint: For mc ∈ MC k It is required to satisfy ∑ j∈mc w jk ≤ ∑ i∈I y ik ,

[0258] First and third constraints: For It is required that

[0259] First and fourth constraints: For It is required that ∑ k∈K y ik ≤ 1,

[0260] Seventh constraint: For the specified task coverage lower limit q, it is required that ⌊⌋ represents rounding down, and n represents the number of tasks.

[0261] Solving the first model gives the decision variable values The corresponding objective function value of the first model is The calculated number of input people is These will be applied to the second model in the form of constraints to ensure that the solution result of the second model will not deteriorate the input labor cost. For examples of the second model, refer to the first, second, and third examples of the precise measurement mode in the previous text, which will not be elaborated here.

[0262] Setting the first and third constraints allows some tasks not to be covered, that is, it does not force the task coverage to be 100%.

[0263] In the seventh constraint, ∑ j∈J ∑ k∈K w jk represents the sum of the number of tasks covered by all work schedules. q represents the specified task coverage lower limit. Generally, q ≤ 100%. n represents the number of tasks, that is, the number of elements in the task set J. ⌊q·n⌋ represents the minimum number of tasks that need to be covered, that is, the specified number. Since the mathematical result of q·n may be a decimal, the rounding-down function can be used To obtain an integer result to conform to the actual business situation (tasks should not be partially covered). It can be understood that depending on different specific requirements, other methods such as rounding up functions, rounding, etc. can also be used to make the specified quantity an integer. By making the sum of the task quantities covered by all shift systems greater than or equal to the specified quantity determined based on the lower limit of the specified task coverage rate, the task coverage rate corresponding to the measured result can be made not lower than the lower limit of the specified task coverage rate.

[0264] It can be understood that if additionally wanting to specify an upper limit of the task coverage rate, a second seventh constraint can be added. The second seventh constraint requires that the sum of the task quantities covered by all shift systems is not greater than the specified quantity, and the specified quantity is determined based on the upper limit of the specified task coverage rate. Correspondingly, it can be required that where q′ represents the upper limit of the specified task coverage rate, and 0 < q ≤ q′ ≤ 100%. If alternatively wanting to specify the task coverage rate as a specific value, the foregoing seventh constraint can be replaced by a third seventh constraint. The third seventh constraint requires that the sum of the task quantities covered by all shift systems is equal to the specified quantity, and the specified quantity is determined based on the specified value of the task coverage rate. Correspondingly, it can be required that where q″ represents the specified value of the task coverage rate, and 0 < q″ ≤ 100%. It can be understood that when q = q′, the combination of the seventh constraint and the second seventh constraint can also be used to specify the task coverage rate as a specific value.

[0265] In addition to setting the objective function hierarchically as above, the objective function can also be set combinatorially.

[0266] In some embodiments, the integer programming model includes a single model, and the objective function of the single model is set based on the combination of multiple objectives. In some examples, the multiple objectives include optimizing the task coverage rate, optimizing the utilization rate of working hours, optimizing the distribution of working hours, and optimizing the input labor cost. For example, the objective function can be set to minimize the sum of the input labor cost, the total penalty for uncovered tasks, and the maximum deviation value between the total duration of the shift system and the duration of the shift. In other examples, the multiple objectives include optimizing the task coverage rate, optimizing the number of shift systems, and optimizing the input labor cost. For example, the objective function can be set to minimize the sum of the input labor cost, the total penalty for uncovered tasks, and the number of shift systems.

[0267] Compared with optimizing multiple objectives in stages, setting the objective function combinatorially can generate a feasible and relatively optimal solution in a shorter time through one solution, meeting the needs of conventional business for quick decision-making. Therefore, it can also be called the conventional measurement mode in this article.

[0268] Conventional calculation models are suitable for finding a balance between multiple objectives. For example, conventional calculation models can be used to generate periodic schedules (such as monthly schedules) that need to balance multiple demands, or to generate trade-offs that allow airline management to intuitively compare different objectives (such as conflicting groups of objectives like manpower deployment and task coverage).

[0269] Exemplary, and not restrictive, for a scenario with multiple objectives including optimizing task coverage, optimizing time utilization, optimizing time distribution, and optimizing input labor costs, a first example of a conventional measurement model can be implemented as follows.

[0270] Objective function:

[0271] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0272] Third constraint: For Requirements must be met

[0273] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik ≤1,

[0274] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0275] Sixth constraint: For Requirements must be met (a)

[0276] Based on the decision variable values ​​obtained from solving the above model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the above model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0277] As an example, and not a limitation, of a scenario with multiple objectives including optimizing task coverage, optimizing shift numbers, and optimizing human resource costs, a second example of the conventional measurement model can be implemented as follows.

[0278] Objective function:

[0279] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0280] Third constraint: For Requirements must be met

[0281] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik ≤1,

[0282] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ).

[0283] Based on the decision variable values ​​obtained from solving the above model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the above model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0284] Similar to the precise measurement mode, the lower limit for task coverage in the regular measurement mode can also be any value less than or equal to 100%. For example, a seventh constraint can be further set, requiring that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on the specified lower limit for task coverage.

[0285] As an example, and not a limitation, of the regular measurement pattern, a third example of the regular measurement pattern can be implemented with the addition of a seventh constraint compared to the first example of the regular measurement pattern, provided that a lower limit for task coverage is specified.

[0286] Objective function:

[0287] First constraint: For mc∈MC k The requirement is to satisfy ∑ j∈mc w jk ≤∑ i∈I y ik ,

[0288] Third constraint: For Requirements must be met

[0289] Fourth constraint: For The requirement is to satisfy ∑ k∈K y ik ≤1,

[0290] Fifth constraint: For The requirement is to satisfy ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0291] Sixth constraint: For Requirements must be met (a)

[0292] Seventh constraint: For a given lower limit of task coverage q, the following is required

[0293] Based on the decision variable values ​​obtained from solving the above model The correspondence between task j and class system k can be determined, and the decision variable values ​​obtained from solving the above model can be used as a basis. We can determine the correspondence between employee i and shift k. Using these results, we can further determine the correspondence between employees and tasks, thus enabling us to schedule shifts for employees.

[0294] Similarly, the second example of the standard measurement pattern can be modified to further include a seventh constraint to accommodate cases where a lower limit for task coverage is specified. Furthermore, a second or third seventh constraint can be similarly set to accommodate cases where an upper limit or value for task coverage is specified.

[0295] Figure 2 Exemplary comparisons are made between data on the number of employees, task coverage, time utilization, and solution time obtained from employee scheduling using conventional and precise calculation models according to some embodiments of this disclosure. For example... Figure 2As shown, for the same job position, the precise calculation mode often yields a better solution, but takes longer to solve. For example, for the job "Trailer_0103" with 1010 tasks, while both the precise and conventional calculation modes guarantee 100% task coverage, the precise calculation mode results in higher time utilization and requires fewer employees, while the conventional calculation mode takes less time. As another example, for the job "Loading / Unloading_0103_280" with 1883 tasks, since the number of tasks exceeds the maximum number of tasks all employees can perform, neither the precise nor conventional calculation modes can guarantee 100% task coverage even with all employees. However, because the precise calculation mode prioritizes task coverage and optimizes other objectives less, it achieves a higher task coverage but lower time utilization. The conventional calculation mode optimizes multiple objectives simultaneously, thus obtaining a solution with a better overall combination of task coverage and time utilization.

[0296] On the other hand, this disclosure also provides an employee scheduling device based on a shift system. Figure 3 A schematic block diagram of a shift-based employee scheduling device 200 according to some embodiments of the present disclosure is shown. Figure 3 As shown, the device 200 includes an acquisition module 202, a construction module 204, and a scheduling module 206. The acquisition module 202 is configured to acquire task information and inter-task conflict information, employee information, and shift information. The construction module 204 is configured to construct an integer programming model by: setting constraints, including setting a first constraint requiring that conflicting tasks assigned to each shift can be executed; and setting an objective function based on multiple objectives. The scheduling module 206 is configured to solve the integer programming model using the acquired information to determine the correspondence between employees and shifts and the correspondence between tasks and shifts, and to decode the correspondence between employees and tasks from the employee-shift and task-shift correspondence information, thereby scheduling employees.

[0297] Various embodiments of the device 200 can be similarly referred to the various embodiments described above regarding the shift-based employee scheduling method, and will not be repeated here.

[0298] This disclosure also provides a computing device that may include one or more processors and a memory storing computer-executable instructions, which, when executed by the one or more processors, cause the one or more processors to perform the methods described according to any of the foregoing embodiments of this disclosure. Figure 4As shown, computing device 300 may include one or more processors 302 and memory 304 storing computer-executable instructions that, when executed by one or more processors 302, cause one or more processors 302 to perform the methods described in any of the foregoing embodiments of this disclosure. The one or more processors 302 may be, for example, a central processing unit (CPU) of computing device 300. The one or more processors 302 may be any type of general-purpose processor or may be a processor specifically designed for shift-based employee scheduling, such as an application-specific integrated circuit (“ASIC”). Memory 304 may be coupled to one or more processors 302 and may include various computer-readable media accessible by one or more processors 302. In various embodiments, memory 304 described herein may include volatile and non-volatile media, removable and non-removable media. For example, memory 304 may include any combination of random access memory (“RAM”), dynamic RAM (“DRAM”), static RAM (“SRAM”), read-only memory (“ROM”), flash memory, cache memory, and / or any other type of non-transitory computer-readable media. The memory 304 may store instructions that, when executed by the processor 302, cause the processor 302 to execute the method described according to any of the foregoing embodiments of this disclosure.

[0299] This disclosure also provides a non-transient storage medium having computer-executable instructions stored thereon, which, when executed by a computer, cause the computer to perform the methods described according to any of the foregoing embodiments of this disclosure.

[0300] This disclosure also provides a computer program product that may include instructions that, when executed by a processor, can implement the methods described according to any of the foregoing embodiments of this disclosure. The instructions may be any set of instructions that will be executed directly by one or more processors, such as machine code, or any set of instructions that will be executed indirectly, such as a script. The instructions may be stored in an object code format for direct processing by one or more processors, or stored in any other computer language, including scripts or sets of independent source code modules that are interpreted on demand or compiled in advance.

[0301] Figure 5This is a schematic block diagram illustrating a computer system 400 on which embodiments of the present disclosure may be implemented. The computer system 400 includes a bus 402 or other communication mechanism for transmitting information, and a processing means 404 coupled to the bus 402 for processing information. The computer system 400 also includes a memory 406 coupled to the bus 402 for storing instructions to be executed by the processing means 404; the memory 406 may be random access memory (RAM) or other dynamic storage device. The memory 406 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processing means 404. The computer system 400 also includes a read-only memory (ROM) 408 or other static storage device coupled to the bus 402 for storing static information and instructions for the processing means 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to the bus 402 for storing information and instructions. Computer system 400 may be coupled via bus 402 to output device 412 for providing output to a user, such as, but not limited to, a display (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD)), speakers, etc. Input device 414, such as a keyboard, mouse, microphone, etc., is coupled to bus 402 for transmitting information and command selections to processing device 404. Computer system 400 may execute embodiments of this disclosure. Consistent with certain implementations of this disclosure, results are provided by computer system 400 in response to processing device 404 executing one or more sequences of one or more instructions contained in memory 406. Such instructions may be read into memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequence of instructions contained in memory 406 causes processing device 404 to perform the methods described herein. Alternatively, the teachings may be implemented using hardwired circuitry in place of or in combination with software instructions. Therefore, implementations of this disclosure are not limited to any particular combination of hardware circuitry and software. In various embodiments, computer system 400 may be connected across a network to one or more other computer systems, such as computer system 400, via network interface 416 to form a networked system. This network may include a private network or a public network such as the Internet. In a networked system, one or more computer systems may store data and supply data to other computer systems. As used herein, the term "computer-readable medium" refers to any medium that participates in providing instructions to processing device 404 for execution. Such media may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical discs or magnetic disks such as storage device 410. Volatile media include dynamic memory such as memory 406. Transmission media include coaxial cables, copper wires, and optical fibers, including wiring that includes bus 402.Common forms of computer-readable media or computer program products include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, or any other magnetic media, CD-ROMs, digital video discs (DVDs), Blu-ray discs, any other optical media, thumb drives, memory cards, RAM, PROMs and EPROMs, fast EPROMs, any other memory chips or cartridges, or any other tangible media from which a computer can read. Various forms of computer-readable media may be involved when carrying one or more sequences of one or more instructions to processing device 404 for execution. For example, instructions may initially be carried on a disk of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit the instructions over a telephone line using a modem. A modem local to computer system 400 may receive data over a telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 402 may receive the data carried in the infrared signal and place the data on bus 402. Bus 402 carries the data to memory 406, from which processing device 404 retrieves and executes the instructions. Optionally, the instructions received by the memory 406 may be stored on the storage device 410 before or after execution by the processing device 404.

[0302] According to various embodiments, instructions configured to be executed by a processing device to perform a method are stored on a computer-readable medium. The computer-readable medium may be a device for storing digital information. For example, a computer-readable medium includes a compact disc read-only memory (CD-ROM) as known in the art for storing software. The computer-readable medium is accessed by a processor adapted to execute the instructions configured to be executed.

[0303] The foregoing has described one or more exemplary embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0304] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. A typical implementation device is a server system. Of course, this disclosure does not exclude the possibility that, with the future development of computer technology, the computer implementing the functions of the above embodiments may be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a game console, a tablet computer, a wearable device, or any combination thereof.

[0305] The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, product, or apparatus. Without further limitation, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded. For example, the use of terms such as "first" or "second" to denote names does not indicate any particular order.

[0306] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, when implementing one or more embodiments of this disclosure, the functions of each module can be implemented in one or more software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0307] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0308] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0309] Those skilled in the art will understand that one or more embodiments of this disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this disclosure may take 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.) containing computer-usable program code.

[0310] One or more embodiments of this disclosure can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this disclosure can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can reside in local and remote computer storage media, including storage devices.

[0311] The same or similar parts between the various embodiments of this disclosure can be referred to mutually, and each embodiment focuses on describing the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments. In the description of this disclosure, the reference to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," "exemplary," etc., means that the specific feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of this disclosure. In this disclosure, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this disclosure and the features of different embodiments or examples.

[0312] Additionally, when used in this disclosure, the terms “here,” “above,” “below,” “below,” “in the following,” “overall,” and similar terms should refer to the entirety of this disclosure and not any particular part thereof. Furthermore, unless expressly stated otherwise or otherwise understood in the context in which they are used, conditional language used herein, such as “may,” “possibly,” “for example,” “like,” etc., is generally intended to express that certain embodiments include, while other embodiments do not, certain features, elements, and / or states. Therefore, such conditional language is not generally intended to imply that one or more embodiments require features, elements, and / or states in any way, or whether such features, elements, and / or states are included or performed in any particular embodiment.

[0313] The above description is merely an embodiment of one or more embodiments of this disclosure and is not intended to limit the scope of the one or more embodiments of this disclosure. Various modifications and variations can be made to the one or more embodiments of this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of the claims.

Claims

1. A shift-based employee scheduling method, comprising: Obtain task information and information on conflicts between tasks; Obtain employee information; Obtain class schedule information; Construct an integer programming model using the following operations: Set constraints, including: A first constraint is set, which requires that conflicting tasks assigned to each shift can be executed. Setting variables includes: Set a first variable, which indicates whether employees are working shifts, and Set a second variable that indicates whether the task is assigned to a shift system; and Setting an objective function based on multiple objectives; and Using the acquired information, an integer programming model is solved to determine the correspondence between employees and shifts, and between tasks and shifts, respectively, from the decision variable values ​​of the first and second variables. Then, the correspondence between employees and tasks is decoded from these correspondences, thus enabling employee scheduling. The correspondence between employees and shifts indicates which employees are assigned to each shift, the correspondence between tasks and shifts indicates which tasks are assigned to each shift, and the correspondence between employees and tasks indicates which employee is assigned to each task.

2. The method according to claim 1, wherein, The first constraint requires that the number of conflicting tasks assigned to each shift does not exceed the number of employees performing the shift.

3. The method according to claim 1 or 2, wherein, The integer programming model comprises multiple models to be solved sequentially, wherein the objective function of each model is set based on a combination of one or more corresponding objectives from the multiple objectives. Specifically, constraints are set for the later-solved models among the multiple models based on the objective function values ​​of the models solved first, in order to solve the later-solved models.

4. The method according to claim 3, wherein, The solution order of the multiple models is determined based on the priority of the objectives corresponding to each model.

5. The method according to claim 4, wherein, The objective function of the model solved first among the multiple models is set only based on the objective with the highest priority.

6. The method according to claim 3, wherein, Given a maximum input of human resources, the multiple objectives include optimizing task coverage, optimizing time utilization, and optimizing time distribution, wherein the objective function of the model solved first among the multiple models is set based on optimizing task coverage.

7. The method according to claim 6, wherein, The multiple models include a first model that is solved first and a second model that is solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the total penalty for task uncovering; as well as In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the total duration of the shift and / or the maximum deviation of the shift duration. The second constraint requires that the total penalty for the task not being covered is not greater than the total penalty for the task not being covered corresponding to the solution result of the first model.

8. The method according to claim 7, wherein, In the first model, a third constraint and a fourth constraint are further set. The third constraint requires that each task be assigned to at most one shift covering the task, and the fourth constraint requires that each employee perform one shift. as well as In the second model, the third, fourth, fifth and sixth constraints are further set. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts. The sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

9. The method according to claim 3, wherein, Given a maximum input of human resources, the multiple objectives include optimizing task coverage and optimizing the number of shifts, wherein the objective function of the model solved first among the multiple models is set based on optimizing task coverage.

10. The method according to claim 9, wherein, The multiple models include a first model that is solved first and a second model that is solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the total penalty for task uncovering; as well as In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the number of classes. The second constraint requires that the total penalty for tasks not being covered is not greater than the total penalty for tasks not being covered corresponding to the solution result of the first model.

11. The method according to claim 10, wherein, In the first model, a third constraint and a fourth constraint are further set. The third constraint requires that each task be assigned to at most one shift covering the task, and the fourth constraint requires that each employee perform one shift. as well as In the second model, the third, fourth and fifth constraints are further set, wherein the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

12. The method according to claim 3, wherein, Given a specified task coverage rate, the multiple objectives include optimizing time utilization, optimizing time distribution, and optimizing labor input costs, wherein the objective function of the model solved first among the multiple models is set based on optimizing labor input costs.

13. The method according to claim 12, wherein, The multiple models include a first model that is solved first and a second model that is solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the cost of human resources input; as well as In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum deviation of shift duration. The second constraint requires that the manpower cost invested should not be greater than the manpower cost corresponding to the solution result of the first model.

14. The method according to claim 13, wherein, In the first model, a third constraint and a first fourth constraint are further set. The third constraint requires that each task be assigned to a shift that covers the task, and the first fourth constraint requires that each employee executes at most one shift. as well as In the second model, the third, second fourth, fifth and sixth constraints are further set. The second fourth constraint requires each employee to perform one shift. The fifth constraint requires that employees be assigned to the enabled shifts and not to the disabled shifts. The sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

15. The method according to claim 13, wherein, In the first model, a first third constraint, a first fourth constraint, and a seventh constraint are further defined. The first third constraint requires that each task be assigned to at most one shift covering the task. The first fourth constraint requires that each employee executes at most one shift. The seventh constraint requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified task coverage lower limit. In the second model, a second third constraint, a second fourth constraint, a fifth constraint, and a sixth constraint are further set. The second third constraint requires that each task be assigned to a shift system covering the task. The second fourth constraint requires that each employee assigned to the task perform a shift system. The fifth constraint requires that employees be assigned to enabled shift systems and not to enabled shift systems. The sixth constraint requires that the deviation between the shift system duration and the expected shift system duration does not exceed the maximum shift system duration deviation.

16. The method according to claim 3, wherein, Given a specified task coverage rate, the multiple objectives include optimizing the cost of human resources input and optimizing the number of shifts, wherein the objective function of the model that is solved first among the multiple models is set based on optimizing the cost of human resources input.

17. The method according to claim 16, wherein, The multiple models include a first model that is solved first and a second model that is solved after the first model. In the first model, the first constraint is set, and the objective function is set to minimize the cost of human resources input; as well as In the second model, the first constraint and the second constraint are set, and the objective function is set to minimize the number of classes. The second constraint requires that the manpower cost invested should not be greater than the manpower cost corresponding to the solution result of the first model.

18. The method according to claim 17, wherein, In the first model, a third constraint and a first fourth constraint are further set. The third constraint requires that each task be assigned to a shift that covers the task, and the first fourth constraint requires that each employee executes at most one shift. as well as In the second model, the third, second fourth, and fifth constraints are further set. The second fourth constraint requires each employee to perform one shift. The fifth constraint requires that employees be assigned to enabled shifts and that employees not be assigned to disabled shifts.

19. The method of claim 17, wherein, In the first model, a first third constraint, a first fourth constraint, and a seventh constraint are further defined. The first third constraint requires that each task be assigned to at most one shift covering the task. The first fourth constraint requires that each employee executes at most one shift. The seventh constraint requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified task coverage lower limit. In the second model, a second third constraint, a second fourth constraint, and a fifth constraint are further set. The second third constraint requires that each task be assigned to a shift that covers the task. The second fourth constraint requires that each employee assigned to the task perform a shift. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

20. The method according to claim 1 or 2, wherein, The integer programming model comprises a single model, and the objective function of the single model is set based on a combination of the multiple objectives.

21. The method according to claim 20, wherein, The objectives include optimizing task coverage, optimizing time utilization, optimizing time distribution, and optimizing human resource costs.

22. The method according to claim 21, wherein, The objective function is set to minimize the sum of the manpower cost, the total penalty for tasks not being covered, and the maximum deviation between the total shift duration and the shift duration.

23. The method according to claim 22, wherein, Further constraints are set: a third, a fourth, a fifth, and a sixth constraint. The third constraint requires that each task be assigned to at most one shift covering the task. The fourth constraint requires that each employee execute at most one shift. The fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts. The sixth constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

24. The method according to claim 23, wherein, A seventh constraint is further set, which requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified task coverage lower limit.

25. The method according to claim 20, wherein, The objectives include optimizing task coverage, optimizing the number of shifts, and optimizing the human resource costs.

26. The method according to claim 25, wherein, The objective function is set to minimize the sum of manpower costs, total penalties for uncovered tasks, and number of shifts.

27. The method according to claim 26, wherein, Further constraints are set: the third constraint requires that each task be assigned to at most one shift covering the task; the fourth constraint requires that each employee execute at most one shift; and the fifth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

28. The method according to claim 27, wherein, A seventh constraint is further set, which requires that the sum of the number of tasks covered by all shifts is not less than a specified number, which is determined based on a specified task coverage lower limit.

29. The method according to claim 1 or 2, wherein, Decoding the correspondence between employees and shifts, and between tasks and shifts, yields the corresponding employee and task information, enabling employee scheduling to include: Create an empty task list for each employee; Get the list of shift types, as well as the task list and employee list corresponding to each shift type in the list of shift types; For each class type in the list of class types: For each task in the task list corresponding to the aforementioned shift system: For each employee in the employee list corresponding to the shift system, determine whether there is a conflict between the task and the tasks already assigned to the employee based on the task conflict information: If there are no conflicts, assign the task to the employee and update the employee's task list; or In the event of a conflict, the task shall not be assigned to the employee; and With all tasks assigned to employees, employees are scheduled according to their task lists.

30. The method according to claim 1 or 2, wherein, The employee information includes an estimated number of personnel required to perform all tasks in the task information. This estimated number of personnel is determined based on the shortest shift duration in the shift information, wherein the estimated number of personnel is determined through the following operations: Get the shortest shift duration and task list; Create an employee list, which is initialized to empty; For each task in the task list: For each employee in the employee list, based on the task's time information, the shortest shift length, and the employee's shift schedule information, determine whether the employee can perform the task: If an employee exists in the employee list who can perform the task, the employee is assigned to perform the task, and the employee's shift schedule information is updated based on the task's time information; or If none of the employees in the employee list can perform the task, add a new employee to the employee list, assign the new employee to perform the task, and update the new employee's shift schedule information based on the task's time information. If all tasks in the task list are assigned to employees, the number of employees in the employee list is determined as the estimated number of employees.

31. An employee scheduling device based on a shift system, comprising: The acquisition module is configured as follows: Obtain task information and information on conflicts between tasks; Obtain employee information; Obtain class schedule information; The building module is configured to construct integer programming models by: Set constraints, including: A first constraint is set, which requires that conflicting tasks assigned to each shift can be executed. Setting variables includes: Set a first variable, which indicates whether employees are working shifts, and Set a second variable that indicates whether the task is assigned to a shift system; and Setting an objective function based on multiple objectives; and The scheduling module is configured to use the acquired information to solve an integer programming model to determine the correspondence between employees and shifts, and between tasks and shifts, respectively, from the decision variable values ​​of the first variable and the second variable. It then decodes the correspondence between employees and tasks from these two information to schedule employee shifts. The correspondence between employees and shifts indicates which employees are assigned to each shift, the correspondence between tasks and shifts indicates which tasks are assigned to each shift, and the correspondence between employees and tasks indicates which employee is assigned to each task.

32. A computing device, comprising: One or more processors; as well as A memory storing computer-executable instructions, which, when executed by the one or more processors, cause the one or more processors to perform the method according to any one of claims 1 to 30.

33. A computer-readable storage medium having stored thereon computer-executable instructions, which, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 30.

34. A computer program product comprising instructions that, when executed by a processor, implement the method according to any one of claims 1 to 30.

Citation Information

Patent Citations

  • Scheduling method and device, equipment and storage medium

    CN112749942A

  • Scheduling method, device and equipment and storage medium

    CN112749944A

Cited By

  • Task-based employee scheduling method and related device

    CN120911869A

  • Task-based employee scheduling method and related apparatus

    CN120911869B