Seat dispatching method and related devices based on task nesting
By constructing an integer programming model and a seat assignment method based on task nesting, the problem of the failure to effectively consider task correlation in existing technologies is solved, the seat assignment scheme is optimized, and the work efficiency of airport staff and check-in service is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA EASTERN AIRLINES CO LTD
- Filing Date
- 2025-09-26
- Publication Date
- 2026-07-31
AI Technical Summary
Existing seat assignment methods fail to effectively consider the correlation between tasks, making it difficult for assignment schemes to meet actual conditions and reducing the work efficiency of airport staff and the efficiency of check-in service completion.
A task-based assignment method is adopted. By constructing an integer programming model, setting constraints and objective functions, the correspondence between seats and task nesting is determined, and the assignment scheme between seats is optimized.
This improved the feasibility of the dispatching plan, enhanced the work efficiency and satisfaction of airport staff, and increased the efficiency of check-in service completion.
Smart Images

Figure CN121328996B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of aviation technology, and more specifically, to a method, apparatus, computing device, computer-readable storage medium, and computer program product for seat dispatching based on task nesting. Background Technology
[0002] Each task in airport services has a corresponding work station (for example, check-in, weight and load balancing, and flight scheduling each have corresponding work stations, including check-in staff, weight and load balancers, air traffic controllers, dispatchers, and flight schedulers). Airport staff can be assigned to appropriate work stations to perform the tasks assigned to those stations. Therefore, the allocation of work stations directly affects airport operational efficiency, service quality, and operating costs. Summary of the Invention
[0003] A brief overview of this disclosure is given below to provide a basic understanding of some aspects of it. However, it should be understood that this overview is not an exhaustive summary of this disclosure. It is not intended to identify key or essential parts of this disclosure, nor is it intended to limit the scope of this disclosure. Its purpose is merely to present certain concepts of this disclosure in a simplified form as a prelude to the more detailed description that follows.
[0004] According to a first aspect of this disclosure, a seat assignment method based on task nesting is provided, comprising: acquiring seat information; acquiring task nesting information, conflict information between task nestings, start task nesting information, and finish task nesting information, wherein the task nesting includes multiple tasks that can be executed by the same seat in the same round of assignment; constructing a first integer programming model through the following operations: setting constraints, including: setting a first constraint requiring each seat not to execute conflicting task nestings, setting a second constraint requiring each seat to execute start task nestings, and setting a third constraint requiring each seat to execute finish task nestings; setting an objective function based on the goal of optimizing task coverage; and solving the first integer programming model using the acquired information to determine the correspondence between seats and task nestings, and determining an assignment scheme based on the correspondence.
[0005] In some embodiments, setting constraints may further include setting a fourth constraint that requires each task to be executed at most once.
[0006] In some embodiments, setting constraints further includes setting at least one of a fifth constraint and a sixth constraint, wherein the fifth constraint requires that the number of assignment rounds for each seat be within the range of assignment rounds for that seat, and the sixth constraint requires that the number of tasks assigned to each seat be within the range of the number of tasks for that seat.
[0007] In some embodiments, a first integer programming model is constructed by at least one of the following operations: setting a seventh constraint, which requires that the deviation of the number of assignment rounds for each seat from the baseline number of assignment rounds does not exceed the maximum deviation of the number of assignment rounds, wherein the objective function is further based on the objective setting of optimizing the balance of the number of assignment rounds among seats; and setting an eighth constraint, which requires that the deviation of the number of tasks assigned to each seat from the baseline number of tasks does not exceed the maximum deviation of the number of tasks, wherein the objective function is further based on the objective setting of optimizing the balance of the number of tasks among seats.
[0008] In some embodiments, the seats include a first seat having a first seat type and a second seat having a second seat type different from the first seat type, and a first integer programming model is constructed by: for the first seat, setting a seventh constraint and an eighth constraint, the seventh constraint requiring that the deviation of the number of assignment rounds for each first seat from the baseline number of assignment rounds for the first seat does not exceed the maximum deviation of the number of assignment rounds for the first seat, and the eighth constraint requiring that the deviation of the number of tasks assigned to each first seat from the baseline number of tasks for the first seat does not exceed the maximum deviation of the number of tasks for the first seat; for the second seat, setting a ninth constraint, the ninth constraint requiring that the deviation of the number of tasks between different second seats does not exceed the maximum deviation of the number of tasks for the second seat; and the objective function is further set based on the objective of optimizing the balance of the number of assignment rounds among first seats, the balance of the number of tasks among first seats, and the balance of the number of tasks among second seats.
[0009] In some embodiments, setting constraints further includes setting a tenth constraint, which requires that the task nest to which the task with the specified seat belongs, or the task nest to which the specified seat belongs, be executed by the specified seat.
[0010] In some embodiments, the seats include a first seat having a first seat type and a third seat having a third seat type different from the first seat type, and a first integer programming model is also constructed by: setting a seventh constraint for the first seat, the seventh constraint requiring that the deviation of the number of dispatching rounds for each first seat from the baseline number of dispatching rounds for the first seat does not exceed the maximum deviation of the number of dispatching rounds for the first seat; and setting an eleventh constraint for the third seat, the eleventh constraint requiring that the number of dispatching rounds for each third seat is within the range of the number of dispatching rounds for the third seat set based on the baseline number of dispatching rounds for the first seat.
[0011] In some embodiments, before solving the first integer programming model, the method further includes: constructing a second integer programming model by: setting constraints, including setting a first constraint, a second constraint, a third constraint, and a fourth constraint, wherein the fourth constraint requires that each task be executed at most once, and setting an objective function based solely on the objective of optimizing task coverage; and solving the second integer programming model using the acquired information to determine a baseline correspondence between seats and task nesting, wherein the baseline number of dispatch rounds and the baseline number of tasks are determined based on the baseline correspondence.
[0012] In some embodiments, a second integer programming model is also constructed by at least one of the following operations: setting a fifth constraint that requires the number of assignment rounds for each seat to be within the range of assignment rounds for that seat; and setting a sixth constraint that requires the number of tasks assigned to each seat to be within the range of the number of tasks for that seat.
[0013] In some embodiments, after solving the first integer programming model, the method further includes: for a first task having a first task type and a second task having a second task type different from the first task type, obtaining information about the second tasks that can be exchanged with the first task; obtaining information about the first and second tasks assigned to each first seat having a first seat type based on the dispatching scheme; constructing a third integer programming model by: setting constraints, including setting a twelfth constraint, the twelfth constraint requiring that the deviation in the number of first tasks between different first seats does not exceed the maximum deviation in the number of first tasks, and setting an objective function based on the objective of optimizing the balance of the number of first tasks among the first seats; and solving the third integer programming model using the obtained information to determine the exchange relationship between the first and second tasks, and adjusting the dispatching scheme based on the exchange relationship.
[0014] In some embodiments, after solving the first integer programming model, the method further includes: for a first task having a first task type and a second task having a second task type different from the first task type, obtaining information about the second tasks that can be exchanged with the first task; obtaining information about the first and second tasks assigned to each first seat having a first seat type based on the dispatching scheme; constructing a third integer programming model by: setting constraints, including setting a twelfth constraint, the twelfth constraint requiring that the deviation of the effective number of first tasks between different first seats does not exceed the maximum deviation of the effective number of first tasks, wherein the effective number of first tasks for each first seat is determined based on the effective coefficient of the first tasks assigned to that first seat; and setting an objective function based on the objective of optimizing the balance of the effective number of first tasks among the first seats; and solving the third integer programming model using the obtained information to determine the exchange relationship between the first and second tasks, and adjusting the dispatching scheme based on the exchange relationship.
[0015] In some embodiments, a third integer programming model is also constructed by at least one of the following operations: setting a thirteenth constraint that requires each first task to be swapped with at most one second task; and setting a fourteenth constraint that requires each second task to be swapped with at most one first task.
[0016] In some embodiments, after solving the first integer programming model, the method further includes: for a first task having a first task type and a second task having a second task type different from the first task type, obtaining information about the second tasks that can be exchanged with the first task; obtaining information about the first and second tasks assigned to each first seat having a first seat type based on the dispatching scheme; constructing a third integer programming model by: setting constraints, including setting a fifteenth constraint requiring that the deviation of the number of first tasks assigned to each first seat from the baseline number of first tasks for the first seat does not exceed the maximum deviation of the number of first tasks for the first seat, and setting an objective function based on the objective of making the number of first tasks for the first seat close to the baseline number of first tasks for the first seat; and solving the third integer programming model using the obtained information to determine the exchange relationship between the first and second tasks, and adjusting the dispatching scheme based on the exchange relationship.
[0017] In some embodiments, the baseline number of first tasks for a first seat is determined based on the total number of first tasks and the ratio of the on-duty time of the first seat to the total on-duty time of all first seats.
[0018] In some embodiments, after solving the first integer programming model, the method further includes: for a first task having a first task type and a second task having a second task type different from the first task type, obtaining information about second tasks that can be exchanged with the first task; obtaining information about the first and second tasks assigned to each first seat having a first seat type based on the dispatching scheme; constructing a third integer programming model by: setting constraints, including setting a fifteenth constraint, the fifteenth constraint requiring that the deviation of the effective number of first tasks assigned to each first seat from the baseline effective number of first tasks for the first seat does not exceed the maximum effective number deviation of first tasks for the first seat, wherein the effective number of first tasks for each first seat is determined based on the effectiveness coefficient of the first tasks assigned to the first seat, and setting an objective function based on the objective of making the effective number of first tasks for the first seat close to the baseline effective number of first tasks for the first seat; and solving the third integer programming model using the obtained information to determine the exchange relationship between the first and second tasks, and adjusting the dispatching scheme based on the exchange relationship.
[0019] In some embodiments, the effectiveness coefficient of the first task is determined based on one or more of the execution difficulty, execution period, and execution duration of the first task.
[0020] In some embodiments, after solving the first integer programming model, the method further includes: determining tasks not assigned to seats according to the dispatching scheme; determining a first task stack that can be executed together with the task in the same round of dispatching by the same seat; and inserting the task into the first task stack to adjust the dispatching scheme.
[0021] In some embodiments, when a first task stack includes multiple first task stacks, a second task stack with the fewest tasks among the multiple first task stacks is selected to insert the task into the second task stack, thereby adjusting the dispatching scheme. In some embodiments, when a second task stack includes multiple second task stacks, the number of tasks assigned to each second task stack to a seat is determined, and the second task stack corresponding to the seat with the fewest tasks is selected to insert the task into the second task stack, thereby adjusting the dispatching scheme.
[0022] According to a second aspect of this disclosure, a seat dispatching device based on task nesting is provided, comprising: an acquisition module configured to: acquire seat information, acquire task nesting information, task nesting conflict information, start task nesting information, and finish task nesting information, wherein the task nesting includes multiple tasks that can be executed by the same seat in the same round of dispatching; a construction module configured to construct a first integer programming model by: setting constraints, including: setting a first constraint requiring each seat not to execute conflicting task nestings, setting a second constraint requiring each seat to execute start task nestings, setting a third constraint requiring each seat to execute finish task nestings, and setting an objective function based on the goal of optimizing task coverage; and a dispatching module configured to use the acquired information to solve the first integer programming model to determine the correspondence between seats and task nestings, and to determine a dispatching scheme based on the correspondence.
[0023] According to a third aspect of this disclosure, a computing device is provided, comprising: a processor; and a memory storing computer-executable instructions, which, when executed by the processor, cause the processor to perform the method described according to any embodiment of the first aspect of this disclosure.
[0024] According to a fourth aspect of this disclosure, a computer-readable storage medium having computer-executable instructions stored thereon is provided, which, when executed by a computer, cause the computer to perform the method described according to any embodiment of the first aspect of this disclosure.
[0025] According to a fifth aspect of this disclosure, a computer program product is provided, the computer program product including instructions that, when executed by a processor, implement the method described according to any embodiment of the first aspect of this disclosure. Attached Figure Description
[0026] The foregoing and other features and advantages of this disclosure will become clear from the following description of embodiments illustrated in conjunction with the accompanying drawings. The drawings, incorporated herein and forming a part of the specification, are further used to explain the principles of this disclosure and to enable those skilled in the art to make and use it. Wherein:
[0027] Figure 1 A flowchart of a seat assignment method based on task nesting according to some embodiments of the present disclosure is shown;
[0028] Figure 2 A schematic block diagram of a seat dispatching device based on task nesting according to some embodiments of the present disclosure is shown;
[0029] Figure 3 A schematic block diagram of a computing device according to some embodiments of the present disclosure is shown;
[0030] Figure 4 A schematic block diagram of a computer system on which embodiments of the present disclosure may be implemented is shown.
[0031] Note that in the embodiments described below, the same reference numerals are sometimes used across different figures to denote the same parts or parts with the same function, and repeated descriptions are omitted. In some cases, similar reference numerals and letters are used to denote similar items, so once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0032] For ease of understanding, the positions, dimensions, and extents of the structures shown in the accompanying drawings and other materials may not represent actual positions, dimensions, and extents. Therefore, this disclosure is not limited to the positions, dimensions, and extents disclosed in the accompanying drawings and other materials. Detailed Implementation
[0033] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0034] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the scope of this disclosure or its application or use. That is, the structures and methods herein are shown in an exemplary manner to illustrate different embodiments of the structures and methods in this disclosure. However, those skilled in the art will understand that they merely illustrate exemplary ways that can be used to implement this disclosure, and not exhaustive ways. Furthermore, the drawings are not necessarily drawn to scale, and some features may be enlarged to show details of specific components.
[0035] In addition, techniques, methods and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods and equipment should be considered part of the specification.
[0036] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0037] In related technologies, seat assignment methods are typically implemented on a per-task basis (e.g., flight). However, in actual work processes, a single seat often handles multiple tasks within a work period. For example, taking check-in service as an example, in order to improve check-in counter utilization and check-in staff efficiency, airports allocate as many flights as possible to each check-in counter each day. Therefore, check-in staff typically need to perform check-in services for multiple flights during their work hours.
[0038] Therefore, the seat assignment methods in related technologies fail to consider the correlation between tasks, making the assigned assignment schemes difficult to match the actual situation and unable to improve the workload of airport staff assigned to the seats or the efficiency of task execution. For example, the seat assignment methods in related technologies might assign Flight A and Flight B, whose check-in time is close to that of Flight A, to the first seat (i.e., the first check-in counter) and the second seat (i.e., the second check-in counter), respectively, while assigning Flight C, whose check-in time is far from that of Flight A, to the first seat. This would obviously reduce the work efficiency of the airport staff at the first seat and the efficiency of check-in service completion.
[0039] To address this, this disclosure provides a task-based assignment method that determines the correspondence between tasks and task nesting, thereby obtaining an assignment plan. This method integrates the relationships between tasks into the assignment plan through task nesting, thereby improving the feasibility of the assignment plan and enhancing the work efficiency and satisfaction of airport staff.
[0040] The following describes in detail, with reference to the accompanying drawings, a seat assignment method based on task nesting according to various embodiments of the present disclosure (hereinafter referred to as the "method"). It will be understood that the actual method may include other steps, which are not shown in the drawings and will not be discussed herein in order to avoid obscuring the essential points of the present disclosure.
[0041] refer to Figure 1 This illustrates a flowchart of a seat assignment method 100 based on task nesting according to some embodiments of the present disclosure. Figure 1 As shown, method 100 includes steps S102 to S108.
[0042] In step S102, seat information is obtained. In some examples, seat information may include information about seats that can be assigned, such as the number of seats, the type of seats, the qualifications of the seats, the working hours of the seats, etc.
[0043] In step S104, task nesting information, inter-task nesting conflict information, start-up task nesting information, and finish-up task nesting information are obtained.
[0044] In this disclosure, task nesting includes multiple tasks that can be executed by the same seat in the same round of dispatching. Furthermore, the same seat can execute multiple rounds of dispatching, with corresponding time intervals between each round of dispatching.
[0045] For example, taking flights as an example of tasks, a task stack (which can also be referred to as a "flight stack") can include multiple flights that can be executed by the same seat in the same round of dispatching. The end time of the task stack is the latest departure time of the flights in that task stack, and the duration of the task stack can be equivalent to the time interval between each round of dispatching. The start time of the task stack is determined based on its end time minus its duration. Typically, a task stack can include three flights. Of course, a task stack can also include only one flight, in which case the seat dispatching method based on task stacks disclosed herein actually degenerates into a seat dispatching method based on tasks. Furthermore, although the duration of each task stack is the same in the example shown in this disclosure, it is understood that the duration of different task stacks can be different, depending on the actual dispatching requirements.
[0046] Not just any number of flights can be stacked together to form a mission stack. The departure times of multiple flights within the same mission stack must meet certain requirements. For example, as mentioned earlier, the difference between the earliest and latest departure times of multiple flights within the same mission stack cannot exceed the set duration of the mission stack. Furthermore, a mission stack should not include multiple flights with high operational complexity (e.g., long-haul international flights, high-altitude flights), otherwise the workload of the assigned staff would be excessive, potentially exceeding the relevant regulations of the Civil Aviation Administration or the airline, and would reduce the satisfaction of airport staff dispatched to that position.
[0047] Inter-task stack conflict information refers to multiple task stacks that cannot or should not be executed by the same workstation. For example, inter-task stack conflict information can include multiple task stacks with conflicting work hours. As a non-limiting example, task stack A's work hours are 9:30–10:00, task stack B's work hours are 9:40–10:10, and task stack C's work hours are 14:20–14:50. Therefore, task stack A and task stack B are considered to conflict because their work hours overlap. However, task stack A or task stack B does not conflict with task stack C because their work hours do not overlap.
[0048] In some embodiments, inter-task nesting conflict information can be obtained directly. In some embodiments, inter-task nesting conflict information can be determined based on the work period information of the task nesting. Further, inter-task nesting conflict information can also be determined based on the qualification requirements information and / or work location information of the task nesting.
[0049] Each workstation typically has a corresponding working period, for example, 9:00 to 17:00. Then, the workday for a workstation is defined as the period after 9:00 (e.g., 9:00 to 9:30) and the workday is defined as the period before 17:00 (e.g., 16:30 to 17:00). Therefore, the nested tasks executed during the workday of a workstation are called the workday task nesting, and the nested tasks executed during the workday of a workstation are called the workday task nesting.
[0050] In step S106, the first integer programming model is constructed by setting constraints and objective function.
[0051] In step S108, the acquired information is used to solve a first integer programming model to determine the correspondence between seats and task nesting, and a work assignment scheme is determined based on the correspondence. Here, the acquired information may include seat information, task nesting information, conflict information between task nestings, start-up task nesting information, and finish-up task nesting information. For example, model decision variables representing the correspondence between each seat in the seat set and each task nesting in the task nesting set can be solved to determine the work assignment scheme.
[0052] In this document, when describing integer programming models, the same or similar characters can be used to represent the same or similar variables. Therefore, once a variable is defined in one embodiment, it does not need to be described again in subsequent embodiments.
[0053] This paper does not impose any specific restrictions on the solution methods for integer programming models. It is understood that any suitable solution method for integer programming models, whether currently known or developed in the future, can be applied here. For example, the most commonly used solution methods currently include enumeration, cutting plane methods, branch and bound methods, graph theory methods, and binary exploitation methods. Furthermore, the integer programming model constructed in this paper can be input into any suitable solver for integer programming models, whether currently known or developed in the future. The solver will intelligently select the most suitable algorithm for the model and provide the optimal or feasible solution. Solvers typically integrate most of the top-tier algorithm packages currently available, and they contain many internal techniques to accelerate the solution process, often showing good results for general integer programming problems. For example, commercial solvers include Gurobi, COPT, SCIP / spx, and Matlab, while open-source solvers include CBC, GLPK, and LP_SOLVE.
[0054] Integer programming models offer mathematical precision for employee scheduling because they explicitly consider all constraints and find the optimal solution. By constructing an objective function, the model can quantify the merits of different scheduling schemes across various dimensions. Given sufficient time, the global optimum of the integer programming model can be obtained. When time is limited, modern solvers (such as branch and bound methods) can provide theoretical upper or lower bounds between feasible and optimal solutions, thus evaluating the quality of the current solution.
[0055] The construction process of the first integer programming model will be described in detail below.
[0056] For example, a first constraint can be set. The first constraint requires that each seat cannot perform overlapping tasks that conflict with each other, thereby improving the direct availability of the dispatching scheme and reducing or eliminating the workload of subsequent intervention.
[0057] In some embodiments, the first constraint may be set as follows: The requirement is to satisfy ∑k∈ mc x ik ≤1, where I represents the set of seats i, and k represents the task nesting. mc represents the set of nested, conflicting tasks that seat i can perform. i Let mc1 be the set of conflicting nested tasks that seat i can perform. For example, in mc1, task nesting A and task nesting B conflict with each other (i.e., mc1 = {k}). A ,k B In mc2, nested C tasks and nested D tasks conflict with each other (i.e., mc2 = {k}). C ,k D}).
[0058] For example, a second constraint can be set. The second constraint requires each seat to perform task stacking, thereby ensuring that the seat can perform tasks in a timely manner after the start of work and avoid being idle for a long time, thereby improving task processing efficiency and the work efficiency of airport staff.
[0059] In some embodiments, the second constraint may be set as follows: Requirements must be met in, Let i represent the set of nested tasks that seat i can perform.
[0060] For example, a third constraint can be set. The third constraint requires each seat to perform nested closing tasks, thereby ensuring that the seat can continue to perform tasks before closing time and avoids entering an idle state too early, thus improving task processing efficiency and the work efficiency of airport staff.
[0061] In some embodiments, the third constraint can be set as Requirements must be met in, Let i represent the set of nested finishing tasks that seat i can perform.
[0062] Understandably, additional constraints can be imposed based on the desired seat assignment effect, which will be described in more detail later.
[0063] In some embodiments, setting constraints may further include setting a fourth constraint that requires each task to be executed at most once, thereby avoiding task execution conflicts caused by the task being assigned to multiple seats, which would prevent the task from being completed or waste of human resources caused by the task being repeatedly executed.
[0064] In some examples, the fourth constraint can be set to Requirements must be met Where J represents the set of tasks j, Ki J represents the set of nested tasks that seat i can perform. k Let k represent the set of tasks included in the task nesting. The fourth constraint means that when k is a task nesting that seat i can perform, for any task j belonging to k, task j is guaranteed at most once.
[0065] In some examples, when defining task nesting, the same task can be included in only one task nesting, thus avoiding the task being executed multiple times. In this case, the task being executed at most once is equivalent to the task nesting containing that task being executed at most once. Therefore, the fourth constraint can require that each task nesting be executed at most once.
[0066] As an example of a non-restrictive statement, K i It can be a set of overlapping tasks that seat i can perform, selected in advance based on various requirements such as qualifications and working hours of seat i.
[0067] Additionally, in some examples, K may not be set. i Instead, it filters out tasks that seat i cannot handle by nesting k. For example, relevant constraints can be further set as follows: Requirements must be met in, Let x be the set of nested tasks that seat i cannot perform. In other examples, x can be set in advance for the k tasks that seat i cannot perform, before solving the first integer programming model. ik =0. This avoids assigning seats to tasks they are not capable of performing, thereby improving the direct availability of the assignment scheme and reducing or eliminating subsequent intervention workload.
[0068] Regarding the objective function of the first integer programming model, it can be set according to any desired business objective. Since task completion is important, the objective function can be set to optimize task coverage to ensure task completion and improve the airline's airport service quality.
[0069] In some embodiments, the objective function can be set to in, This represents the penalty coefficient for task j not being covered. The Min. function is used to find the minimum value.
[0070] The correspondence between task nesting and seat can be determined by solving the decision variables of the first model, thus obtaining the dispatching scheme.
[0071] In some embodiments, setting constraints may further include setting at least one of a fifth constraint and a sixth constraint, wherein the fifth constraint requires that the number of work rounds for each seat be within the range of work rounds for that seat, and the sixth constraint requires that the number of tasks assigned to each seat be within the range of the number of tasks assigned to that seat, thereby ensuring that the number of work rounds and / or the number of tasks assigned to a seat are not too few so that the tasks cannot be completed, and that the number of work rounds and / or the number of tasks assigned to a seat are not too many so as to fail to comply with the regulations of the Civil Aviation Administration or the airline.
[0072] In some examples, the fifth constraint can be set to Requirements must be met in, This indicates the upper limit of the number of dispatch rounds for seat i. This represents the lower limit of the number of dispatch rounds for seat i.
[0073] In some examples, the sixth constraint can be set to Requirements must be met Among them, |J k | indicates J k The number of tasks; the |a| function is used to find the number of elements in set a. This indicates the maximum number of tasks that can be performed at seat i. This represents the lower limit of the number of tasks for seat i.
[0074] In some embodiments, constructing the first integer programming model may further include setting a seventh constraint, which requires that the deviation of the number of dispatching rounds for each seat from the baseline number of dispatching rounds does not exceed the maximum deviation of the number of dispatching rounds, wherein the objective function may be further set based on the objective of optimizing the balance of the number of dispatching rounds among seats.
[0075] In some examples, the seventh constraint can be set to Requirements must be met Where, n rounds This indicates the base dispatch round number for seat i. This indicates the negative deviation between the number of dispatch rounds for seat i and the baseline number of dispatch rounds (when...). hour when hour ), This indicates the positive deviation of the number of dispatch rounds for seat i from the baseline number of dispatch rounds (when...). hour when hour ), dev rounds This represents the maximum deviation in the number of dispatch rounds for seat i. In formula (1), when the number of dispatch rounds for seat i is not equal to the baseline number of dispatch rounds, the model uses variables... and To absorb the differences. In other words, formula (1) is used to calculate the deviation of the number of dispatching rounds for each seat relative to the baseline number of dispatching rounds, while formulas (2) and (3) determine dev based on the deviation of the number of dispatching rounds for all seats. rounds This is achieved by optimizing dev rounds It can balance the number of work rounds for each seat.
[0076] In some examples, the objective function can be set to Among them, c rounds This represents the penalty coefficient for the deviation in the number of dispatch rounds for seat i.
[0077] In some embodiments, constructing the first integer programming model may further include setting an eighth constraint, which requires that the deviation of the number of tasks assigned to each seat from the baseline number of tasks does not exceed the maximum deviation of the number of tasks, wherein the objective function may be further set based on the objective of optimizing the balance of the number of tasks among seats.
[0078] In some examples, the eighth constraint can be set to Requirements must be met Where, n tasks This represents the baseline number of tasks for seat i. This indicates the negative deviation of the number of tasks assigned to seat i from the baseline number of tasks (when...). hour when hour ), This indicates the positive deviation between the number of tasks assigned to seat i and the baseline number of tasks (when...). hour when hour ), dev tasks This represents the maximum task quantity deviation for seat i. In formula (4), when the number of tasks assigned to seat i is not equal to the baseline number of tasks, the model uses the variable... and To absorb the differences. In other words, formula (4) is used to calculate the deviation of the number of tasks assigned to each seat relative to the baseline number of tasks, while formulas (5) and (6) determine dev based on the deviation of the number of tasks across all seats. tasks This is achieved by optimizing dev tasks It can balance the number of tasks assigned to each seat.
[0079] In some examples, the objective function can be set to Among them, c tasks This represents the task quantity deviation penalty coefficient for seat i.
[0080] In some embodiments, constructing a first integer programming model may include setting a seventh constraint and an eighth constraint, wherein the objective function may be further based on the objective settings of balancing the number of work rounds among seats and balancing the number of tasks among seats.
[0081] In some examples, the objective function can be set to
[0082] Therefore, by using the seventh and eighth constraints, as well as the objective function set to promote task coverage, optimize the balance of work assignment rounds among seats, and optimize the balance of task quantity among seats, it is possible to achieve a balance of workload among seats while promoting task completion.
[0083] Airport services can include various types of work positions. For example, from the perspective of shift frequency, positions can include one-on-one work positions and one-on-two work positions; or from the perspective of work hours, positions can include day shift positions and night shift positions; or from the perspective of work handover, positions can include positions with shift handover and positions without shift handover, etc. It is clear that, considering the different characteristics of different types of positions, the expected baseline workload (e.g., number of shifts and number of tasks) for different types of positions can be different.
[0084] In some embodiments, a seat may include a first seat having a first seat type and a second seat having a second seat type different from the first seat type. As a non-limiting example, the first seat may be a regular seat (e.g., a day shift seat) and the second seat may be a night shift seat.
[0085] In this embodiment, the first integer programming model can also be constructed through the following operations: For the first position, a seventh constraint and an eighth constraint are set. The seventh constraint requires that the deviation of the number of assignment rounds for each first position from the baseline number of assignment rounds for the first position does not exceed the maximum deviation of the number of assignment rounds for the first position. The eighth constraint requires that the deviation of the number of tasks assigned to each first position from the baseline number of tasks for the first position does not exceed the maximum deviation of the number of tasks for the first position. For the second position, a ninth constraint is set. The ninth constraint requires that the deviation of the number of tasks between different second positions does not exceed the maximum deviation of the number of tasks for the second position. The objective function can be further set based on the objectives of optimizing the balance of the number of assignment rounds among the first positions, the balance of the number of tasks among the first positions, and the balance of the number of tasks among the second positions.
[0086] Since the number of second seats is usually small, the computational resources required to compare the number of tasks assigned to each second seat are less than the computational resources required to calculate the baseline number of tasks for each second seat and then compare the number of tasks assigned to each second seat with that baseline number. This helps to reduce the computational resource consumption of the dispatching scheme.
[0087] In some examples, the seventh constraint can be set to Requirements must be met Among them, I normal Let n represent the set of first-place seats i. rounds ′ represents the baseline work round number for the first seat i. This represents the negative deviation of the number of dispatch rounds for the first seat i from the baseline number of dispatch rounds for the first seat i (when... hour when hour ), This represents the positive deviation between the number of dispatch rounds for the first seat i and the baseline number of dispatch rounds for the first seat i (when...). hour when hour ), dev rounds ′ represents the maximum number of dispatching rounds deviation for the first seat i.
[0088] In some examples, the eighth constraint can be set to Requirements must be met Where, n tasks ′ represents the baseline number of tasks for the first seat i. This indicates the negative deviation of the number of tasks assigned to seat i from the baseline number of tasks assigned to seat i (when...). hour when hour ), This indicates the positive deviation between the number of tasks assigned to seat i and the baseline number of tasks assigned to seat i (when...). hour when hour ), dev tasks ′ represents the maximum task quantity deviation of the first seat i.
[0089] In some examples, the ninth constraint can be set to Requirements must be met Among them, I lateLet dev represent the set of second seats i and i′. late This represents the maximum deviation in the number of tasks for the second seats i and i′.
[0090] In some examples, the objective function can be set to Among them, c1 rounds c1 represents the penalty coefficient for the deviation in the number of work rounds for the first position. tasks c represents the penalty coefficient for deviation in the number of tasks for the first-place candidate. late This represents the penalty coefficient for deviation in the number of tasks assigned to the second-ranked candidate.
[0091] Therefore, based on the seventh and eighth constraints for the first position, the ninth constraint for the second position, and the objective function set to optimize task coverage, balance the number of assignment rounds among the first positions, balance the number of tasks among the first positions, and balance the number of tasks among the second positions, the workload balance for the first and second positions can be achieved respectively while promoting task completion. Furthermore, corresponding benchmarks can be set for different types of positions (for example, the benchmark for the first position is the benchmark number of assignment rounds and the benchmark number of tasks for the first position, while the benchmark for the second position is the number of tasks assigned to other second positions), thus enabling the determined assignment scheme to take into account the characteristics of different types of positions, thereby achieving personalized assignment for positions.
[0092] In airport services, some tasks are assigned to dedicated seats or some seats are designated for performing dedicated tasks. In some embodiments, setting constraints may further include setting a tenth constraint, which requires that the task nesting to which the task with the designated seat belongs, or the task nesting to which the task with the designated seat belongs, be executed by the designated seat.
[0093] In some examples, the tenth constraint can be set to Requirements must be met Where J′ represents the set of tasks j with designated seats, i(j) represents the designated seat of task j with designated seats, and K i(j) Let represent the set of nested tasks that a given seat i(j) can perform.
[0094] This ensures that tasks with designated seats can be completed by those designated seats, thereby improving the availability of the dispatching scheme and reducing the workload of subsequent intervention.
[0095] In some embodiments, a seat may include a first seat of a first seat type and a third seat of a third seat type different from the first seat type. As a non-limiting example, the first seat may be a regular seat, and the third seat may be an unregular seat. For example, an unregular seat may refer to a seat without shift handover or a seat where the early shift of the following day requires early departure; such seats are typically assigned at least one less round of work assignments than regular seats. Another example of an unregular seat is a one-day-on, one-day-off seat.
[0096] In this embodiment, the first integer programming model can also be constructed by the following operations: for the first seat, a seventh constraint is set, which requires that the deviation of the number of dispatching rounds for each first seat from the baseline number of dispatching rounds for the first seat does not exceed the maximum deviation of the number of dispatching rounds for the first seat; and for the third seat, an eleventh constraint is set, which requires that the number of dispatching rounds for each third seat is within the range of the number of dispatching rounds for the third seat set based on the baseline number of dispatching rounds for the first seat.
[0097] In some examples, the seventh constraint can be set to Requirements must be met
[0098] In some examples, the eleventh constraint can be set to Requirements must be met Among them, I anoral Let N represent the set of third-place candidates, where N is a positive integer. As a non-restrictive example, N can be 1. It is understood that the actual value of N can be adjusted according to the specific needs of the dispatching scheme.
[0099] The baseline number of work rounds and baseline number of tasks for the seats in the first integer programming model mentioned in this article can be set directly by technicians based on integrating historical work data and experience, or they can be calculated by a specially constructed model (e.g., the second integer programming model described below) based on known information.
[0100] In some embodiments, before solving the first integer programming model, method 100 may include: constructing a second integer programming model by setting constraints and an objective function; and solving the second integer programming model using the acquired information (e.g., seat information, task nesting information, conflict information between task nestings, start task nesting information, and finish task nesting information) to determine a baseline correspondence between seats and task nestings, wherein the baseline number of dispatch rounds and the baseline number of tasks are determined based on the baseline correspondence.
[0101] In some embodiments, setting constraints may include setting a first constraint, a second constraint, a third constraint, and a fourth constraint; the objective function may be set solely based on optimizing task coverage. Here, the first to fourth constraints may be the first to fourth constraints as described in any of the foregoing embodiments.
[0102] In some examples, determining the baseline dispatch rounds and the number of baseline tasks based on the baseline correspondence can be set as follows: in, This indicates that solving the second integer programming model yields the baseline correspondence (or decision variable values) between seat and task nesting. It can be understood that for embodiments that do not distinguish seat types, the second integer programming model can be calculated for the set of seats to which all seats belong. For embodiments that distinguish seat types, the second integer programming model can be calculated for different types of seats to obtain the baseline number of assignment rounds and the baseline number of tasks for each type of seat.
[0103] In some embodiments, the second integer programming model is also constructed by setting a fifth constraint and a sixth constraint. Here, the fifth constraint and the sixth constraint can be the fifth constraint and the sixth constraint as described in any of the foregoing embodiments.
[0104] After obtaining the assignment scheme through the first integer programming model or through the first and second integer programming models, the assignment scheme can be further adjusted using the third integer programming model, which will be described below. The construction and solution process of the third integer programming model will be detailed below.
[0105] In some embodiments, after solving the first integer programming model, method 100 may further include: for a first task having a first task type and a second task having a second task type different from the first task type, obtaining information about the second task that can be exchanged with the first task; and obtaining information about the first task and the second task assigned to each first seat having a first seat type based on the dispatching scheme.
[0106] For example, the first mission could be a special flight (e.g., a high-difficulty flight, an emergency flight, a special passenger flight, etc.), and the second mission could be a regular flight.
[0107] As a non-limiting example, the first and second tasks that can be exchanged must satisfy the following conditions: their working hours are close to each other, and the qualifications of the seat originally assigned to the first task can meet the qualification requirements of the second task, and the qualifications of the seat originally assigned to the second task can meet the qualification requirements of the first task.
[0108] In this embodiment, method 100 may further include: constructing a third integer programming model by setting constraints and an objective function; using the acquired information (e.g., seat information, task nesting information, conflict information between task nestings, start task nesting information and finish task nesting information, information of the second task that can be exchanged with the first task, and information obtained based on the dispatching scheme) to solve the third integer programming model to determine the exchange relationship between the first task and the second task, and adjusting the dispatching scheme based on the exchange relationship.
[0109] In some embodiments, setting constraints may include setting a twelfth constraint, which requires that the deviation in the number of first tasks among different first seats does not exceed the maximum deviation in the number of first tasks. Setting an objective function may include setting an objective function based on the objective of optimizing the balance of the number of first tasks among the first seats.
[0110] In some examples, the twelfth constraint can be set to Requirements must be met Where I1 represents the set of first-place seats, and dev represents the maximum deviation in the number of first-place tasks. Let i represent the set of first tasks j to which the first seat i is assigned. Let J represent the set of second tasks p that can be exchanged with the first task j. special Let j represent the set of the first task. Let i' represent the set of first tasks j to which the first seat i' is assigned. Let represent the set of second tasks p to which the first seat i is assigned. Let represent the set of second tasks p to which the first seat i′ is assigned.
[0111] In some examples, the objective function can be set to Min.dev so that the number of first tasks assigned to each first seat is as similar or close as possible.
[0112] Therefore, by using the twelfth constraint and the objective function aimed at optimizing the balance of the number of first tasks among the first seats, the adjusted dispatching scheme can distribute the first tasks evenly among all seats instead of concentrating them on individual seats.
[0113] Therefore, the dispatching scheme obtained by solving the first integer programming model and the third integer programming model is more in line with the actual airport service scenario and has better feasibility. It can also achieve fairness among seats of the same type while ensuring task coverage, thereby improving the satisfaction and well-being of airport staff. Here, "fairness" is reflected in two aspects: firstly, in the fairness of workload (including the balance of dispatching rounds and the balance of the number of assigned tasks); secondly, in the fairness of work difficulty (the balance of the number of special tasks).
[0114] Fairness in task difficulty can also be achieved by quantifying the difficulty of different tasks and balancing the total difficulty of the tasks assigned to each seat.
[0115] In some embodiments, setting constraints for the third integer programming model may include setting a twelfth constraint, which requires that the deviation in the effective number of first tasks among different first seats does not exceed the maximum deviation in the effective number of first tasks, wherein the effective number of first tasks for each first seat is determined based on the effectiveness coefficient of the first tasks assigned to that first seat. Setting the objective function for the third integer programming model may include setting the objective function based on the objective of optimizing the balance of the effective number of first tasks among the first seats.
[0116] In some embodiments, the effectiveness coefficient of the first task can be determined based on one or more of the task's execution difficulty, execution period, and execution duration. Of course, the effectiveness coefficient of the first task can also be determined based on other factors, depending on the actual task assignment requirements.
[0117] In some examples, the twelfth constraint can be set to Requirements must be met Where dev′ represents the maximum deviation of the effective number of first tasks, C j This represents the effective coefficient of the first task j. It can be understood that when C... j When = 1, the twelfth constraint degenerates into requiring a balance in the number of tasks.
[0118] In some examples, the objective function can be set to Min.dev′, so that the effective number of first tasks assigned to each first seat is as close to or even the same as each other.
[0119] Since different tasks have different levels of difficulty, the efficiency coefficient can be used to incorporate the individualized difficulty of different tasks into the dispatching scheme, making the dispatching scheme more balanced.
[0120] In some embodiments, the constraints of the third integer programming model may further include at least one of the following: setting a thirteenth constraint, which requires that each first task can be exchanged with at most one second task once; setting a fourteenth constraint, which requires that each second task can be exchanged with at most one first task once. This ensures that the first and second tasks are exchanged in an orderly and efficient manner, guaranteeing the feasibility of the task assignment scheme.
[0121] In some examples, the thirteenth constraint can be set to Requirements must be met
[0122] In some examples, the fourteenth constraint can be set to Requirements must be met Among them, P normal Let p represent the set of the second task.
[0123] In some embodiments, setting constraints on the third integer programming model may include setting a fifteenth constraint, which requires that the deviation of the number of first tasks assigned to each first seat from the baseline number of first tasks for the first seat does not exceed the maximum deviation of the number of first tasks for the first seat. Setting the objective function of the third integer programming model may include setting the objective function based on the objective of making the number of first tasks for the first seat close to the baseline number of first tasks for the first seat.
[0124] In some examples, the fifteenth constraint can be set to Requirements must be met in, dev represents the baseline number of first tasks for the first seat i (which can be simply referred to as the "baseline number of first tasks"). i Let represent the maximum deviation of the number of first tasks for the first seat i, and dev i Not less than the absolute value of the difference between the number of first tasks assigned to the first seat and the baseline number of first tasks (i.e. Based on this, it can be understood that regardless of whether the number of first tasks assigned to the first seat is not greater than the baseline number of first tasks or the number of first tasks assigned to the first seat is not less than the baseline number of first tasks, dev i Both can simultaneously satisfy the constraints of formula (7) and formula (8).
[0125] In some embodiments, the baseline number of first tasks for a first seat is determined based on the total number of first tasks and the ratio of the on-duty time of the first seat to the total on-duty time of all first seats.
[0126] In some examples, Where, mspecial w represents the total number of tasks in the first task. i This indicates the duration of service for the first seat i.
[0127] In some examples, the objective function can be set to Min.∑ i∈I dev i The goal is to ensure that the number of first tasks assigned to each first seat is as equal to or close to the baseline number of first tasks assigned to that first seat.
[0128] In some embodiments, setting constraints on the third integer programming model may include setting a fifteenth constraint, which requires that the deviation of the effective number of first tasks assigned to each first seat from the baseline effective number of first tasks for the first seat does not exceed the maximum deviation of the effective number of first tasks for the first seat, wherein the effective number of first tasks for each first seat is determined based on the effectiveness coefficient of the first tasks assigned to that first seat. Setting the objective function of the third integer programming model may include setting the objective function based on the objective of making the effective number of first tasks for the first seat close to the baseline effective number of first tasks for the first seat.
[0129] In some examples, the fifteenth constraint can be set to Requirements must be met in, Let dev' represent the baseline number of valid first tasks for the first seat i (which can be simply referred to as the "baseline number of valid first tasks"). i Let dev' represent the maximum effective number deviation of the first task for the first seat i, and dev'' i Not less than the absolute value of the difference between the effective number of first tasks allocated to the first seat and the baseline effective number of first tasks (i.e., Based on this, it can be understood that regardless of whether the number of valid first tasks allocated to the first seat is not greater than the baseline number of valid first tasks, or whether the number of valid first tasks allocated to the first seat is not less than the baseline number of valid first tasks, dev′ i Both can simultaneously satisfy the constraints of formula (9) and formula (10).
[0130] In some examples, Among them, M special This indicates the total number of valid tasks in the first task.
[0131] Since different tasks present varying degrees of difficulty, an effective coefficient can be used to incorporate the individualized difficulty of each task into the dispatching scheme, thereby further ensuring the balance of the dispatching scheme.
[0132] Note that in the third integer programming model, the twelfth and fifteenth constraints cannot be enabled simultaneously, but either the twelfth or fifteenth constraint can be set in combination with the thirteenth and fourteenth constraints.
[0133] It is understandable that when actually solving the first integer programming model, there may be situations where tasks are not assigned to seats. To address this situation, in some embodiments, after solving the first integer programming model, method 100 may further include: determining the tasks that have not been assigned to seats according to the dispatching scheme; determining a first task stack that can be executed together with the task in the same round of dispatching by the same seat; and inserting the task into the first task stack, thereby adjusting the dispatching scheme.
[0134] As a non-restrictive example, after solving the first integer programming model, there is a situation where flight A is not assigned a seat. We can search for task nesting assignments with similar work hours to flight A, based on flight A's work hours of 18:00–18:10. For example, this seat might be assigned task nesting B (00:00–1:00) and task nesting C (17:40–18:40). Clearly, task nesting B's work hours are closer to flight A's work hours than task nesting C's. Then, we determine if the seat executing task nesting B meets flight A's eligibility requirements. If it does, task nesting B is considered the first task nesting that can be executed alongside flight A in the same round of assignment, allowing flight A to be inserted into task nesting B and ultimately assigned to that seat. Alternatively, we can search for candidate task nestings based on flight A's eligibility requirements and then select the first task nesting from these candidate nestings based on flight A's work hours.
[0135] Furthermore, in some embodiments, when the first task stack includes multiple first task stacks, the second task stack with the fewest tasks among the multiple first task stacks is selected to insert the task into the second task stack, thereby adjusting the dispatching scheme. It is understood that in other embodiments, when selecting the second task stack, the effective number of tasks may be used as the criterion instead of the total number of tasks.
[0136] Furthermore, in some embodiments, when the second task stack includes multiple second task stacks, the number of tasks assigned to each second task stack is determined and the second task stack corresponding to the seat with the smallest number of tasks is selected to insert the task into the second task stack, thereby adjusting the dispatching scheme.
[0137] Therefore, while ensuring task coverage, it is also possible to ensure a balance in the number of tasks among seats.
[0138] In some embodiments, the first integer programming model to the third integer programming model can be coupled together as a single integer programming model to facilitate solving. In other embodiments, it may be advantageous to decouple the first integer programming model to the third integer programming model and solve them piecewise, which can improve computational efficiency and shorten computation time.
[0139] This disclosure also provides a seat dispatching device based on task nesting. (See reference...) Figure 2 This illustrates a schematic block diagram of a task-based seat dispatching device 200 (hereinafter referred to as "device 200") according to some embodiments of the present disclosure. Figure 2 As shown, the device 200 includes an acquisition module 202, a construction module 204, and a dispatch module 206.
[0140] The acquisition module 202 is configured to acquire seat information, task stack information, task stack conflict information, start task stack information, and finish task stack information. The task stack includes multiple tasks that can be executed by the same seat in the same round of dispatching.
[0141] Module 204 is configured to construct a first integer programming model by: setting constraints, including: setting a first constraint that requires each seat not to execute overlapping task stacks; setting a second constraint that requires each seat to execute start stacks; setting a third constraint that requires each seat to execute finish stacks; and setting an objective function based on the goal of optimizing task coverage.
[0142] The dispatch module 206 is configured to use the acquired information to solve a first integer programming model to determine the correspondence between seats and task nesting, and to determine the dispatch scheme based on the correspondence.
[0143] Various embodiments of the apparatus 200 can be referred to similarly to the various embodiments described above regarding the seat assignment method based on task nesting, and will not be repeated here.
[0144] This disclosure also provides a computing device. (See reference...) Figure 3 This illustrates a schematic block diagram of a computing device 300 according to some embodiments of the present disclosure. Figure 3As shown, the computing device includes a processor 302 and a memory 304 storing computer-executable instructions that, when executed by the processor 302, cause the processor 302 to perform the method 100 according to any of the foregoing embodiments. The processor 302 may be, for example, a central processing unit (CPU) of the computing device 300. The processor 302 may be any type of general-purpose processor or may be a processor specifically designed for task stacking-based seat dispatch, such as an application-specific integrated circuit (“ASIC”). The memory 304 may be coupled to the processor 302 and may include various computer-readable media accessible by the processor 302. In various embodiments, the memory 304 described herein may include volatile and non-volatile media, removable and non-removable media. For example, the memory 304 may include any combination of: random access memory (“RAM”), dynamic RAM (“DRAM”), static RAM (“SRAM”), read-only memory (“ROM”), flash memory, cache memory, and / or any other type of non-transitory computer-readable media. The memory 304 may store instructions that, when executed by the processor 302, cause the processor 302 to execute the method 100 according to any of the foregoing embodiments of the present disclosure.
[0145] The computing device 300 is configured to perform the method 100 described in any of the foregoing embodiments, and therefore reference can be made to the description of the various embodiments of method 100 above, which will not be repeated here.
[0146] This disclosure also provides a computer-readable storage medium having computer-executable instructions stored thereon, which, when executed by a processor, cause the processor to perform a seat dispatching method based on task nesting according to any of the foregoing embodiments of this disclosure.
[0147] This disclosure also provides a computer program product that may include instructions that, when executed by a processor, implement the task-nesting-based seat dispatching method according to any of the foregoing embodiments of this disclosure. The instructions may be any set of instructions that can be executed directly by one or more processors, such as machine code, or any set of instructions that can be executed indirectly, such as a script. The instructions may be stored in an object code format for direct processing by one or more processors, or stored in any other computer language, including scripts or sets of independent source code modules that are interpreted on demand or compiled in advance.
[0148] Figure 4A schematic block diagram of a computer system 400 on which embodiments of the present disclosure may be implemented is shown. The computer system 400 includes a bus 402 or other communication mechanism for transmitting information, and a processing means 404 coupled to the bus 402 for processing information. The computer system 400 also includes a memory 406 coupled to the bus 402 for storing instructions to be executed by the processing means 404; the memory 406 may be random access memory (RAM) or other dynamic storage device. The memory 406 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processing means 404. The computer system 400 also includes a read-only memory (ROM) 408 or other static storage device coupled to the bus 402 for storing static information and instructions for the processing means 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to the bus 402 for storing information and instructions. Computer system 400 may be coupled via bus 402 to output device 412 for providing output to a user, such as, but not limited to, a display (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD)), speakers, etc. Input device 414, such as a keyboard, mouse, microphone, etc., is coupled to bus 402 for transmitting information and command selections to processing device 404. Computer system 400 may execute embodiments of this disclosure. Consistent with certain implementations of this disclosure, results are provided by computer system 400 in response to processing device 404 executing one or more sequences of one or more instructions contained in memory 406. Such instructions may be read into memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequence of instructions contained in memory 406 causes processing device 404 to perform the methods described herein. Alternatively, the teachings may be implemented using hardwired circuitry in place of or in combination with software instructions. Therefore, implementations of this disclosure are not limited to any particular combination of hardware circuitry and software. In various embodiments, computer system 400 may be connected across a network to one or more other computer systems, such as computer system 400, via network interface 416 to form a networked system. This network may include a private network or a public network such as the Internet. In a networked system, one or more computer systems may store data and supply data to other computer systems. As used herein, the term "computer-readable medium" refers to any medium that participates in providing instructions to processing device 404 for execution. Such media may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical discs or magnetic disks such as storage device 410. Volatile media include dynamic memory such as memory 406. Transmission media include coaxial cables, copper wires, and optical fibers, including wiring that includes bus 402.Common forms of computer-readable media or computer program products include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, or any other magnetic media, CD-ROMs, digital video discs (DVDs), Blu-ray discs, any other optical media, thumb drives, memory cards, RAM, PROMs and EPROMs, fast EPROMs, any other memory chips or cartridges, or any other tangible media from which a computer can read. Various forms of computer-readable media may be involved when carrying one or more sequences of one or more instructions to processing device 404 for execution. For example, instructions may initially be carried on a disk of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit the instructions over a telephone line using a modem. A modem local to computer system 400 may receive data over a telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 402 may receive the data carried in the infrared signal and place the data on bus 402. Bus 402 carries the data to memory 406, from which processing device 404 retrieves and executes the instructions. Optionally, the instructions received by the memory 406 may be stored on the storage device 410 before or after execution by the processing device 404.
[0149] According to various embodiments, instructions configured to be executed by a processing device to perform a method are stored on a computer-readable medium. The computer-readable medium may be a device for storing digital information. For example, a computer-readable medium includes a compact disc read-only memory (CD-ROM) as known in the art for storing software. The computer-readable medium is accessed by a processor adapted to execute the instructions configured to be executed.
[0150] The foregoing has described one or more exemplary embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0151] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. A typical implementation device is a server system. Of course, this disclosure does not exclude the possibility that, with the future development of computer technology, the computer implementing the functions of the above embodiments can be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.
[0152] While one or more embodiments of this disclosure provide the method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only execution order. In actual device or terminal product execution, the methods shown in the embodiments or drawings can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment).
[0153] The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitation, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded. For example, the use of terms such as "first" or "second" to denote names does not indicate any particular order.
[0154] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, when implementing one or more embodiments of this disclosure, the functions of each module can be implemented in one or more software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0155] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0156] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more blocks of a block diagram.
[0157] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of a block diagram.
[0158] Those skilled in the art will understand that one or more embodiments of this disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this disclosure may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0159] One or more embodiments of this disclosure can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this disclosure can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can reside in local and remote computer storage media, including storage devices.
[0160] The same or similar parts between the various embodiments of this disclosure can be referred to mutually, and each embodiment focuses on describing the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments. In the description of this disclosure, the descriptions of terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., mean that the specific feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of this disclosure. In this disclosure, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this disclosure and the features of the different embodiments or examples.
[0161] Additionally, when used in this disclosure, the terms “here,” “above,” “below,” “below,” “in the following,” “overall,” and similar terms should refer to the entirety of this disclosure and not any particular part thereof. Furthermore, unless expressly stated otherwise or otherwise understood in the context in which they are used, conditional language used herein, such as “may,” “possibly,” “for example,” “like,” etc., is generally intended to express that certain embodiments include, while other embodiments do not, certain features, elements, and / or states. Therefore, such conditional language is not generally intended to imply that one or more embodiments require features, elements, and / or states in any way, or whether such features, elements, and / or states are included or performed in any particular embodiment.
Claims
1. A seat assignment method based on task nesting, comprising: Obtain seat information; Get task stacking information, task stack conflict information, start task stacking information, and finish task stacking information. Among them, task stacking includes multiple tasks that can be executed by the same seat in the same round of dispatching, and multiple tasks in task stacking are multiple flights. The difference between the earliest departure time and the latest departure time among multiple flights in the same task stack cannot exceed the set duration of task stacking. The first integer programming model is constructed using the following operations: Set constraints, including: Set a first constraint that requires each seat to not execute conflicting nested tasks. Set a second constraint that requires each seat to perform nested start-up tasks, and A third constraint is set, which requires each seat to perform nested completion tasks; The objective function is set based on the goal of optimizing task coverage; and The acquired information is used to solve the first integer programming model to determine the correspondence between seats and task nesting, and a work assignment scheme is determined based on the correspondence. The method further includes, after solving the first integer programming model: For a first task having a first task type and a second task having a second task type different from the first task type, obtain information about the second task that can be exchanged with the first task; Based on the dispatching scheme, obtain information about the first and second tasks assigned to each first seat with the first seat type; The third integer programming model is constructed using the following operations: The constraints include setting a twelfth constraint, which requires that the deviation in the number of first tasks between different first seats does not exceed the maximum deviation in the number of first tasks. The objective function is set based on the goal of optimizing the balance of the number of first tasks among the first seats; and The obtained information is used to solve the third integer programming model to determine the exchange relationship between the first task and the second task, and the dispatching scheme is adjusted based on the exchange relationship.
2. The method of claim 1, wherein, Setting constraints also includes setting a fourth constraint that requires each task to be executed at most once.
3. The method of claim 1, wherein, Setting constraints also includes setting at least one of a fifth constraint and a sixth constraint, wherein the fifth constraint requires that the number of assignment rounds for each seat be within the range of assignment rounds for that seat, and the sixth constraint requires that the number of tasks assigned to each seat be within the range of the number of tasks for that seat.
4. The method of claim 1, wherein, The first integer programming model is also constructed through at least one of the following operations: A seventh constraint is set, requiring that the deviation of the number of dispatch rounds for each seat from the baseline number of dispatch rounds does not exceed the maximum deviation of the number of dispatch rounds. The objective function is further based on the objective of optimizing the balance of dispatch rounds among seats. An eighth constraint is set, which requires that the deviation of the number of tasks assigned to each seat from the baseline number of tasks does not exceed the maximum task number deviation. The objective function is further set based on the objective of optimizing the balance of the number of tasks among seats.
5. The method of claim 1, wherein, The seats include a first seat of a first seat type and a second seat of a second seat type different from the first seat type, and wherein a first integer programming model is constructed through the following operations: For the first position, a seventh constraint and an eighth constraint are set. The seventh constraint requires that the deviation of the number of assignment rounds for each first position from the baseline number of assignment rounds for the first position does not exceed the maximum deviation of the number of assignment rounds for the first position. The eighth constraint requires that the deviation of the number of tasks assigned to each first position from the baseline number of tasks for the first position does not exceed the maximum deviation of the number of tasks for the first position. For the second position, a ninth constraint is set, which requires that the deviation in the number of tasks between different second positions does not exceed the maximum deviation in the number of tasks for the second position; and The objective function is further based on the objective settings of balancing the number of work rounds among the first seats, balancing the number of tasks among the first seats, and balancing the number of tasks among the second seats.
6. The method according to claim 1, wherein, Setting constraints also includes setting a tenth constraint, which requires that the task nesting to which the task with the specified seat belongs, or the task nesting to which the specified seat belongs, be executed by the specified seat.
7. The method according to claim 1, wherein, The seats include a first seat having a first seat type and a third seat having a third seat type different from the first seat type, and wherein a first integer programming model is constructed through the following operations: For the first position, a seventh constraint is set, which requires that the deviation of the number of dispatch rounds for each first position from the baseline number of dispatch rounds for the first position does not exceed the maximum deviation of the number of dispatch rounds for the first position; and For the third position, an eleventh constraint is set, which requires that the number of dispatching rounds for each third position be within the range of the number of dispatching rounds for the third position set based on the baseline number of dispatching rounds for the first position.
8. The method according to claim 4, wherein, Before solving the first integer programming model, the method further includes: The second integer programming model is constructed using the following operations: The constraints are set, including setting the first constraint, the second constraint, the third constraint, and the fourth constraint, wherein the fourth constraint requires that each task be executed at most once, and The objective function is set solely based on the goal of optimizing task coverage; The acquired information is used to solve the second integer programming model to determine the baseline correspondence between seat and task nesting. The baseline number of work rounds and the baseline number of tasks are determined based on the baseline correspondence.
9. The method according to claim 8, wherein, The second integer programming model is also constructed through at least one of the following operations: A fifth constraint is set, which requires that the number of dispatch rounds for each seat be within the range of dispatch rounds for that seat; and A sixth constraint is set, which requires that the number of tasks assigned to each seat is within the range of the number of tasks assigned to that seat.
10. The method according to claim 1, wherein, After solving the first integer programming model, the method further includes: For a first task having a first task type and a second task having a second task type different from the first task type, obtain information about the second task that can be exchanged with the first task; Based on the dispatching scheme, obtain information about the first and second tasks assigned to each first seat with the first seat type; The third integer programming model is constructed using the following operations: The constraints include a twelfth constraint requiring that the deviation in the effective number of first tasks among different first seats does not exceed the maximum deviation in the effective number of first tasks. The effective number of first tasks for each first seat is determined based on the effectiveness coefficient of the first tasks assigned to that first seat. The objective function is set based on the goal of optimizing the effective number balance of the first tasks among the first seats; and The obtained information is used to solve the third integer programming model to determine the exchange relationship between the first task and the second task, and the dispatching scheme is adjusted based on the exchange relationship.
11. The method according to claim 1 or 10, wherein, The third integer programming model is also constructed through at least one of the following operations: A thirteenth constraint is set, which requires that each first task can only exchange with at most one second task once; and A fourteenth constraint is set, which requires that each second task can only be swapped with a first task at most once.
12. The method according to claim 1, wherein, After solving the first integer programming model, the method further includes: For a first task having a first task type and a second task having a second task type different from the first task type, obtain information about the second task that can be exchanged with the first task; Based on the dispatching scheme, obtain information about the first and second tasks assigned to each first seat with the first seat type; The third integer programming model is constructed using the following operations: The constraints include a fifteenth constraint requiring that the deviation of the number of first tasks assigned to each first seat from the baseline number of first tasks for the first seat does not exceed the maximum deviation of the number of first tasks for the first seat. The objective function is set based on the goal of making the number of first tasks for the first seat close to the baseline number of first tasks for the first seat; and The obtained information is used to solve the third integer programming model to determine the exchange relationship between the first task and the second task, and the dispatching scheme is adjusted based on the exchange relationship.
13. The method according to claim 12, wherein, The baseline number of first tasks for the first position is determined based on the total number of first tasks and the ratio of the on-duty time of the first position to the total on-duty time of all first positions.
14. The method according to claim 1, wherein, After solving the first integer programming model, the method further includes: For a first task having a first task type and a second task having a second task type different from the first task type, obtain information about the second task that can be exchanged with the first task; Based on the dispatching scheme, obtain information about the first and second tasks assigned to each first seat with the first seat type; The third integer programming model is constructed using the following operations: The constraints include a fifteenth constraint requiring that the deviation of the effective number of first tasks assigned to each first seat from the baseline effective number of first tasks for the first seat does not exceed the maximum effective number deviation of first tasks for the first seat. The effective number of first tasks for each first seat is determined based on the effectiveness coefficient of the first tasks assigned to that first seat. The objective function is set based on the goal of making the effective number of first tasks for the first seat close to the benchmark effective number of first tasks for the first seat; and The obtained information is used to solve the third integer programming model to determine the exchange relationship between the first task and the second task, and the dispatching scheme is adjusted based on the exchange relationship.
15. The method according to any one of claims 12 to 14, wherein, The third integer programming model is also constructed through at least one of the following operations: A thirteenth constraint is set, which requires that each first task can only exchange with at most one second task once; and A fourteenth constraint is set, which requires that each second task can only be swapped with a first task at most once.
16. The method according to claim 10 or 14, wherein, The effectiveness coefficient of the first task is determined based on one or more of the following: the difficulty of execution, the execution period, and the execution duration of the first task.
17. The method according to claim 1, wherein, After solving the first integer programming model, the method further includes: Based on the dispatching scheme, determine the tasks that have not been assigned to a seat; Determine the first task that can be nested with the task in the same dispatch round and can be executed together with the task in the same seat; and The task is inserted into the first task nesting, thereby adjusting the dispatching scheme.
18. The method according to claim 17, wherein, In the case where the first task stack includes multiple first task stacks, the second task stack with the fewest tasks among the multiple first task stacks is selected to insert the task into the second task stack, thereby adjusting the dispatching scheme.
19. The method according to claim 18, wherein, In the case where the second task stack includes multiple second task stacks, the number of tasks assigned to each second task stack is determined, and the second task stack corresponding to the seat with the smallest number of tasks is selected to insert the task into that second task stack, thereby adjusting the dispatching scheme.
20. A seat dispatching device based on task nesting, comprising: The acquisition module is configured as follows: Obtain seat information Get task stacking information, task stack conflict information, start task stacking information, and finish task stacking information. Among them, task stacking includes multiple tasks that can be executed by the same seat in the same round of dispatching, and multiple tasks in task stacking are multiple flights. The difference between the earliest departure time and the latest departure time among multiple flights in the same task stack cannot exceed the set duration of task stacking. The building module is configured to construct the first integer programming model by: Set constraints, including: Set a first constraint that requires each seat to not execute conflicting nested tasks. A second constraint is set, which requires each seat to perform nested start-up tasks. A third constraint is set, which requires each seat to perform nested completion tasks. The objective function is set based on the goal of optimizing task coverage; and The dispatching module is configured to use the acquired information to solve the first integer programming model to determine the correspondence between seats and task nesting, and to determine the dispatching scheme based on the correspondence. After solving the first integer programming model, The acquisition module is further configured to: For a first task having a first task type and a second task having a second task type different from the first task type, obtain information about the second task that can be exchanged with the first task. Based on the dispatching scheme, obtain information about the first and second tasks assigned to each first seat with the first seat type; The building module is also configured to construct a third integer programming model by: The constraints include setting a twelfth constraint, which requires that the deviation in the number of first tasks between different first seats does not exceed the maximum deviation in the number of first tasks. The objective function is set based on the goal of optimizing the balance of the number of first tasks among the first seats; and The dispatching module is also configured to use the acquired information to solve the third integer programming model to determine the exchange relationship between the first task and the second task, and to adjust the dispatching scheme based on the exchange relationship.
21. A computing device, comprising: processor; as well as A memory storing computer-executable instructions, which, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 19.
22. A computer-readable storage medium having computer-executable instructions stored thereon, the computer-executable instructions causing a computer to perform the method according to any one of claims 1 to 19 when executed by the computer.
23. A computer program product comprising instructions that, when executed by a processor, implement the method according to any one of claims 1 to 19.