Task-based employee scheduling method and related device

By constructing a multi-objective integer programming model, the scheduling of airport ground staff was optimized, which solved the problem of uneven distribution of human resources in traditional scheduling methods, improved the efficiency of airport ground staff work and employee satisfaction, and ensured service quality and safety.

CN120911869AActive Publication Date: 2025-11-07CHINA EASTERN AIRLINES CO LTD +2
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511045547.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-28
Publication Date
2025-11-07
Estimated Expiration
2045-07-28

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, time utilization and time distribution are optimized, and the integer programming model solver is combined to make reasonable allocation of employees and tasks.

Benefits of technology

Based on multi-dimensional optimization, this has improved the efficiency of airport ground handling operations and employee satisfaction, reduced waste of human resources, and ensured service quality and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120911869A_ABST
    Figure CN120911869A_ABST
Patent Text Reader

Abstract

The invention provides a task-based employee scheduling method and a related device. The task-based employee scheduling method comprises the following steps: acquiring task information and inter-task conflict information; employee information is acquired; acquiring class system information and coverage information of a class system on a task; constructing an integer programming model by setting constraints and a target function, the constraints including a first constraint and a second constraint, the first constraint requiring employees not to execute mutually conflicting tasks, the second constraint requiring employees executing the tasks to execute a shift system covering the tasks, the target function being based on a plurality of target settings; and solving an integer programming model by using the obtained information to determine corresponding information of the employees and the tasks and corresponding information of the employees and the class system, thereby arranging the class for the 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

[0002] The scheduling of airport ground staff directly affects the efficiency of airport operation, service quality, and operating costs. Ground work (check-in, baggage handling, aircraft guiding, cleaning, refueling, etc.) needs to be strictly synchronized with flight schedules, and any delay in any link can cause a chain reaction. Reasonable scheduling can ensure that manpower is in place in time and avoid service gaps. SUMMARY

[0003] According to a first aspect of the present disclosure, a task-based employee scheduling method is provided. The method includes obtaining task information and inter-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 setting constraints, including setting a first constraint requiring that employees cannot perform tasks that conflict with each other and a second constraint requiring that employees performing tasks perform shifts that cover 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 employee-task correspondence information and employee-shift correspondence information, thereby scheduling employees.

[0004] In some embodiments, the integer programming model includes a plurality of models to be solved in sequence, and the objective function of each model in the plurality of models is set based on a combination of a respective one or more objectives in the plurality of objectives, wherein the constraint of a later-solved model in the plurality of models is set based on the objective function value of a previously-solved model in the plurality of models for solving the later-solved model.

[0005] In some embodiments, the solving order of the plurality of models is determined based on the priority of the objectives corresponding to the respective models.

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

[0007] In some embodiments, in the case of a specified maximum labor cost, the plurality of objectives includes optimizing task coverage, optimizing work hour utilization, and optimizing work hour distribution, and the objective function of the first-solved model in the plurality of models is set based on optimizing task coverage.

[0008] In some embodiments, the plurality of models comprises 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 an objective function is set to target at minimizing a total penalty of uncovered tasks, and in the second model, the first constraint, the second constraint and a third constraint are set and the objective function is set to target at minimizing a total length of shifts and / or a maximum deviation value of shift lengths, the third constraint requiring that the total penalty of uncovered tasks is not greater than the total penalty of uncovered tasks corresponding to a solution result of the first model.

[0009] In some embodiments, in the first model, a fourth constraint and a fifth constraint are further set, the fourth constraint requiring that each task is performed at most once, and the fifth constraint requiring that each employee performs one shift, and in the second model, the fourth constraint, the fifth constraint, a sixth constraint and a seventh constraint are further set, the sixth constraint requiring that an employee is assigned to an enabled shift and is not assigned to a disabled shift, and the seventh constraint requiring that a deviation of a shift length from an expected shift length does not exceed a maximum shift length deviation.

[0010] In some embodiments, in a case where a maximum labor cost is specified, the plurality of objectives comprises optimizing task coverage, optimizing a number of shifts, wherein an objective function of a model solved first among the plurality of models is set based on optimizing task coverage.

[0011] In some embodiments, the plurality of models comprises 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 an objective function is set to target at minimizing a total penalty of uncovered tasks. In the second model, the first constraint, the second constraint and a third constraint are set and the objective function is set to target at minimizing a number of shifts, the third constraint requiring that the total penalty of uncovered tasks is not greater than the total penalty of uncovered tasks corresponding to a solution result of the first model.

[0012] In some embodiments, in the first model, a fourth constraint and a fifth constraint are further set, the fourth constraint requiring that each task is performed at most once, and the fifth constraint requiring that each employee performs one shift. In the second model, the fourth constraint, the fifth constraint and a sixth constraint are further set, the sixth constraint requiring that an employee is assigned to an enabled shift and is not assigned to a disabled shift.

[0013] In some embodiments, in the case of a specified task coverage, the plurality of objectives comprises optimizing work hour utilization, optimizing work hour distribution, and optimizing input manpower cost, wherein an objective function of a first solved model in the plurality of models is set based on optimizing input manpower cost.

[0014] In some embodiments, the plurality of models comprises a first model in which the first constraint and the second constraint are set and an objective function is set to target minimizing input manpower cost, and a second model in which the first constraint, the second constraint, and a third constraint are set and an objective function is set to target minimizing total length of shifts and / or a maximum deviation value of shift length, the third constraint requiring input manpower cost to be no more than input manpower cost corresponding to a solution result of the first model.

[0015] In some embodiments, in the first model, a fourth constraint requiring each task to be performed once and a first fifth constraint requiring each employee to perform at most one shift are further set, and in the second model, the fourth constraint, a second fifth constraint requiring each input employee to perform one shift, a sixth constraint requiring employees to be assigned to enabled shifts and not to be assigned to disabled shifts, and a seventh constraint requiring deviation of shift length from expected shift length to be no more than a maximum shift length deviation are further set.

[0016] In some embodiments, in the first model, a first fourth constraint requiring each task to be performed at most once, a first fifth constraint requiring each employee to perform at most one shift, and an eighth constraint requiring a sum of the number of tasks performed by all employees to be no less than a specified number, the specified number being determined based on a specified task coverage lower limit, are further set. In the second model, a second fourth constraint requiring each task to be performed once, a second fifth constraint requiring each input employee to perform one shift, a sixth constraint requiring employees to be assigned to enabled shifts and not to be assigned to disabled shifts, and a seventh constraint requiring deviation of shift length from expected shift length to be no more than a maximum shift length deviation are further set.

[0017] In some embodiments, in the case of a specified task coverage, the plurality of objectives comprises optimizing input manpower cost and optimizing number of shifts, wherein an objective function of a first solved model in the plurality of models is set based on optimizing input manpower cost.

[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 an objective function is set to target minimizing the input manpower cost. In the second model, the first constraint, the second constraint, and a third constraint are set, and the objective function is set to target minimizing the number of shifts, the third constraint requiring the input manpower cost to be no more than the input manpower cost corresponding to the solution of the first model.

[0019] In some embodiments, in the first model, a fourth constraint and a first fifth constraint are further set, the fourth constraint requiring each task to be performed once, and the first fifth constraint requiring each employee to perform at most one shift. In the second model, the fourth constraint, a second fifth constraint, and a sixth constraint are further set, the second fifth constraint requiring each input employee to perform one shift, and the sixth constraint requiring employees to be assigned to enabled shifts and not to disabled shifts.

[0020] In some embodiments, in the first model, a first fourth constraint, a first fifth constraint, and an eighth constraint are further set, the first fourth constraint requiring each task to be performed at most once, the first fifth constraint requiring each employee to perform at most one shift, and the eighth constraint requiring the sum of the number of tasks performed by all employees to be no less than a specified number, the specified number determined based on a specified task coverage lower bound. In the second model, a second fourth constraint, a second fifth constraint, and a sixth constraint are further set, the second fourth constraint requiring each task to be performed once, the second fifth constraint requiring each input employee to perform one shift, and the sixth constraint requiring employees to be assigned to enabled shifts and not to disabled shifts.

[0021] In some embodiments, the integer programming model includes a single model, and an 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 includes optimizing task coverage, optimizing man-hour utilization, optimizing man-hour distribution, and optimizing input manpower cost.

[0023] In some embodiments, the objective function is set to target minimizing the input manpower cost, a total penalty of tasks not covered, and a sum of shift total duration and maximum deviation of 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 requiring each task to be performed at most once, the fifth constraint requiring each employee to perform at most one shift, the sixth constraint requiring employees to be assigned to enabled shifts and not to disabled shifts, and the seventh constraint requiring a deviation of a shift length from an expected shift length to be no more than a maximum shift length deviation.

[0025] In some embodiments, an eighth constraint is further provided, the eighth constraint requiring a sum of a number of tasks performed by all employees to be no less than a specified number, the specified number being determined based on a specified task coverage lower bound.

[0026] In some embodiments, the plurality of objectives comprises optimizing task coverage, optimizing a number of shifts, and optimizing an input labor cost.

[0027] In some embodiments, the objective function is set to target at minimizing the input labor cost, a total penalty of tasks not covered, and a sum of a number of shifts.

[0028] In some embodiments, a fourth constraint, a fifth constraint, and a sixth constraint are further provided, the fourth constraint requiring each task to be performed at most once, the fifth constraint requiring each employee to perform at most one shift, and the sixth constraint requiring employees to be assigned to enabled shifts and not to disabled shifts.

[0029] In some embodiments, an eighth constraint is further provided, the eighth constraint requiring a sum of a number of tasks performed by all employees to be no less than a specified number, the specified number being determined based on a specified task coverage lower bound.

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

[0031] In some embodiments, the estimated number of people is determined by: obtaining a minimum shift length and a task list; creating a list of employees, which is initialized as empty; for each task in the task list: for each employee in the list of employees, determining whether the employee can perform the task based on time information of the task, the minimum shift length, and shift time information of the employee; in a case that there is an employee in the list of employees who can perform the task, scheduling the employee to perform the task and updating the shift time information of the employee based on time information of the task; or in a case that all employees in the list of employees cannot perform the task, adding a new employee to the list of employees, scheduling the new employee to perform the task, and updating the shift time information of the new employee based on time information of the task; in a case that all tasks in the task list are scheduled to be performed by employees, determining the number of employees in the list of employees as the estimated number of people.

[0032] According to a second aspect of the present disclosure, there is provided a task-based employee scheduling apparatus. The apparatus comprises an obtaining module, a constructing module, and a scheduling module. The obtaining module is configured to: obtain task information and inter-task conflict information; obtain employee information; and obtain shift information and shift coverage information for tasks. The constructing module is configured to construct an integer programming model by: setting constraints, including setting a first constraint requiring that an employee cannot perform tasks that conflict with each other and setting a second constraint requiring that an employee performing a task performs a shift that covers the task; and setting an objective function based on a plurality of objectives. The scheduling module is configured to solve the integer programming model using the obtained information to determine correspondence information of employees and tasks and correspondence information of employees and shifts, thereby scheduling employees.

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

[0034] According to a fourth aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform the method according to any one of the embodiments of the first aspect of the present disclosure.

[0035] According to a fifth aspect of the present disclosure, there is provided a computer program product comprising instructions which, when executed by a processor, implement the method according to any one of the embodiments of the first aspect of the present disclosure.

[0036] Other features of the present disclosure, which are believed to be novel, are set forth in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure, as claimed. BRIEF DESCRIPTION OF DRAWINGS

[0037] The foregoing and other features and advantages of the present disclosure will become more apparent from the following detailed description of exemplary embodiments of the present disclosure, when considered in conjunction with the accompanying drawings.

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

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

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

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

[0042] Note that, in the following embodiments, the same reference numbers are used in different drawings to represent the same or similar parts or parts having the same function, and repetitive explanation thereof is omitted. In the present specification, like numbers and letters represent like items, and once an item is defined in one drawing, further discussion of the same item is unnecessary in subsequent drawings.

[0043] For ease of understanding, the positions, sizes, ranges, and the like of the structures shown in the drawings and the like are sometimes not actual positions, sizes, ranges, and the like. Therefore, the disclosed invention is not limited to the positions, sizes, ranges, and the like disclosed in the drawings and the like. Further, the drawings are not necessarily drawn to scale, and some features can be exaggerated to show details of specific components. DETAILED DESCRIPTION

[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 the relative arrangement of components and steps, numerical expressions, and numerical values set forth in these embodiments are not limiting to the scope of the present disclosure unless otherwise specifically stated.

[0045] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way limiting to the scope of the disclosure, its application or uses. Any procedural steps, numerical expressions and numerical values set forth in these embodiments are for illustration only and are not exhaustive.

[0046] Techniques, methods, and apparatus known to those of ordinary skill in the relevant art(s) can not be discussed in any detail since they can be readily understood from the disclosure and are considered part of the present description.

[0047] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not limiting. Thus, other examples of the exemplary embodiments can 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, and thus, once a variable is defined in an embodiment, it need not be repeated in subsequent embodiments.

[0049] Traditional scheduling methods usually only focus on basic task guarantee, and it is difficult to fully consider the needs of different dimensions, resulting in the scheduling results often being one-sided. For example, the airport business volume fluctuates greatly (such as morning and evening peak, seasonal passenger flow), and the traditional scheduling is prone to problems of idle manpower waste and busy manpower shortage. In addition, unreasonable scheduling (such as continuous night shift, overtime work, uneven distribution of working hours among employees) will lead to employee burnout and complaints, affecting service quality and safety. Compliant shift system (which can be referred to as shift system in this document) is required by labor regulations and is also a key to employee retention.

[0050] To this end, the present disclosure provides a task-based employee scheduling method and related device. The present disclosure uses operations research techniques to establish a multi-objective integer programming model based on task assignment, considering multiple factors in the optimization objective of the model, thereby reasonably scheduling employees.

[0051] The task-based employee scheduling method according to various embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It can be understood that the actual method can also include other steps, and in order to avoid obscuring the points of the present disclosure, the drawings do not show and this document does not discuss these other steps.

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

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

[0054] ​The task information can include time information of each task to be performed. The time information of a task can include, for example, a start time and an end time of the task, a start time and a duration of the task, or an end time and a duration of the task. In addition, the task information can also include identification information, location information, type information, and the like of the task. For example, the task information can be generated based on information such as an airline, an estimated time of arrival, an estimated time of departure, a type of aircraft, and the like.

[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, inter-task conflict can be that the time periods of the tasks overlap, for example, the start time of one task is earlier than the end time of another task. Further, in the case where the locations of the tasks can be obtained, the moving time of the employee between the locations of the tasks can also be considered. In other words, if the time difference between the start time of one task and the end time of another task is less than the moving time between the locations of the two tasks, it is considered that the two tasks conflict. Inter-task conflict can also be caused by a duty conflict, that is, an employee is assigned to mutually exclusive or incompatible role duties. For example, there is a conflict between an aircraft maintenance task and a signature release task. In some embodiments, the inter-task conflict information can be obtained directly. In some embodiments, the inter-task conflict information can be determined based on the time information of the tasks. Further, the inter-task conflict information can also be determined based on the location information and / or type information of the tasks, and the like.

[0056] In step S104, employee information is obtained. For example, the employee information can include information of each employee who can be involved, such as identification information, qualification information, attendance and leave information, and the like.

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

[0058] The shift information can include time information of each shift. The time information of a shift can include, for example, a start time and an end time of the shift, a start time and a shift length of the shift, or an end time and a shift length of the shift. The lengths of different shifts can be the same or different. For example, the length of some shifts is 6 hours, while the length of some other shifts is 8 hours. There can be overlaps between the time periods of different shifts, for example, one shift is from 6 AM to 2 PM, and another shift is from 7 AM to 3 PM. The misalignment between the time periods of different shifts can be referred to as time granularity. In the above example, the time granularity is one hour (7 AM is one hour later than 6 AM). Generally, the union of the time periods of the multiple shifts in the shift information achieves 24-hour coverage. It can be appreciated that the finer the time granularity, the more the number of shifts included in the shift information, and the more accurate the result of the human resource estimation.

[0059] The coverage information of a shift to a task can refer to the coverage of the time period of the shift to the time period of the task. If the start time of the task is not earlier than the start time of the shift, and the end time of the task is not later than the end time of the shift, then the shift is considered to cover the task.

[0060] In some embodiments, the employee information includes an estimated number of employees required to perform all the tasks in the task information, the estimated number of employees being determined based on the shortest shift length in the shift information. For example, the number m of elements in the employee set I to be described later can be the estimated number of employees.

[0061] In some embodiments, the estimated number of employees is determined by the following operations. The shortest shift length and the task list are obtained. An employee list is created, which is initialized to be empty. For each task in the task list: for each employee in the employee list, it is determined whether the employee can perform the task based on the time information of the task, the shortest shift length, and the scheduling time information of the employee. In the case that there is an employee in the employee list who can perform the task, the employee is arranged to perform the task, and the scheduling time information of the employee is updated based on the time information of the task; or in the case that all the employees in the employee list cannot perform the task, a new employee is added to the employee list, the new employee is arranged to perform the task, and the scheduling time information of the new employee is updated based on the time information of the task. In the case that all the tasks in the task list are arranged to be performed by employees, the number of employees in the employee list is determined as the estimated number of employees.

[0062] By way of example and not limitation, an example of the method of determining the estimated number of employees can be implemented as the following pseudo code.

[0063] Given: task list (task_list), shortest shift length (p min )

[0064]

[0065]

[0066] After the loop For j in task_list ends, the number of elements in the worker list worker_list is the estimated number of people.

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

[0068] Exemplarily, a first constraint can be set. The first constraint requires that an employee cannot perform tasks that conflict with each other, so that the direct usability of the scheduling result can be improved, and the workload of subsequent manual intervention can be reduced or eliminated.

[0069] Exemplarily, a second constraint can be set. The second constraint requires that an employee performing a task performs a shift that covers the task, and the second constraint is a coupling constraint that ensures a reasonable match between the shift and the task, which can also improve the direct usability of the scheduling result and reduce or eliminate the workload of subsequent manual intervention. It can be understood that other more constraints can also be additionally imposed according to the desired scheduling effect, which will be described in more detail below.

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

[0071] In step S110, the integer programming model is solved using the obtained information (task information, task conflict information, employee information, shift information, and shift coverage information for tasks) to determine the corresponding information of employees and tasks and the corresponding information of employees and shifts, thereby scheduling employees. For example, model decision variables representing the correspondence between each employee in the employee set and each task in the task set can be solved, and model decision variables representing the correspondence between each employee in the employee set and each shift in the shift set can be solved, thereby obtaining an employee scheduling scheme.

[0072] The specific solution method of the integer programming model is not particularly limited herein. It can be understood that any suitable solution method known at present or developed later for the integer programming model can be applied. For example, the currently most commonly used solution methods include enumeration method, cutting plane method, branch and bound method, graph theory method, binary development method, etc. In addition, the integer programming model constructed herein can be input into any suitable solver known at present or developed later for the integer programming model for solution, and the solver intelligently selects the most suitable algorithm for the model to give an optimal solution or a feasible solution. The solver usually integrates most of the currently top algorithms, and has many small tricks inside to accelerate the solution, which often has good effects for general integer programming problems. For example, the current commercial solvers include Gurobi, COPT, SCIP / spx, Matlab, etc., and the open source solvers include CBC, GLPK, LP_SOLVE, etc.

[0073] The integer programming model provides mathematical accuracy for staff scheduling, as it can explicitly consider all constraints and find the optimal solution. By constructing a target function including multiple targets, the model can quantitatively evaluate the pros and cons of different scheduling schemes from multiple dimensions. In the case of sufficient time, the global optimal solution of the integer programming model can be obtained. In the case of insufficient time, modern solvers (such as the branch and bound method) can also provide a theoretical upper bound or lower bound between the feasible solution and the optimal solution, so as to evaluate the quality of the current solution.

[0074] Next, the setting method of the target function is described in detail.

[0075] In some embodiments, the integer programming model includes a plurality of models to be solved in sequence, and a target function of each model of the plurality of models is set based on a combination of a respective one or more targets of the plurality of targets. In particular, a constraint of a model of the plurality of models solved later is set based on a target function value of a model of the plurality of models solved earlier for solving the model solved later.

[0076] In other words, the present disclosure provides a hierarchical optimization framework in which multiple targets are disassembled and distributed to multiple models with a solution sequence. Each model is responsible for optimizing a respective one or more targets. The later models handle the targets not covered by the earlier models, and the consistency of the solution is guaranteed by constraint transmission. Finally, the joint optimization of all models covers all targets.

[0077] Such model and objective function setting method convert the complex multi-objective optimization problem into a series of single-objective optimization problems, thus effectively guiding the solving process, so that the final solution tends to be the Pareto optimal solution, i.e. in the balanced state between multiple objectives, it is impossible to further improve a certain objective without sacrificing other objectives. In addition, since each subsequent model is imposed with constraints set based on the solution of the previous model, the solution of the subsequent model is affected by the previous decision, thus avoiding large-scale jumps in the global search process. This incremental convergence strategy effectively reduces the number of invalid solutions in the search space, improves the efficiency of the algorithm, and enables each solution to gradually approach the global optimal solution. Moreover, each model only considers one objective or a combination of a few objectives, which reduces the complexity of solving each model.

[0078] In some examples, the solving order of the plurality of models can be determined based on the priority of the objectives corresponding to the models respectively. The priority of the objectives can be determined according to business needs, management strategies, and other factors. By solving the models in the order of the priority of the objectives, the high-priority objectives can be satisfied first, and the secondary objectives can be gradually optimized. The solution of the previous model limits the search space of the subsequent model, avoiding the degradation of high-priority objectives when optimizing secondary objectives.

[0079] For example, the objective function of the first model solved in the plurality of models can be set based on only the highest-priority objective. By prioritizing the optimization of the most important objective, the initial solving process can be simplified, enabling the model to focus on the most critical issues and avoiding premature involvement of other objectives, thereby improving the efficiency and accuracy of the solution.

[0080] As a non-limiting example, in the case of specifying a maximum labor cost, the plurality of objectives can include optimizing task coverage, and can further include optimizing work hour utilization and optimizing work hour distribution, or include optimizing the number of shifts. In such an embodiment, the objective function of the first model in the plurality of models is set based on optimizing task coverage. Since the number of people involved is known in this case, the goal is to reasonably distribute tasks under the condition of a fixed number of people, such model can be referred to as a shift scheduling model herein.

[0081] The application scenarios of the shift scheduling model may, for example, include but are not limited to: scheduling for a stable-scale ground crew to maximize the utilization of existing manpower; scheduling only for selected part of the employees to ensure regular tasks, leaving part of the employees as emergency manpower to deal with unexpected demand; re-distributing tasks among existing idle personnel for temporarily increased flights or emergency tasks; and the like.

[0082] For ease of discussion, the first model solved in the plurality of models can be referred to as the first model, and the model solved after the first model can be referred to as the second model.

[0083] For the purpose of illustration, a first example of the scheduling model is given below. In this example, the highest priority goal is to optimize the task coverage, therefore the objective function of the first model is set based on this goal. The remaining lower priority goals (optimizing the man-hour utilization, optimizing the man-hour distribution) are set as the optimization objectives of the second model, and the constraints related to the task coverage are set in the second model.

[0084] Specifically, in the first model, the aforementioned first constraint and second constraint are set, and the objective function is set to target at minimizing the total penalty of uncovered tasks. In the second model, in addition to setting the aforementioned first constraint and second constraint, a third constraint is set, and the objective function is set to target at minimizing the total length of the shift schedule and / or the maximum deviation value of the length of the shift schedule. The third constraint requires that the total penalty of uncovered tasks is not greater than the total penalty of uncovered tasks corresponding to the solution result of the first model.

[0085] From the perspective of the objective function, the first model is used to optimize the task coverage. In this context, the task coverage can refer to the proportion of the number of tasks arranged to be executed (i.e., covered) to the total number of tasks. Since the total number of tasks is fixed in the same scheduling, the number of covered tasks can directly reflect the task coverage. By targeting at minimizing the number of uncovered tasks, the task coverage can be optimized.

[0086] Since directly optimizing the task coverage (i.e., minimizing the number of uncovered tasks) can be difficult to reflect the task priority, a task uncovered penalty coefficient can be introduced to distinguish the task priority: a high-penalty task represents an important task with a higher omission cost, and if it is not covered, it will significantly increase the objective function value, so the model will prioritize to ensure the completion of such tasks. Such objective function design not only considers the number of coverage, but also ensures the completion of high-priority tasks through the penalty coefficient. It can be understood that when all task penalty coefficients are the same, the objective function degenerates to directly maximize the task coverage.

[0087] As mentioned above, the objective function of the second model can be set to target at minimizing the total length of the shift schedule, or can be set to target at minimizing the maximum deviation value of the length of the shift schedule, or can be set to target at minimizing the total length of the shift schedule and the maximum deviation value of the length of the shift schedule. For the purpose of description and understanding, the specific setting of the objective function and the constraint condition will be mainly described in detail below by taking the second model for optimizing the total length of the shift schedule and the maximum deviation value of the length of the shift schedule as an example, but 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 the utilization of working hours can be achieved by minimizing the total length of shifts. The total length of shifts refers to the sum of the lengths of shifts performed by all input staff. The smaller the total length of shifts, the fewer the total input working hours, i.e., the higher the utilization of working hours. Similarly, optimizing the distribution of working hours can be achieved by minimizing the maximum deviation value of shift length. The deviation value of shift length refers to the absolute value of the difference between the length of each shift and the expected length, and the maximum deviation value reflects the most serious deviation from the expectation among all shifts. Minimizing this indicator can effectively control the length difference between shifts, making the distribution of working hours more reasonable and balanced.

[0089] Additionally, in the first model, a fourth constraint and a fifth constraint can be further set, the fourth constraint requiring each task to be performed at most once, and the fifth constraint requiring each staff to perform a shift. In the second model, the fourth constraint and the fifth constraint can also be further set, and a sixth constraint and a seventh constraint can also be set, the sixth constraint requiring staff to be assigned to enabled shifts and not to be assigned to disabled shifts, and the seventh constraint requiring the deviation of shift length from the expected shift length to be no more than the maximum shift length deviation.

[0090] The fourth constraint is used to limit the correspondence between staff and tasks in terms of quantity. Here, the fourth constraint can avoid repeated allocation of tasks and ensure reasonable allocation of resources. The fifth constraint is used to limit the correspondence between staff and shifts in terms of quantity. Here, the fifth constraint requires a shift to be assigned to all staff input into the model. In other words, the presence of the fifth constraint converts the maximum labor cost set by the business layer into a model input parameter, and also ensures that the labor input reaches the maximum allowed value. The sixth constraint can improve the solution efficiency of the integer programming model and the practicality of the staff scheduling result by assigning staff to shifts according to their enabled state. The seventh constraint can promote the balanced distribution of working hours.

[0091] By way of example and not limitation, the first example of the scheduling mode can be implemented as follows.

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

[0093] Objective function:

[0094] First constraint: for mc∈MC requires that j∈mc x ij ≤1,

[0095] Second constraint: for j∈J requires that

[0096] Fourth constraint: for requires that 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] According to the decision variable values obtained by solving the second model The correspondence information between employee i and task j can be determined, and according to the decision variable values obtained by solving the second model The correspondence information between employee i and shift k can be determined, so that the employees can be scheduled.

[0109] Here, the Min. function is used to find the minimum value. J represents the task set of task j, J = {1,..., n} (n represents the number of tasks). represents the penalty coefficient of task j not being covered. I represents the employee set of employee i, I = {1,..., m} (m indicates the number of employees).

[0110] 1-∑ i∈I x ij Used to indicate whether task j is not performed by any employee, with a value of 1 indicating that no employee performs task j, and a value of 0 indicating that there is an employee performing task j. represents the total penalty of all uncovered tasks in the current solution. It can be understood that when the penalties for different tasks not being covered are not distinguished, we can let Thus, the objective function of the first model is simplified to

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

[0112] In the first constraint, MC represents the conflict task set of conflict task group mc. It can be understood that the element conflict task group mc in the conflict task set MC can be a set including tasks j that conflict with each other. ∑ j∈mc x ij represents how many tasks that conflict with each other will be performed by employee i. The constraint ∑ j∈mc x ij ≤1 means that employee i at most performs one task in conflict task group mc, i.e., the employee does not perform tasks that conflict with each other.

[0113] In the second constraint, K j represents the covering shift set of shift k covering task j. represents how many shift k that can cover task j are assigned to employee i. Excluded the case that employee i performs task j (x ij = 1) but does not perform the shift that covers task j

[0114] In the third constraint, tc uncover represents the upper bound of the total penalty of uncovered tasks. tc unconver is the total penalty of uncovered tasks corresponding to the solution of the first model. This constraint ensures that the total penalty of uncovered tasks (left side) does not exceed the value after the optimization of the first model (right side) when the second model is solved, thereby ensuring that the solution of the second model does not deteriorate the task coverage compared to the solution of the first model.

[0115] In the fourth constraint, ∑ i∈I x ij represents how many employees perform task j. The constraint ∑ i∈I x ij ≤ 1 means that at most one employee performs task j.

[0116] In the fifth constraint, ∑ k∈K y ik represents how many shifts employee i performs. The constraint ∑ k∈K y ik = 1 means that employee i needs to perform one shift.

[0117] In the sixth constraint, m k represents the upper limit of the number of people in shift k. In some embodiments, m k can be equal to the number of employees m. m k may also be set based on business rules or historical data. ∑ i∈ I y ik represents the total number of employees performing shift k. When shift k is enabled: 1 - m k · (1 - u k ) = 1, thus requiring ∑ i∈I y ik ≥ 1, i.e., at least one employee performs the enabled shift k; m k · u k = m k , thus requiring ∑ i∈I y ik ≤ m k , i.e., the number of employees performing the shift does not exceed the upper limit of the number of people in shift k. When shift k is not enabled, m k · u k = 0, thus requiring ∑ i∈I y ik ≤ 0, i.e., no employee performs the disabled shift k.

[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 equation (a), when the length of shift k p k is not equal to the expected shift length p exp , the model uses variables and to absorb the difference. In other words, equation (a) is used to calculate the deviation of the length of each shift from the expected shift length. Equations (b) and (c) then determine the maximum deviation dev max based on the deviations of the lengths of all shifts, so that the lengths of individual shifts can be balanced by minimizing dev max .

[0120] In the scheduling mode, other objectives than optimizing task coverage can also be set as the highest priority objective. Additionally or alternatively, the number of second models can be multiple, each of the multiple second models being used to optimize each of the multiple lower priority objectives.

[0121] For illustrative purposes, a second example of the scheduling mode is given below. In this example, the highest priority objective is to optimize the man-hour utilization rate, and the lower priority objectives include optimizing the man-hour distribution and optimizing the task coverage. Therefore, the optimization objective of the first model is to optimize the man-hour utilization rate. The model includes two second models, the optimization objective of the first second model is to optimize the man-hour distribution, and the optimization objective of the second second model is to optimize the task coverage, the first second model being solved before the second second model.

[0122] For brevity, when the specific expression of a constraint condition or an objective function is not explicitly defined, it can be implemented by referring to the relevant mathematical expression form described in the foregoing embodiments. Similarly, when a parameter is not explicitly defined, it can be interpreted by referring to the relevant parameter meaning described in the foregoing embodiments.

[0123] By way of example and not limitation, the second example of the scheduling mode can be implemented as follows.

[0124] (1) First model (optimizing the man-hour utilization rate)

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

[0126] First constraint: for mc∈MC requires satisfying∑ j∈mc x ij ≤1,

[0127] Second constraint: for j∈J requires satisfying

[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 (a) is required to be satisfied

[0140] The objective function value of the first second model is which will be applied to the second second model in the form of constraints, so as to ensure that the solution result of the second second model will not deteriorate the man-hour distribution.

[0141] (3) The second second model (optimization task coverage)

[0142] Objective function:

[0143] First constraint: for mc∈MC requires that j∈mc x ij ≤1,

[0144] Second constraint: for j∈J requires that

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

[0146] Fourth constraint: for requires that i∈I x ij ≤1,

[0147] Fifth constraint: for requires that k∈K y ik =1,

[0148] Sixth constraint: for requires that i∈I y ik ≤m k ·u k and i∈I y ik ≥1-m k ·(1-u k ),

[0149] Seventh constraint: for requires that

[0150] According to the decision variable value obtained by solving the second second model The correspondence information between the worker i and the task j can be determined, and the decision variable value obtained by solving the second second model The correspondence information between the worker i and the shift k can be determined, so that the workers can be scheduled.

[0151] In the scheduling mode, other objectives other than optimizing the utilization of man-hours and optimizing the distribution of man-hours can also be considered. For example, when it is desired to unify the shifts as much as possible to improve the practical operability of the scheduling result, the objective of optimizing the number of shifts can be considered.

[0152] For the purpose of illustration, a third example of the scheduling mode is given below. In this example, the highest priority objective is to optimize the task coverage rate, and the lower priority objectives include optimizing the number of shifts. Therefore, the optimization objective of the first model is to optimize the task coverage rate, and the optimization objective of the second model is to optimize the number of shifts.

[0153] Specifically, in the first model, the aforementioned first constraint and second constraint are set, and the objective function is set to target the minimization of the total penalty of the uncovered tasks. In the second model, in addition to setting the aforementioned first constraint and second constraint, a third constraint is also set, and the objective function is set to target the minimization of the number of shifts. The third constraint requires that the total penalty of the uncovered tasks is not greater than the total penalty of the uncovered tasks corresponding to the solution result of the first model.

[0154] In some embodiments, in the first model, a fourth constraint and a fifth constraint can be further set, the fourth constraint requires that each task is performed at most once, and the fifth constraint requires that each worker performs one shift. In the second model, the aforementioned fourth constraint and fifth constraint can also be further set, and a sixth constraint can also be set, the sixth constraint requires that workers are assigned to the enabled shifts and no workers are assigned to the disabled shifts.

[0155] It can be found that, compared with the first example of the scheduling mode, the third example of the scheduling mode is different in that the objective function of the second model is different, and the second model does not include the seventh constraint. The above difference will be analyzed in detail below, and the same parts will not be described in detail.

[0156] The third example of the scheduling mode can be implemented as follows, which is exemplary but not limiting.

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

[0158] Objective function:

[0159] First constraint: for mc∈MC requires that 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] the decision variable values obtained by solving the second model The correspondence information between employee i and task j can be determined, and the decision variable values obtained by solving the second model The correspondence information between employee i and shift k can be determined, so that the employees can be scheduled.

[0173] The number of shifts can refer to the total number of enabled shifts. When optimizing the number of shifts as the objective function, since a shift with a longer shift length can cover a larger number of tasks than a shift with a shorter shift length, the model will usually tend to choose a shift with a longer shift length to reduce the number of shifts. In this way, the length deviation between shifts is implicitly optimized, and the constraint on the work hour distribution (the seventh constraint) can be omitted, improving the model solving efficiency. At the business level, a smaller number of shifts can reduce the difficulty of attendance management, making the obtained scheduling result more practical.

[0174] In addition to the scheduling mode, the hierarchical integer programming model of the present disclosure can also support other modes. As another non-limiting example, in the case of specifying the task coverage rate, the plurality of objectives can include optimizing the input labor cost, and can also include optimizing the work hour utilization rate and optimizing the work hour distribution, or include optimizing the number of shifts. In various embodiments, specifying the task coverage rate can include specifying the value or range of the task coverage rate, such as the lower limit of the task coverage rate, etc. In such embodiments, the objective function of the first model solved in the plurality of models is set based on optimizing the input labor cost. Since the task coverage rate is known in this case, its objective includes reasonably allocating tasks in the case of accurate calculation of labor demand, so such a model can be referred to herein as an accurate calculation mode.

[0175] The application scenarios of the accurate calculation mode can include, but are not limited to, calculating how many people are needed to ensure according to the flight plan (such as the new season timetable), and scheduling according to the calculated manpower; in the case of sudden large-scale delay, accurately calculating how many people need to be dispatched and optimizing their scheduling to ensure flight tasks with high quality; and the like.

[0176] In some embodiments, specifying the task coverage rate can include specifying the value of the task coverage rate as 100% in order to accurately calculate the input manpower required to complete all tasks.

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

[0178] Specifically, in the first model, the first constraint and the second constraint are set, and the objective function is set to minimize the input manpower cost. In the second model, in addition to setting the first constraint and the second constraint, a third constraint is set, and the objective function is set to minimize the total length of the shift schedule and / or the maximum deviation value of the shift schedule length. The third constraint requires that the input manpower cost is not greater than the input manpower 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 can be further set, the second fourth constraint requires that each task is performed once, and the first fifth constraint requires that each employee performs at most one shift. In the second model, the second fourth constraint can also be further set, and a second fifth constraint, a sixth constraint and a seventh constraint can also be set, the second fifth constraint requires that each employee input performs one shift, the sixth constraint requires that employees are assigned to enabled shifts and no employees are assigned to disabled shifts, and the seventh constraint requires that the deviation of the shift length from the expected shift length does not exceed the maximum shift length deviation.

[0180] It can be found that, compared with the first example of the scheduling mode, the difference between the first example of the accurate estimation mode lies in that the objective function of the first model is different, which in turn makes the third constraint of the second model also different; the specific requirements of the fourth constraint are different; the specific requirements of the fifth constraint are different. The above difference points will be analyzed in detail below, and the same will not be described in detail.

[0181] Exemplarily but not limitatively, the first example of the accurate estimation mode can be implemented as follows, in which the task coverage rate is guaranteed to be 100%.

[0182] (1) First model (optimize input manpower cost)

[0183] Objective function:

[0184] First constraint: for mc∈MC requires that j∈mc x ij ≤1,

[0185] Second constraint: for j∈J requires that

[0186] Second fourth constraint: for requires that i∈I x ij =1,

[0187] First fifth constraint: for requires that k∈K yik ≤ 1.

[0188] Solving the first model gives the value of decision variable The 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, so as to ensure that the solution of the second model will not deteriorate the cost of input manpower.

[0189] (2) Second model (optimize the utilization of man-hours and the distribution of man-hours)

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

[0191] First constraint: for mc∈MC requires that ∑ j∈mc x ij ≤ 1,

[0192] Second constraint: for j∈J requires that

[0193] Third constraint:

[0194] Second fourth constraint: for requires that ∑ i∈I x ij = 1,

[0195] Second fifth constraint: for ...,m use requires that ∑ k∈K y ik = 1,

[0196] Sixth constraint: for requires that ∑ i∈I y ik ≤ m k ·u k and ∑ i∈I y ik ≥ 1-m k ·(1-u k ),

[0197] Seventh constraint: for requires that (a)

[0198] ​According to the decision variable values obtained by solving the second model The correspondence information between employee i and task j can be determined, and according to the decision variable values obtained by solving the second model The correspondence information between employee i and shift k can be determined, so that the employees can be scheduled.

[0199] The human cost refers to the total cost of activating employees. Due to the influence of factors such as employee qualifications, post levels, etc., the cost required to activate different employees is generally different. Therefore, the human cost can be calculated differently according to the individual characteristics of employees, so that under the condition that other conditions are the same (for example, the task coverage is unchanged), the model will prefer to activate employees with lower cost. Here, represents the cost of activating employee i.

[0200] In some embodiments, the cost of activating different employees can be the same, for example Then minimizing the human cost can be degenerated into minimizing the number of people put in. In this way, 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 represents the upper limit of the number of people put in calculated by the first model, In this way, the solution of the second model does not degrade the human cost compared to the solution of the first model.

[0201] The fourth constraint is used to limit the correspondence between employees and tasks in quantity. Here, the second fourth constraint further requires that each task must be performed by an employee. In other words, the existence of the second fourth constraint guarantees that the task coverage rate is 100%. This is beneficial to accurately calculate the human cost required for the task to be performed in its entirety.

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

[0203] In the first model, the fifth constraint is modified to the first fifth constraint, which requires each employee to perform at most one shift. This constraint makes the model more consistent with the actual business logic (each employee usually works at most one shift a day).

[0204] In the second model, the fifth constraint is modified to a second fifth constraint, requiring each of the staff members inputted by the first model to perform a shift, so as to ensure full utilization of human resources, prevent resource waste due to loose constraints, and also narrow the solution space and accelerate the optimization process.

[0205] Similarly to the scheduling mode, in the precise measurement mode, multiple second models can also be set to optimize lower priority targets respectively.

[0206] For illustrative purposes, a second example of the precise measurement mode is given below. In this example, the optimization target of the first model is to optimize input labor cost. The model includes two second models, the first second model has an optimization target of optimizing work hour distribution, and the second second model has an optimization target of optimizing work hour utilization, and the first second model is solved before the second second model.

[0207] By way of example and not limitation, the second example of the precise measurement mode can be implemented as follows.

[0208] (1) First model (optimize input labor cost)

[0209] Objective function:

[0210] First constraint: for mc∈MC requires that j∈mc x ij ≤1,

[0211] Second constraint: for j∈J requires that

[0212] Second fourth constraint: for requires that i∈I x ij =1,

[0213] First fifth constraint: for requires that k∈K y ik ≤1.

[0214] Solving the first model can obtain the decision variable value The objective function value of the first model corresponding to is The input number of staff members measured is These will be applied to the first second model and the second second model in the form of constraints, so as to ensure that the solution results of the first second model and the second second model will not deteriorate the input labor cost.

[0215] (2) First second model (optimize work hour distribution)

[0216] Objective function: Min. dev max

[0217] First constraint: for mc∈MC requires that ∑ j∈mc x ij ≤1,

[0218] Second constraint: for j∈J requires that

[0219] Third constraint:

[0220] Second fourth constraint: for requires that ∑ i∈I x ij =1,

[0221] Second fifth constraint: for ...,m use requires that ∑ k∈K y ik =1,

[0222] Sixth constraint: for requires that ∑ i∈I y ik ≤m k ·u k and ∑ i∈I y ik ≥1-m k ·(1-u k ),

[0223] Seventh constraint: for requires that (a)

[0224] Solving the first second model gives the objective function value which will be applied in the form of constraints to the second second model, thus ensuring that the solution of the second second model will not deteriorate the man-hour distribution.

[0225] (3) Second second model (optimizing man-hour utilization)

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

[0227] First constraint: for mc∈MC requires that ∑ j∈mc x ij≤ 1,

[0228] Second constraint: for each j e J, it is required that j e J, it is required that

[0229] Third constraint: and

[0230] Second fourth constraint: for each i e I, it is required that it is required that i∈I x ij = 1,

[0231] Second fifth constraint: for each i e I, it is required that ..., m use it is required that k∈K y ik = 1,

[0232] Sixth constraint: for each i e I, it is required that it is required that i∈I y ik ≤ m k · u k and i∈I y ik ≥ 1 - m k · (1 - u k ),

[0233] Seventh constraint: for each i e I, it is required that it is required that

[0234] According to the decision variable values obtained by solving the second second model the corresponding information between employee i and task j can be determined, and according to the decision variable values obtained by solving the second second model the corresponding information between employee i and shift k can be determined, so that the employees can be scheduled.

[0235] In the precise estimation mode, other objectives in addition to optimizing the utilization rate of working hours and optimizing the distribution of working hours can also be considered. For example, when it is desired to unify the shifts as much as possible to improve the actual operability of the scheduling result, the optimization of the number of shifts can be considered as an objective.

[0236] For illustrative purposes, a third example of the precise estimation mode is given below. In this example, the highest priority objective is to optimize the input labor cost, and the lower priority objectives include optimizing the number of shifts. Therefore, the optimization objective of the first model is to optimize the input labor cost, and the optimization objective of the second model is to optimize the number of shifts.

[0237] Specifically, 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, in addition to setting the first constraint and the second constraint, a third constraint is set, and the objective function is set to minimize the number of shift systems. 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.

[0238] In some embodiments, in the first model, a second fourth constraint and a first fifth constraint can be further set, the second fourth constraint requires that each task is performed once, and the first fifth constraint requires that each employee performs at most one shift system. In the second model, the aforementioned second fourth constraint can also be further set, and a second fifth constraint and a sixth constraint can also be set, the second fifth constraint requires that each input employee performs one shift system, and the sixth constraint requires that employees are assigned to enabled shift systems and not to disabled shift systems.

[0239] It can be found that, compared with the first example of the accurate estimation mode, the difference of the third example of the accurate estimation mode lies in that the objective function of the second model is different, and the seventh constraint is not included in the second model.

[0240] The third example of the accurate estimation mode can be implemented as follows, for example but not limited to.

[0241] (1) The first model (optimizing the input labor cost)

[0242] Objective function:

[0243] First constraint: for mc∈MC requires that j∈mc x ij ≤1,

[0244] Second constraint: for j∈J requires that

[0245] Second fourth constraint: for requires that i∈I x ij =1,

[0246] First fifth constraint: for requires that k∈K y ik ≤1.

[0247] Solving the first model can obtain the decision variable value The objective function value of the first model corresponding to is The input number calculated is These will be applied to the second model in the form of constraints, thereby ensuring that the solution result of the second model will not deteriorate the input manpower cost.

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

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

[0250] First constraint: for mc∈MC requires satisfying∑ j∈mc x ij ≤1,

[0251] Second constraint: for j∈J requires satisfying

[0252] Third constraint:

[0253] Second fourth constraint: for requires∑ i∈I x ij =1,

[0254] Second fifth constraint: for ...,m use requires∑ k∈K y ik =1,

[0255] Sixth constraint: for requires satisfying∑ i∈I y ik ≤m k ·u k and∑ i∈I y ik ≥1-m k ·(1-u k ).

[0256] According to the decision variable value obtained by solving the second model the corresponding information of employee i and task j can be determined, and according to the decision variable value obtained by solving the second model the corresponding information of employee i and shift k can be determined, so that the employees can be scheduled.

[0257] In some embodiments, the specified task coverage can include a lower limit of the specified task coverage, which can be any value less than or equal to 100%, for example. This can avoid inefficiently over-investing human resources in pursuit of full task coverage. In practice, a task coverage less than 100% (e.g., 80%-90%) can often meet core operational needs, and the remaining tasks (e.g., 10%-20%) can be handled by temporary allocation or can be low-value tasks that can be abandoned. Thus, by setting a lower limit of task coverage, over-investment of human resources can be avoided.

[0258] It can be appreciated that the first example, the second example, and the third example of the precise estimation mode described above can all be modified to accommodate a specified task coverage lower limit, which can be achieved by adjusting the constraint related to task coverage in the first model solved first for optimizing the input human cost, for example, without modifying the remaining models (such as the second model) other than the first model.

[0259] Specifically, in the first model, an eighth constraint can be further provided, and the second fourth constraint can be modified to a first fourth constraint. The eighth constraint requires 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 task coverage lower limit. The first fourth constraint requires that each task is performed at most once.

[0260] By way of example and not limitation, in the case of a specified task coverage lower limit q (0 < q ≤ 100%), the modified example of the first model in the first example to the third example of the precise estimation mode can be implemented as follows.

[0261] First Model (Optimizing Input Human Cost)

[0262] Objective function:

[0263] First constraint: for mc∈MC requires that j∈mc x ij ≤1,

[0264] Second constraint: for j∈J requires that

[0265] First fourth constraint: for requires that i∈I x ij ≤1,

[0266] First fifth constraint: for requires that k∈K y ik ≤1,

[0267] Eighth constraint: for a specified task coverage lower limit q, it is required that denotes the floor function, and n denotes the number of tasks.

[0268] Solving the first model yields the decision variable values The objective function value of the first model is The corresponding objective function value is The calculated number of inputs is These will be applied to the second model in the form of constraints, so as to ensure that the solution of the second model will not deteriorate the cost of human inputs. The second model can refer to the first example, the second example and the third example of the precise calculation mode in the foregoing, and will not be described again.

[0269] Setting the first fourth constraint can allow some tasks not to be performed, that is, it does not force the task coverage to be 100%.

[0270] In the eighth constraint, ∑ i∈I ∑ j∈J x ij denotes the sum of the number of tasks performed by all employees. q denotes the specified task coverage lower limit. Generally, q≤100%. n denotes the number of tasks, that is, the number of elements in the task set J. denotes the number of tasks that need to be covered (performed by employees) at least, that is, the specified number. Since the mathematical result of q·n can be a decimal number, the floor function can be used to obtain an integer result to meet 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 number an integer. By making the sum of the number of tasks performed by all employees greater than or equal to the specified number determined based on the specified task coverage lower limit, the task coverage corresponding to the calculated result can be ensured to be not lower than the specified task coverage lower limit.

[0271] It can be understood that if additionally a task coverage upper limit is specified, a second eighth constraint can be added, which requires that the sum of the number of tasks performed by all employees is not greater than the specified number, which is determined based on the specified task coverage upper limit. Accordingly, it can be required that where q' denotes the specified task coverage upper limit, and 0<q≤q'≤100%. If alternatively a specific value of task coverage is specified, a third eighth constraint can be used to replace the foregoing eighth constraint, which requires that the sum of the number of tasks performed by all employees is equal to the specified number, which is determined based on the specified value of task coverage. Accordingly, it can be required that where q″″ Denote a specified value of task coverage rate, and \(0 \lt q'' \leq 100\%\). 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 setting the objective function hierarchically as 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 the 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 input labor cost, total penalty for uncovered tasks, total shift duration, and maximum deviation value of shift duration. In some other examples, the multiple objectives include optimizing task coverage rate, optimizing the number of shifts, and optimizing input labor cost. For example, the objective function can be set to minimize the sum of input labor cost, total penalty for uncovered tasks, and the number of shifts.

[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 requirements of conventional operations for quick decision-making. Therefore, it can also be referred to as the conventional measurement mode in this article.

[0275] The conventional measurement mode is suitable for finding a balance among multiple objectives. Exemplarily, the conventional measurement mode can be used to generate a periodic work schedule (such as monthly 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 conflicting objective groups like the number of input personnel and 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, the first example of the conventional 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 \(\leq 1\),

[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 require that k∈K y ik ≤1,

[0282] Sixth constraint: for require that i∈I y ik ≤m k ·u k and i∈I y ik ≥1-m k ·(1-u k ),

[0283] Seventh constraint: for require that (a)

[0284] According to the decision variable values obtained by solving the above model the corresponding information of employee i and task j can be determined, and according to the decision variable values obtained by solving the above model the corresponding information of employee i and shift k can be determined, so that the employees can be scheduled.

[0285] Exemplary but not limited, for the case of multiple objectives including optimizing task coverage, optimizing the number of shifts and optimizing the cost of input manpower, the second example of the conventional estimation mode can be implemented as follows.

[0286] Objective function:

[0287] First constraint: for mc∈MC require that j∈mc x ij ≤1,

[0288] Second constraint: for j∈J require that

[0289] Fourth constraint: for require that i∈I x ij ≤1,

[0290] Fifth constraint: for require that k∈K y ik ≤1,

[0291] Sixth constraint: for the sum of the values of the decision variables i∈I y ik is less than or equal to 1, k ·u k and the sum of the values of the decision variables i∈I y ik is greater than or equal to 1-m k ·(1-u k ).

[0292] the values of the decision variables can be determined, and the values of the decision variables can be determined, so that the employees can be scheduled.

[0293] Similarly to the exact estimation mode, the lower limit of the task coverage rate can also be any value less than or equal to 100% in the regular estimation mode. For example, an eighth constraint can be further set, which requires the sum of the number of tasks performed by all employees to be not less than a specified number, and the specified number is determined based on the specified lower limit of the task coverage rate.

[0294] Exemplarily but not limitatively, in the case of a specified lower limit of the task coverage rate, the third example of the regular estimation mode can be implemented as follows, which adds the eighth constraint to the first example of the regular estimation mode.

[0295] Objective function:

[0296] First constraint: for mc∈MC, the sum of the values of the decision variables j∈mc x ij is less than or equal to 1,

[0297] Second constraint: for j∈J, the sum of the values of the decision variables

[0298] Fourth constraint: for , the sum of the values of the decision variables i∈I x ij is less than or equal to 1,

[0299] Fifth constraint: for , the sum of the values of the decision variables k∈K y ik is less than or equal to 1,

[0300] Sixth constraint: for , the sum of the values of the decision variables i∈I y ik is less than or equal to m k ·u k and the sum of the values of the decision variables i∈I y ik is greater than or equal to 1-mk • (1 - u k ),

[0301] Seventh constraint: for each pair of tasks (i, j), if i < j, it is required that

[0302] Eighth constraint: for a given task coverage lower bound q, it is required that

[0303] According to the values of the decision variables obtained by solving the above model The correspondence between employees i and tasks j can be determined, and according to the values of the decision variables obtained by solving the above model The correspondence between employees i and shifts k can be determined, so that the employees can be scheduled.

[0304] Similarly, the second example of the conventional estimation mode can also be modified to further include the eighth constraint, so as to adapt to the case of a specified task coverage lower bound. In addition, the second eighth constraint or the third eighth constraint can also be similarly set, so as to adapt to the case of a specified task coverage upper bound or value.

[0305] In another aspect, the present 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. As Figure 2 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, acquire employee information, and acquire 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, the first constraint requiring that employees cannot perform tasks that conflict with each other; setting a second constraint, the second constraint requiring that an employee performing a task performs a shift that covers the task; and setting an objective function based on multiple objectives. The scheduling module 206 is configured to solve the integer programming model using the acquired information to determine the correspondence between employees and tasks and the correspondence between employees and shifts, thereby scheduling the employees.

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

[0307] The present disclosure also provides a computing device, which can include one or more processors and a memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform the method according to any of the preceding embodiments of the present disclosure. As Figure 3 ​As shown, the computing device 300 can include a processor(s) 302 and a memory 304 storing computer-executable instructions that, when executed by the processor(s) 302, cause the processor(s) 302 to perform the methods described according to any of the preceding embodiments of the present disclosure. The processor(s) 302 can be, for example, a central processing unit (CPU) of the computing device 300. The processor(s) 302 can be any type of general purpose processor, or can be a processor specifically designed for task-based staff scheduling, such as an application-specific integrated circuit (“ASIC”). The memory 304 can be coupled to the processor(s) 302 and can include various computer-readable media that is accessible by the processor(s) 302. In various embodiments, the memory 304 described herein can include volatile and non-volatile media, removable and non-removable media. For example, the memory 304 can 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 can store instructions that, when executed by the processor 302, cause the processor 302 to perform the methods described according to any of the preceding embodiments of the present disclosure.

[0308] The present disclosure also provides a non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform the methods described according to any of the preceding embodiments of the present disclosure.

[0309] The present disclosure also provides a computer program product that can include instructions that, when executed by a processor, can implement the methods described according to any of the preceding embodiments of the present disclosure. The instructions can be any set of instructions that directly or indirectly cause one or more processors to perform the methods described herein, such as machine code, or any set of instructions that indirectly cause one or more processors to perform the methods described herein, such as scripts. The instructions can be stored as object code or as source code to be compiled by the one or more processors directly into machine code or into any other computer language.

[0310] Figure 4is a schematic block diagram that illustrates a computer system 400 upon which an embodiment of the disclosure can be implemented. Computer system 400 includes a bus 402 or other communication mechanism for communicating information, and a processing unit 404 coupled with bus 402 for processing information. Computer system 400 also includes a memory 406, which can be a random access memory (RAM) or other dynamic storage device, coupled to bus 402 for storing information and instructions to be executed by processing unit 404. Memory 406 also can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processing unit 404. Computer system 400 further includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processing unit 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to bus 402 for storing information and instructions. Computer system 400 can be coupled via bus 402 to a display 412, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a user. An input device 414, such as a keyboard including alphanumeric and other keys, is coupled to bus 402 for communicating information and command selections to processing unit 404. Computer system 400 can implement an embodiment of the present disclosure. Consistent with some implementations of the present disclosure, results are provided by computer system 400 in response to the processing unit 404 executing one or more sequences of one or more instructions contained in memory 406. Such instructions can be read into memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequences of instructions contained in memory 406 causes processing unit 404 to perform the methods described herein. Alternatively, hard-wired circuitry can be used in place of software instructions, or in combination with software instructions. Thus implementations of the present disclosure are not limited to any specific combination of hardware circuitry and software. In various embodiments, computer system 400 can connect to one or more other computer systems over a network, as computer system 400, to form a networked system. The network can include a private network or a public network, such as the Internet. In a networked system, one or more computer systems can store data and supply data to other computer systems. The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processing unit 404 for execution. Such a medium can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 410. Volatile media include dynamic memory, such as memory 406. Transmission media include coaxial cables, copper wire, and fiber optics, including wires that comprise bus 402.Common forms of computer-readable media or computer program products include, for example, a floppy disk, a flexible disk, a hard disk, a magnetic tape, or any other magnetic medium, a CD-ROM, digital video disk (DVD), a Blu-ray disk, any other optical medium, a thumb drive, a memory card, a RAM, PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read. Various forms of computer-readable media can be involved in carrying one or more sequences of one or more instructions to the processing device 404 for execution. For example, the instructions can initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system 400 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector coupled to the bus 402 can receive the data carried in the infra-red signal and place the data on the bus 402. The bus 402 carries the data to the memory 406, from which the processing device 404 retrieves and executes the instructions. The instructions received by the memory 406 can optionally be stored on storage device 410 either before or after execution by the processing device 404.

[0311] In accordance with 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 can be a device that stores digital information. For example, a computer-readable medium includes a compact disc read-only memory (CD-ROM) as is known in the art for storing software. The computer-readable medium is accessed by a processor suitable for executing the instructions configured to be executed.

[0312] The above-described one or more exemplary embodiments of the present disclosure are described. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order and still achieve desirable results. Additionally, the processes depicted in the accompanying figures do not necessarily require the particular order shown or sequential order in order to achieve the desired results. In some implementations, multitasking and parallel processing can be advantageous.

[0313] The systems, apparatuses, modules or units illustrated by the above-described embodiments can be specifically realized by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, the present disclosure does not exclude that with the development of computer technology, the computer realizing the functions of the above-described embodiments can be a personal computer, a laptop computer, an in-vehicle human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a game console, a tablet computer, a wearable device, or any combination thereof.

[0314] The term "comprising" or "including" or any other variation thereof is intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An indefinite article "a" or "an" does not exclude a plurality, and a plurality can also be referred to with the indefinite article "a" or "an". The indefinite article "a" or "an" thus, for example, does not exclude the presence of two or more elements. The terms "first", "second" and the like do not imply any particular order but are used to distinguish one element from another. The terms "comprise", "comprising", "include", "including" and "includes" are used herein to indicate the presence of one or more elements, steps, features, components, etc. but do not preclude the presence or addition of one or more other elements, steps, features, components, etc.

[0315] For the sake of description, the above apparatuses are described in functional modules for convenience. Certainly, the functions of the modules can be implemented in one or more software and / or hardware in implementing one or more embodiments of the present disclosure. The modules can also be implemented by a combination of modules or sub-modules having the same function. The above-described apparatus embodiments are merely illustrative, and the division of the modules is merely a logical function division. In actual implementation, another division manner can be adopted, for example, a plurality of modules or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the modules or components shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0316] The present disclosure is described with reference to the flowcharts and / or block diagrams of the methods, apparatus (system) and computer program products according to embodiments of the present disclosure. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts 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, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce the functions specified in one or more flows of the flowcharts and / or one or more blocks of the block diagrams.

[0317] These computer program instructions can also be stored in a computer- readable memory 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 memory produce an article of manufacture including instructions which implement the function specified in the flowchart or flowsheets and / or block or blocks of the block diagrams. The computer program instructions can 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 the flowchart or flowsheets and / or block or blocks of the block diagrams.

[0318] Those skilled in the art will appreciate that one or more embodiments of the disclosure can be embodied in the form of entirely hardware embodiments, entirely software embodiments or embodiments combining software and hardware aspects. Furthermore, one or more embodiments of the disclosure can be embodied in the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, CD-ROM, optical storage etc.) having computer usable program code embodied therein.

[0319] One or more embodiments of the disclosure can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. One or more embodiments of the disclosure can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

[0320] The same parts and / or features of the various embodiments of the present disclosure can be referred to with the same or similar reference numerals. Each embodiment described herein is intended to serve as a representative example only, and is not intended in any way to limit the overall scope of the present disclosure. Furthermore, the various embodiments of the present disclosure can be used together or in various combinations, as would be understood by one of ordinary skill in the art. In the description of the present disclosure, the terms "one embodiment," "some embodiments," "an example," "a specific example," or "some examples" are intended to mean that a particular feature, structure, material, or characteristic is included in at least one embodiment or example of the present disclosure, and is used in certain instances to

[0321] In addition, the words "herein," "above," "below," "nowhere," "above-mentioned," and words of similar meaning, when used in this disclosure, shall not

[0322] The foregoing is merely illustrative of the various embodiments of the present disclosure and is intended to provide an overview or framework for understanding the nature and character of the disclosure as it is claimed. The subject innovation can be used in conjunction with and / or in the vicinity of many types of devices and systems. Furthermore, the subject innovation can be employed by end users in connection with a variety of devices and systems. The foregoing description of one or more embodiments of the subject innovation, including preferred methods and apparatus, is not intended to be exhaustive or to be necessarily limited to the precise forms disclosed. The description neither identifies key-features of the invention nor encompasses the entire spirit and scope of the subject innovation. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

Claims

1. A task-based staff scheduling method, comprising: obtaining task information and inter-task conflict information; obtaining staff information; obtaining shift information and shift coverage information of tasks; constructing an integer programming model by: setting constraints, including: setting a first constraint requiring that a staff cannot perform tasks that conflict with each other; setting a second constraint requiring that a staff performing a task performs a shift covering the task; and setting an objective function based on a plurality of objectives; and solving the integer programming model using the obtained information to determine staff-task correspondence information and staff-shift correspondence information, thereby scheduling staff.

2. The method of claim 1, wherein, the integer programming model comprises a plurality of models to be solved in sequence, an objective function of each model of the plurality of models being set based on a combination of a respective one or more objectives of the plurality of objectives, wherein a constraint of a model of the plurality of models to be solved later is set based on a value of an objective function of a model of the plurality of models to be solved earlier for solving the model to be solved later.

3. The method of claim 2, wherein, a solving sequence of the plurality of models is determined based on priorities of the objectives corresponding to the models respectively.

4. The method of claim 3, wherein, the objective function of a first model of the plurality of models to be solved earliest is set based on only a highest priority objective.

5. The method of claim 2, wherein, in a case where a maximum labor cost is specified, the plurality of objectives include optimizing task coverage, optimizing work hour utilization, and optimizing work hour distribution, and the objective function of the first model of the plurality of models to be solved earliest is set based on optimizing task coverage.

6. The method of claim 5, wherein, the plurality of models include a first model to be solved earliest and a second model to be 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 aim at minimizing a total penalty of tasks not covered; and in the second model, the first constraint, the second constraint, and a third constraint are set, and the objective function is set to aim at minimizing a total shift length and / or a maximum deviation value of shift lengths, the third constraint requiring that the total penalty of tasks not covered is not greater than a total penalty of tasks not covered corresponding to a solution result of the first model. 7.The method according to claim 6, wherein, in the first model, a fourth constraint requiring that each task is performed at most once and a fifth constraint requiring that each staff performs one shift are further set; and in the second model, the fourth constraint, the fifth constraint, a sixth constraint, and a seventh constraint are further set, the sixth constraint requiring that a staff is assigned to an enabled shift and is not assigned to a disabled shift, and the seventh constraint requiring that a deviation of a shift length from an expected shift length does not exceed a maximum shift length deviation.

8. The method of claim 2, wherein, in a case where a maximum labor cost is specified, the plurality of objectives include optimizing task coverage and optimizing a number of shifts, and the objective function of the first model of the plurality of models to be solved earliest is set based on optimizing task coverage.

9. The method of claim 8, wherein, the plurality of models include a first model to be solved earliest and a second model to be solved after the first model, In the first model, the first constraint and the second constraint are set, and an objective function is set to target at minimizing a total penalty of tasks not covered; and In the second model, the first constraint, the second constraint and a third constraint are set, and an objective function is set to target at minimizing the number of shifts, the third constraint requiring that the total penalty of tasks not covered is not greater than the total penalty of tasks not covered corresponding to the solution result of the first model.

10. The method of claim 9, wherein, In the first model, a fourth constraint and a fifth constraint are further set, the fourth constraint requiring that each task is performed at most once, and the fifth constraint requiring that each employee performs one shift; and In the second model, the fourth constraint, the fifth constraint and a sixth constraint are further set, the sixth constraint requiring that an employee is assigned to an enabled shift and is not assigned to a disabled shift.

11. The method of claim 2, wherein, In the case of a specified task coverage rate, the plurality of objectives comprises optimizing man-hour utilization, optimizing man-hour distribution and optimizing input manpower cost, wherein an objective function of a first model solved earliest among the plurality of models is set based on optimizing input manpower cost.

12. The method of claim 11, wherein, The plurality of models comprises a first model solved earliest and a second model solved after the first model, In the first model, the first constraint and the second constraint are set, and an objective function is set to target at minimizing input manpower cost; and In the second model, the first constraint, the second constraint and a third constraint are set, and an objective function is set to target at minimizing a total length of shifts and / or a maximum deviation value of shift length, the third constraint requiring that the input manpower cost is not greater than the input manpower cost corresponding to the solution result of the first model.

13. The method of claim 12, wherein, In the first model, a fourth constraint and a first fifth constraint are further set, the fourth constraint requiring that each task is performed once, and the first fifth constraint requiring that each employee performs at most one shift; and In the second model, the fourth constraint, a second fifth constraint, a sixth constraint and a seventh constraint are further set, the second fifth constraint requiring that each employee input performs one shift, the sixth constraint requiring that an employee is assigned to an enabled shift and is not assigned to a disabled shift, and the seventh constraint requiring that a deviation of shift length from an expected shift length does not exceed a maximum shift length deviation.

14. The method of claim 12, wherein, In the first model, a first fourth constraint, a first fifth constraint and an eighth constraint are further set, the first fourth constraint requiring that each task is performed at most once, the first fifth constraint requiring that each employee performs at most one shift, and the eighth constraint requiring that a 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 rate lower limit; and 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 each task to be performed once, the second fifth constraint requires each assigned staff to perform one shift, the sixth constraint requires staff to be assigned to enabled shifts and not to disabled shifts, and the seventh constraint requires the deviation of shift length from expected shift length to be no more than a maximum shift length deviation.

15. The method of claim 2, wherein, In the case of a specified task coverage, the plurality of objectives comprises optimizing assigned staff cost and optimizing shift quantity, wherein an objective function of a first model solved earliest among the plurality of models is set based on optimizing assigned staff cost.

16. The method of claim 15, wherein, The plurality of models comprises a first model solved earliest and a second model solved after the first model, In the first model, the first constraint and the second constraint are provided, and an objective function is set to target minimizing assigned staff cost; and In the second model, the first constraint, the second constraint and a third constraint are provided, and an objective function is set to target minimizing shift quantity, the third constraint requires assigned staff cost to be no more than corresponding to a solution result of the first model.

17. The method of claim 16, wherein, In the first model, a fourth constraint and a first fifth constraint are further provided, the fourth constraint requires each task to be performed once, and the first fifth constraint requires each staff to perform at most one shift; and In the second model, the fourth constraint, a second fifth constraint and a sixth constraint are further provided, the second fifth constraint requires each assigned staff to perform one shift, and the sixth constraint requires staff to be assigned to enabled shifts and not to disabled shifts.

18. The method of claim 16, wherein, In the first model, a first fourth constraint, a first fifth constraint and an eighth constraint are further provided, the first fourth constraint requires each task to be performed at most once, the first fifth constraint requires each staff to perform at most one shift, and the eighth constraint requires the sum of the number of tasks performed by all staff to be no less than a specified number, the specified number being determined based on a specified task coverage lower limit; and In the second model, a second fourth constraint, a second fifth constraint and a sixth constraint are further provided, the second fourth constraint requires each task to be performed once, the second fifth constraint requires each assigned staff to perform one shift, and the sixth constraint requires staff to be assigned to enabled shifts and not to disabled shifts.

19. The method of claim 1, wherein, The integer programming model comprises a single model, and an objective function of the single model is set based on a combination of the plurality of objectives.

20. The method of claim 19, wherein, The plurality of objectives comprises optimizing task coverage, optimizing man-hour utilization, optimizing man-hour distribution and optimizing assigned staff cost.

21. The method of claim 20, wherein, The objective function is set to target minimizing assigned staff cost, a total penalty of tasks not covered and a sum of shift total length and maximum shift length deviation value.

22. The method of claim 21, wherein, Further constraints are set, including a fourth constraint requiring each task to be performed at most once, a fifth constraint requiring each employee to perform at most one shift, a sixth constraint requiring employees to be assigned to active shifts and not to inactive shifts, and a seventh constraint requiring a deviation of a shift length from an expected shift length to be no more than a maximum shift length deviation.

23. The method of claim 22, wherein, A further constraint is set, requiring a sum of a number of tasks performed by all employees to be no less than a specified number, the specified number being determined based on a specified task coverage lower bound.

24. The method of claim 19, wherein, The plurality of objectives includes optimizing task coverage, optimizing a number of shifts, and optimizing a labor cost input.

25. The method of claim 24, wherein, The objective function is set to minimize the labor cost input, a total penalty of tasks not covered, and the number of shifts.

26. The method of claim 25, wherein, Further constraints are set, including a fourth constraint requiring each task to be performed at most once, a fifth constraint requiring each employee to perform at most one shift, and a sixth constraint requiring employees to be assigned to active shifts and not to inactive shifts.

27. The method of claim 26, wherein, A further constraint is set, requiring a sum of a number of tasks performed by all employees to be no less than a specified number, the specified number being determined based on a specified task coverage lower bound.

28. The method of 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 a shortest shift length in the shift information.

29. The method of claim 28, wherein, The estimated number of people is determined by: obtaining a shortest shift length and a task list; creating an employee list, the employee list being initialized as 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 time information of the task, the shortest shift length, and scheduling time information of the employee: in a case that there is an employee in the employee list who can perform the task, scheduling the employee to perform the task and updating the scheduling time information of the employee based on the time information of the task; or in a case that all employees in the employee list cannot perform the task, adding a new employee to the employee list, scheduling the new employee to perform the task, and updating scheduling time information of the new employee based on the time information of the task; in a case that all tasks in the task list are scheduled to be performed by employees, determining a number of employees in the employee list as the estimated number of people.

30. A task-based employee scheduling apparatus, comprising: an obtaining module configured to: obtain task information and inter-task conflict information; obtain employee information; and obtain shift information and shift-to-task coverage information; a constructing module configured to construct an integer programming model by: setting constraints, including: setting a first constraint requiring an employee to not perform tasks that conflict with each other; setting a second constraint requiring an employee performing a task to perform a shift that covers the task; and setting an objective function based on a plurality of objectives; and an optimizing module configured to optimize the integer programming model. a scheduling module configured to solve an integer programming model using the obtained information to determine the correspondence information of employees to tasks and the correspondence information of employees to shifts, thereby scheduling the employees.

31. A computing device comprising: one or more processors; and memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-29.

32. A computer-readable storage medium having stored thereon computer- executable instructions that, when executed by a computer, cause the computer to perform the method of any of claims 1-29.

33. A computer program product comprising instructions that, when executed by a processor, implement the method of any of claims 1-29. ​

Citation Information

Patent Citations

  • Airport service personnel scheduling method, device and equipment based on integer programming and storage medium

    CN112966904A

  • Scheduling method, equipment, device and storage medium

    CN113570178A

  • Ground support personnel scheduling method based on flight ground support task

    CN117910783A

  • Employee scheduling method and related equipment based on shift system

    CN120911868B

  • Method and System Integrating Task Assignment and Resources Scheduling

    US20090288091A1