Task-based employee scheduling method and related apparatus

By constructing a multi-objective integer programming model, the scheduling of airport ground staff was optimized, solving the problem of uneven distribution of human resources in traditional scheduling methods, achieving efficient and flexible staff scheduling, and improving service quality and safety.

CN120911869BActive Publication Date: 2026-07-07CHINA EASTERN AIRLINES CO LTD +2

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA EASTERN AIRLINES CO LTD
Filing Date
2025-07-28
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Traditional scheduling methods are unable to fully meet the multi-dimensional needs of airport ground staff, resulting in uneven distribution of human resources, affecting service quality and safety, and making it difficult to cope with fluctuations in workload.

Method used

A task-based employee scheduling method is adopted. By constructing a multi-objective integer programming model, setting constraints and objective functions, the task coverage, working time utilization and shift duration are optimized. The integer programming model is used to solve the correspondence between employees and tasks to achieve reasonable scheduling.

Benefits of technology

It has improved the efficiency of airport ground handling and employee satisfaction, reduced the waste of human resources, ensured service quality and safety, and can dynamically adjust to cope with changes in workload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120911869B_ABST
    Figure CN120911869B_ABST
Patent Text Reader

Abstract

The present disclosure provides a task-based employee scheduling method and related device. A task-based employee scheduling method includes: obtaining task information and inter-task conflict information; obtaining employee information; obtaining shift information and shift coverage information for tasks; constructing an integer programming model by setting constraints and an objective function, the constraints including a first constraint and a second constraint, the first constraint requiring that an employee cannot perform tasks that conflict with each other, the second constraint requiring that an employee performing a task performs a shift that covers the task, the objective function being set based on multiple objectives; and solving the integer programming model using the obtained information to determine corresponding information of employees and tasks and corresponding information of employees and shifts, 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 task-based employee scheduling method and apparatus, a computing device, and a computer program product. Background Art

[0002] The scheduling problem of airport ground crew directly affects airport operation efficiency, service quality, and operating costs. Ground crew work (check-in, baggage handling, aircraft guiding, 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, there is provided a task-based employee scheduling method. The method includes: obtaining task information and task conflict information; obtaining employee information; and obtaining shift information and shift coverage information for tasks. The method further includes constructing an integer programming model by performing the following operations: setting constraints, including setting a first constraint and a second constraint, where the first constraint requires that employees cannot perform conflicting tasks with each other, and the second constraint requires that employees performing tasks perform shifts covering the tasks; 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 tasks and the correspondence information between employees and shifts, so as to schedule employees.

[0004] 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, where 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.

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

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

[0007] 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, where the objective function of the first-solved model in the multiple models is set based on optimizing the task coverage rate.

[0008] 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 and the second constraint are set, and the objective function is set to minimize the total penalty for task non-coverage. In the second model, the first constraint, the second constraint, and the third constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum shift duration deviation. The third 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.

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

[0010] 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.

[0011] 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 and the second constraint are set, and the objective function is set to minimize the total penalty for task uncovering. In the second model, the first constraint, the second constraint, and the third constraint are set, and the objective function is set to minimize the number of classes, wherein the third 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.

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

[0013] 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.

[0014] 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 and the second constraint are set, and the objective function is set to minimize the input labor cost. In the second model, the first constraint, the second constraint and the third constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum deviation of shift duration. The third constraint requires that the input labor cost is not greater than the input labor cost corresponding to the solution result of the first model.

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

[0016] In some embodiments, in the first model, a first fourth constraint, a first fifth constraint, and an eighth constraint are further provided. The first fourth constraint requires that each task be executed at most once, the first fifth constraint requires that each employee work at most one shift, and the eighth constraint requires that the sum of the number of tasks executed by all employees is not less than a specified number, which is determined based on a specified task coverage lower limit. In the second model, a second fourth constraint, a second fifth constraint, a sixth constraint, and a seventh constraint are further provided. The second fourth constraint requires that each task be executed once, the second fifth constraint requires that each assigned employee work one shift, the sixth constraint requires that employees be assigned to enabled shifts and not to enabled shifts, and the seventh 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, when a specified task coverage is specified, the plurality of objectives include optimizing the cost of manpower 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 manpower input.

[0018] 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 and the second constraint are set, and the objective function is set to minimize the input labor cost. In the second model, the first constraint, the second constraint, and the third constraint are set, and the objective function is set to minimize the number of shifts, wherein the third constraint requires that the input labor cost is not greater than the input labor cost corresponding to the solution result of the first model.

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

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

[0021] 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.

[0022] 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.

[0023] 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.

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

[0025] In some embodiments, an eighth constraint is further provided, which requires that the sum of the number of tasks performed by all employees is not less than a specified number, the specified number being determined based on a specified task coverage lower limit.

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

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

[0028] In some embodiments, a fourth constraint, a fifth constraint, and a sixth constraint are further provided, wherein the fourth constraint requires that each task be executed at most once, the fifth constraint requires that each employee execute at most one shift, and the sixth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

[0029] In some embodiments, an eighth constraint is further provided, which requires that the sum of the number of tasks performed by all employees is not less than a specified number, the specified number being determined based on a specified task coverage lower limit.

[0030] In some embodiments, the employee information includes an estimated number of people required to perform all tasks in the task information, the estimated number of people being determined based on the shortest shift duration in the shift information.

[0031] In some embodiments, the estimated number of employees is determined by 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.

[0032] According to a second aspect of this disclosure, a task-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 and shift coverage information for tasks. The construction module is configured to construct an integer programming model by: setting constraints, including setting a first constraint requiring employees not to perform conflicting tasks, and a second constraint requiring employees performing tasks to perform shifts covering the tasks; 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 tasks and the correspondence between employees and shifts, thereby scheduling employees.

[0033] 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.

[0034] 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.

[0035] 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.

[0036] 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

[0037] 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:

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

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

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

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

[0042] 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.

[0043] 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

[0044] 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.

[0045] 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.

[0046] 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.

[0047] 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.

[0048] 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.

[0049] 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.

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

[0051] The task-based employee scheduling method according to various embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. 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.

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

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

[0054] 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.

[0055] 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.

[0056] 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.

[0057] In step S106, obtain shift information and shift coverage information for tasks.

[0058] 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.

[0059] The coverage information of shift system to task refers to the coverage of the shift system's time period to the task's time period. If the task's start time is not earlier than the shift system's start time, and the task's end time is not later than the shift system's end time, then the shift system is considered to cover the task.

[0060] 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.

[0061] 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.

[0062] An example, which is not restrictive, of a method for determining the number of people can be implemented as pseudocode below.

[0063] Given: a list of tasks (task_list), the shortest shift duration (p min )

[0064]

[0065]

[0066] 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.

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

[0068] For example, a first constraint can be set. The first constraint requires that employees cannot perform conflicting tasks, thereby improving the direct usability of the scheduling results and reducing or eliminating the workload of subsequent manual intervention.

[0069] For example, a second constraint can be set. This second constraint requires employees performing tasks to work shifts covering those tasks. This second constraint is a coupling constraint, ensuring a reasonable match between shifts and tasks. It can also improve the direct usability of the scheduling results and reduce or eliminate subsequent manual intervention. Understandably, other constraints can be imposed based on the desired scheduling effect, which will be described in more detail later.

[0070] 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.

[0071] In step S110, the acquired information (task information, inter-task conflict information, employee information, shift information, and shift coverage information) is used to solve an integer programming model to determine the correspondence between employees and tasks and the correspondence between employees and shifts, thereby scheduling employees. For example, the model decision variables representing the correspondence between each employee in the employee set and each task in the task set, and the model decision variables representing the correspondence between each employee in the employee set and each shift in the shift set, can be solved to obtain the employee scheduling plan.

[0072] 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.

[0073] 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.

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

[0075] 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.

[0076] 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.

[0077] 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.

[0078] 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.

[0079] 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.

[0080] 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.

[0081] 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.

[0082] 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.

[0083] 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.

[0084] Specifically, in the first model, the aforementioned first and second constraints are 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 and second constraints, a third 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 third 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.

[0085] 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.

[0086] 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.

[0087] 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.

[0088] 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.

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

[0090] The fourth constraint restricts the quantitative correspondence between employees and tasks. Here, the fourth constraint prevents task duplication and ensures rational resource allocation. The fifth constraint restricts the quantitative correspondence between employees and shifts. Here, the fifth constraint requires all employees input into the model to be assigned shifts. In other words, the existence of the fifth 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 sixth constraint improves the solution efficiency of the integer programming model and the practicality of employee scheduling results by assigning employees based on the activation status of shifts. The seventh constraint promotes a balanced distribution of working hours.

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

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

[0093] Objective function:

[0094] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0095] Second constraint: For j∈J requires that the following conditions be met:

[0096] Fourth constraint: For The requirement is to satisfy ∑ i∈Ix ij ≤1,

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

[0098] 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.

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

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

[0101] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0102] Second constraint: For Requirements must be met

[0103] Third constraint:

[0104] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0106] Sixth 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 ),

[0107] Seventh constraint: For Requirements must be met (a)

[0108] Based on the decision variable values ​​obtained from solving the second model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the second model can be used. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0109] 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). This represents the penalty coefficient for task j not being covered. I represents the set of employees i, I = {1,...,m} (m indicates the number of employees).

[0110] 1-∑ i∈I x ij This is used to indicate whether task j has not been executed by any employee. A value of 1 indicates that no employee has executed task j, and a value of 0 indicates that an employee has executed task j. This represents the total penalty for all uncovered tasks in the current solution. It's understandable that, without distinguishing the penalties for different uncovered tasks, we can let... Therefore, the objective function of the first model simplifies to

[0111] K represents the set of class systems k. p k This indicates the duration of shift k. dev max This represents the maximum shift duration deviation. ∑ k∈K (p k ∑ i∈I y ik () represents the total duration of the class.

[0112] In the first constraint, MC represents the set of conflicting tasks in a conflicting task group mc. It can be understood that the elements of the conflicting task set MC, the conflicting task group mc, can be a set that includes tasks j that conflict with each other. ∑ j∈mc x ij This represents how many conflicting tasks an employee i will perform. Constraint ∑ j∈mc x ij ≤1 means that employee i will execute at most one task in the conflicting task group mc, that is, employees will not execute tasks that conflict with each other.

[0113] In the second constraint, K j Let k represent the set of class systems that cover class system k covering task j. This represents how many shifts k that can cover task j are assigned to employee i. The following scenario was excluded: employee i performs task j(x) ij =1), but the shift system covering task j was not executed.

[0114] In the third constraint, tc uncover This indicates the maximum total penalty for tasks not being covered. tc unconver 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.

[0115] In the fourth constraint, ∑ i∈I x ij This represents the number of employees who perform task j. Constraint ∑ i∈I x ij ≤1 means that task j is executed by at most one employee.

[0116] In the fifth 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 a shift.

[0117] In the sixth 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 ≤m k This means that the number of employees working under this shift system does not exceed the maximum number of employees allowed in 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.

[0118] The sixth constraint relates to 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 sixth 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 sixth 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 sixth constraint a nonlinear constraint. In contrast, in the first example of the sixth 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.

[0119] In the seventh 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.

[0120] 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.

[0121] 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.

[0122] 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.

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

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

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

[0126] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0127] Second constraint: For j∈J requires that the following conditions be met:

[0128] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0130] 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.

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

[0132] Objective function: Min.dev max

[0133] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0134] Second constraint: For j∈J requires that the following conditions be met:

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

[0136] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0138] Sixth 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 ),

[0139] Seventh constraint: For Requirements must be met (a)

[0140] 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.

[0141] (3) Second Model (Optimizing Task Coverage)

[0142] Objective function:

[0143] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0144] Second constraint: For j∈J requires that the following conditions be met:

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

[0146] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0148] Sixth 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 ),

[0149] Seventh constraint: For Requirements must be met (a)

[0150] Based on the decision variable values ​​obtained from solving the second model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the second model can be used. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0151] 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.

[0152] 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.

[0153] Specifically, in the first model, the aforementioned first and second constraints are 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 and second constraints, a third constraint is also set, and the objective function is set to minimize the number of classes. The third 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.

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

[0155] 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 seventh constraint. The differences will be analyzed in detail below, while the similarities will not be elaborated upon.

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

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

[0158] Objective function:

[0159] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0160] Second constraint: For j∈J requires that the following conditions be met:

[0161] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0163] 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.

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

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

[0166] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0167] Second constraint: For j∈J requires that the following conditions be met:

[0168] Third constraint:

[0169] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0171] Sixth 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 ).

[0172] Based on the decision variable values ​​obtained from solving the second model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the second model can be used. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0173] The number of shifts can refer to the total number of shifts in use. When optimizing the number of shifts is used 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 seventh 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.

[0174] 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.

[0175] 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.

[0176] 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.

[0177] 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.

[0178] Specifically, in the first model, the aforementioned first and second constraints are set, and the objective function is set to minimize the input labor cost. In the second model, in addition to the aforementioned first and second constraints, a third 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 third constraint requires that the input labor cost not exceed the input labor cost corresponding to the solution result of the first model.

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

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

[0181] 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%.

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

[0183] Objective function:

[0184] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0185] Second constraint: For j∈J requires that the following conditions be met:

[0186] Second and fourth constraints: For Requirement ∑ i∈I x ij =1,

[0187] First and fifth constraints: For Requirement ∑ k∈K yik ≤1.

[0188] 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.

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

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

[0191] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0192] Second constraint: For j∈J requires that the following conditions be met:

[0193] Third constraint:

[0194] Second and fourth constraints: For Requirement ∑ i∈I x ij =1,

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

[0196] Sixth 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 ),

[0197] Seventh constraint: For Requirements must be met (a)

[0198] Based on the decision variable values ​​obtained from solving the second model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the second model can be used. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0199] 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.

[0200] 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 third 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.

[0201] The fourth constraint restricts the correspondence between the number of employees and tasks. Here, the second and fourth constraints further require that each task must be performed by an employee. In other words, the existence of the second and fourth constraints guarantees 100% task coverage. This is beneficial for accurately calculating the human resource cost required for all tasks to be performed.

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

[0203] In the first model, the fifth constraint was modified to a first fifth 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).

[0204] In the second model, the fifth constraint is modified to the second fifth 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.

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

[0206] 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.

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

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

[0209] Objective function:

[0210] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0211] Second constraint: For j∈J requires that the following conditions be met:

[0212] Second and fourth constraints: For The requirement is to satisfy ∑ i∈I x ij =1,

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

[0214] 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.

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

[0216] Objective function: Min.dev max

[0217] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0218] Second constraint: For j∈J requires that the following conditions be met:

[0219] Third constraint:

[0220] Second and fourth constraints: For The requirement is to satisfy ∑ i∈I x ij =1,

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

[0222] Sixth 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 ),

[0223] Seventh constraint: For Requirements must be met (a)

[0224] 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.

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

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

[0227] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij≤1,

[0228] Second constraint: For j∈J requires that the following conditions be met:

[0229] Third constraint: as well as

[0230] Second and fourth constraints: For The requirement is to satisfy ∑ i∈I x ij =1,

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

[0232] Sixth 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 ),

[0233] Seventh constraint: For Requirements must be met (a)

[0234] Based on the decision variable values ​​obtained from solving the second model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the second model can be used. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0235] 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.

[0236] 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.

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

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

[0239] 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 seventh constraint.

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

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

[0242] Objective function:

[0243] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0244] Second constraint: For j∈J requires that the following conditions be met:

[0245] Second and fourth constraints: For Requirement ∑ i∈I x ij =1,

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

[0247] 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.

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

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

[0250] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0251] Second constraint: For j∈J requires that the following conditions be met:

[0252] Third constraint:

[0253] Second and fourth constraints: For Requirement ∑ i∈I x ij =1,

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

[0255] Sixth 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 ).

[0256] Based on the decision variable values ​​obtained from solving the second model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the second model can be used. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0257] In some embodiments, specifying the task coverage rate may include specifying a lower limit of the task coverage rate, which may be any value less than or equal to 100% for example. This can avoid inefficiently investing too much manpower in pursuit of full task coverage. In practice, a task coverage rate of less than 100% (e.g., 80% - 90%) can usually meet the core operation requirements, and the remaining tasks (e.g., 10% - 20%) can be handled through temporary deployment, or the remaining tasks may be low-value tasks and thus can be abandoned. Therefore, by setting the lower limit of the task coverage rate, over-allocation of human resources can be avoided.

[0258] It can be understood that the first example, the second example, and the third example of the precise measurement mode described above can all be modified to adapt to the situation of the specified lower limit of the task coverage rate. This can be achieved, for example, by adjusting the constraint conditions related to the task coverage rate in the first model for optimizing the input labor cost that is solved first, and the remaining models (such as the second model) other than the first model do not need to be modified.

[0259] Specifically, in the first model, an eighth constraint can be further set, and the second and fourth constraints can be modified to the first and fourth constraints. The eighth constraint requires that the sum of the number of tasks performed by all employees is not less than a specified number, and the specified number is determined based on the specified lower limit of the task coverage rate. The first and fourth constraints require that each task be performed at most once.

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

[0261] First model (optimizing input labor cost)

[0262] Objective function:

[0263] First constraint: For mc ∈ MC, it is required to satisfy ∑ j∈mc x ij ≤ 1,

[0264] Second constraint: For j ∈ J, it is required to satisfy

[0265] First and fourth constraints: For it is required that ∑ i∈I x ij ≤ 1,

[0266] First and fifth constraints: For it is required that ∑ k∈K y ik ≤ 1,

[0267] The eighth constraint: For the specified lower limit q of task coverage rate, it is required that represents rounding down, and n represents the number of tasks.

[0268] Solving the first model gives the values of the decision variables 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 example, the second example, and the third example of the precise measurement model in the previous text, which will not be elaborated here.

[0269] Setting the first and fourth constraints allows some tasks not to be executed, that is, it does not force the task coverage rate to be 100%.

[0270] In the eighth constraint, ∑ i∈I ∑ j∈J x ij represents the sum of the number of tasks executed by all employees. q represents the specified lower limit of task coverage rate. Generally, q ≤ 100%. n represents the number of tasks, that is, the number of elements in the task set J. Then represents the minimum number of tasks that need to be covered (executed by employees), that is, the specified quantity. Since the mathematical result of q·n may be a decimal, the floor 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 needs, other methods such as the ceiling function, rounding, etc. can also be used to make the specified quantity an integer. By making the sum of the number of tasks executed by all employees greater than or equal to the specified quantity determined based on the specified lower limit of task coverage rate, the task coverage rate corresponding to the measured result can be made not lower than the specified lower limit of task coverage rate.

[0271] It can be understood that if additionally wanting to specify the upper limit of task coverage rate, the second and eighth constraints can be added. The second and eighth constraints require that the sum of the number of tasks executed by all employees is not greater than the specified quantity, and the specified quantity is determined based on the specified upper limit of task coverage rate. Correspondingly, it can be required that where q′ represents the specified upper limit of task coverage rate, and 0 < q ≤ q′ ≤ 100%. If alternatively wanting to specify the task coverage rate as a specific value, the third and eighth constraints can be used to replace the aforementioned eighth constraint. The third and eighth constraints require that the sum of the number of tasks executed by all employees is equal to the specified quantity, and the specified quantity is determined based on the specified value of task coverage rate. Correspondingly, it can be required that where q″″ Denote a specified value of task coverage rate, and \(0 < q''\leq100\%\). It can be understood that when \(q = q'\), the combination of the eighth constraint and the second eighth constraint can also be used to specify a specific value for the task coverage rate.

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

[0273] In some embodiments, the integer programming model includes a single model, and the objective function of the single model is set based on a combination of multiple objectives. In some examples, the multiple objectives include optimizing task coverage rate, optimizing labor hour utilization rate, optimizing labor hour distribution, and optimizing 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, the total duration of the shift pattern, and the maximum deviation value of the shift duration. In some other examples, the multiple objectives include optimizing task coverage rate, optimizing the number of shift patterns, and optimizing 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 patterns.

[0274] 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 rapid decision-making in regular operations. Therefore, it can also be referred to as the regular measurement mode in this article.

[0275] The regular measurement mode is suitable for finding a balance among multiple objectives. Exemplarily, the regular measurement mode can be used to generate a periodic shift schedule (such as monthly shift scheduling) that needs to balance the requirements of multiple parties, or to generate a trade-off plan that facilitates the airline management to visually compare different objectives (such as a conflicting objective group like the number of input personnel and the task coverage rate).

[0276] Exemplary rather than restrictive, for the case where the multiple objectives include optimizing task coverage rate, optimizing labor hour utilization rate, optimizing labor hour distribution, and optimizing input labor cost, a first example of the regular measurement mode can be implemented as follows.

[0277] Objective function:

[0278] The first constraint: For \(mc\in MC\) requires that \(\sum\) j∈mc \(x\) ij \(\leq1\),

[0279] The second constraint: For \(j\in J\) requires that

[0280] The fourth constraint: For requires that \(\sum\)i∈I x ij ≤1,

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

[0282] Sixth 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] Seventh constraint: For Requirements must be met (a)

[0284] Based on the decision variable values ​​obtained from solving the above model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the above model can be used as a basis. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0285] 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.

[0286] Objective function:

[0287] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0288] Second constraint: For j∈J requires that the following conditions be met:

[0289] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0291] Sixth 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 ).

[0292] Based on the decision variable values ​​obtained from solving the above model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the above model can be used as a basis. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

[0293] 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, an eighth constraint can be further set, requiring that the sum of the number of tasks performed by all employees is not less than a specified number, which is determined based on the specified lower limit for task coverage.

[0294] 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 an eighth constraint compared to the first example of the regular measurement pattern, provided that a lower limit for task coverage is specified.

[0295] Objective function:

[0296] First constraint: For mc∈MC must satisfy ∑ j∈mc x ij ≤1,

[0297] Second constraint: For j∈J requires that the following conditions be met:

[0298] Fourth constraint: For The requirement is to satisfy ∑ i∈I x ij ≤1,

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

[0300] Sixth 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 ),

[0301] Seventh constraint: For Requirements must be met (a)

[0302] Eighth constraint: For a given lower limit of task coverage q, the following requirements must be met.

[0303] Based on the decision variable values ​​obtained from solving the above model The correspondence between employee i and task j can be determined, and the decision variable values ​​obtained from solving the above model can be used as a basis. The correspondence between employee i and shift system k can be determined, thus enabling the scheduling of employee shifts.

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

[0305] On the other hand, this disclosure also provides a task-based employee scheduling device. Figure 2 A schematic block diagram of a task-based employee scheduling device 200 according to some embodiments of the present disclosure is shown. Figure 2 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 and shift coverage information for tasks. The construction module 204 is configured to construct an integer programming model by: setting constraints, including: setting a first constraint requiring employees not to perform conflicting tasks; setting a second constraint requiring employees performing tasks to execute shifts covering those tasks; and setting an objective function based on multiple objectives. The scheduling module 206 is configured to use the acquired information to solve the integer programming model to determine the correspondence between employees and tasks and the correspondence between employees and shifts, thereby scheduling employees.

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

[0307] 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 3As 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 task-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.

[0308] 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.

[0309] 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.

[0310] Figure 4This 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.

[0311] 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.

[0312] 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.

[0313] 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.

[0314] 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.

[0315] 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.

[0316] 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.

[0317] 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.

[0318] 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.

[0319] 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.

[0320] 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.

[0321] 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.

[0322] 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 task-based employee scheduling method for airport ground staff, comprising: Obtain task information and information on conflicts between tasks; Obtain employee information; Obtain information on class schedules and how class schedules cover tasks; Construct an integer programming model using the following operations: Set constraints, including: Set a first constraint that requires employees not to perform conflicting tasks. A second constraint is set, requiring employees performing tasks to work shifts covering the tasks; and Setting an objective function based on multiple objectives; and The acquired information is used to solve an integer programming model to determine the correspondence between employees and tasks, and between employees and shift schedules, thereby enabling employee scheduling. The task information includes the time information of each task to be executed; the task conflict information indicates that two or more tasks cannot or should not be executed by the same employee; the employee information includes information on available employees; the shift system information includes the time information of each shift system; and the shift system coverage information indicates the coverage of the shift system's time period with the task's time period. The mission information is generated based on airline information, estimated arrival time information, estimated departure time information, and aircraft type information. 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. 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.

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

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

4. The method according to claim 1, 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.

5. The method according to claim 4, 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 and the second constraint are 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, the second constraint, and the third constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum shift duration deviation. The third constraint requires that the total penalty for task not being covered is not greater than the total penalty for task not being covered corresponding to the solution result of the first model.

6. The method according to claim 5, wherein, In the first model, a fourth constraint and a fifth constraint are further set. The fourth constraint requires that each task be executed at most once, and the fifth constraint requires that each employee work one shift. In the second model, the fourth, fifth, sixth and seventh constraints are further set. The sixth constraint requires that employees be assigned to enabled shifts and not to enabled shifts. The seventh constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

7. The method according to claim 1, 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.

8. The method according to claim 7, 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 and the second constraint are 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, the second constraint, and the third constraint are set, and the objective function is set to minimize the number of classes. The third 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.

9. The method according to claim 8, wherein, In the first model, a fourth constraint and a fifth constraint are further set. The fourth constraint requires that each task be executed at most once, and the fifth constraint requires that each employee work one shift. In the second model, the fourth constraint, the fifth constraint, and the sixth constraint are further set. The sixth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

10. The method according to claim 1, 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.

11. The method according to claim 10, 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 and the second constraint are set, and the objective function is set to minimize the input human resource cost; as well as In the second model, the first constraint, the second constraint, and the third constraint are set, and the objective function is set to minimize the total shift duration and / or the maximum deviation of shift duration. The third constraint requires that the manpower cost invested should not be greater than the manpower cost corresponding to the solution result of the first model.

12. The method according to claim 11, wherein, In the first model, a fourth constraint and a first and fifth constraint are further defined. The fourth constraint requires that each task be executed once, and the first and fifth constraints require that each employee work at most one shift. In the second model, the fourth, second and fifth, sixth and seventh constraints are further set. The second and fifth constraints require each employee to perform one shift. The sixth constraint requires that employees be assigned to the enabled shifts and not to the disabled shifts. The seventh constraint requires that the deviation between the shift duration and the expected shift duration does not exceed the maximum shift duration deviation.

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

14. The method according to claim 1, 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.

15. The method according to claim 14, 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 and the second constraint are set, and the objective function is set to minimize the input human resource cost; as well as In the second model, the first constraint, the second constraint, and the third constraint are set, and the objective function is set to minimize the number of classes. The third constraint requires that the manpower cost invested should not be greater than the manpower cost corresponding to the solution result of the first model.

16. The method according to claim 15, wherein, In the first model, a fourth constraint and a first and fifth constraint are further defined. The fourth constraint requires that each task be executed once, and the first and fifth constraints require that each employee work at most one shift. In the second model, the fourth constraint, the second fifth constraint, and the sixth constraint are further set. The second fifth constraint requires each employee to perform one shift. The sixth constraint requires that employees be assigned to enabled shifts and that employees not be assigned to disabled shifts.

17. The method according to claim 15, wherein, In the first model, a first fourth constraint, a first fifth constraint, and an eighth constraint are further defined. The first fourth constraint requires that each task be executed at most once; the first fifth constraint requires that each employee work at most one shift; and the eighth constraint requires that the sum of the number of tasks executed by all employees is not less than a specified number, which is determined based on a specified task coverage lower limit. In the second model, a second fourth constraint, a second fifth constraint, and a sixth constraint are further set. The second fourth constraint requires that each task be executed once, the second fifth constraint requires that each employee assigned to the task perform one shift, and the sixth constraint requires that employees be assigned to enabled shifts and not to enabled shifts.

18. The method according to claim 1, wherein, The employee information includes an estimated number of people required to perform all tasks in the task information, the estimated number of people being determined based on the shortest shift duration in the shift information.

19. The method according to claim 18, wherein, The estimated number of people was 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.

20. A task-based employee scheduling device for airport ground staff, comprising: The acquisition module is configured as follows: Obtain task information and information on conflicts between tasks; Obtain employee information; as well as Obtain information on class schedules and how class schedules cover tasks; The building module is configured to construct integer programming models by: Set constraints, including: Set a first constraint that requires employees not to perform conflicting tasks. A second constraint is set, requiring employees performing tasks to work shifts covering the tasks; 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 tasks, and between employees and shift schedules, thereby scheduling employees. The task information includes the time information of each task to be executed; the task conflict information indicates that two or more tasks cannot or should not be executed by the same employee; the employee information includes information on available employees; the shift system information includes the time information of each shift system; and the shift system coverage information indicates the coverage of the shift system's time period with the task's time period. The mission information is generated based on airline information, estimated arrival time information, estimated departure time information, and aircraft type information. 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. 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.

21. 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 of any one of claims 1 to 19.

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

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