Task nesting based seat assignment method and related apparatus
By constructing an integer programming model and a seat assignment method based on task nesting, the problem of task correlation not being considered in existing technologies is solved, enabling airport staff to work efficiently and at a reasonable pace, and improving the feasibility of the assignment scheme and staff satisfaction.
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-06-19
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 and service quality of airport staff.
A task-based seat assignment method is adopted. By constructing an integer programming model, setting constraints and objective functions, the task stack sequence to which seats are assigned is determined, and the execution order between task stacks is incorporated to optimize the assignment scheme.
It improved the work efficiency and satisfaction of airport staff, controlled the work pace, avoided excessive fatigue, and improved the feasibility of the work assignment plan.
Smart Images

Figure CN121328995B_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: obtaining seat information; obtaining task nesting information, wherein the task nesting includes multiple tasks that can be executed by the same seat in the same round of assignment, and wherein the task nesting information indicates multiple task nestings that are successor task nestings as starting virtual task nestings and predecessor task nestings as ending virtual task nestings, and indicates a set of predecessor and / or successor task nestings for each of the multiple task nestings, the multiple task nestings including a set of starting task nestings and a set of ending task nestings; constructing a first integer programming model by: setting constraints, including: setting a first constraint, the first constraint requiring each seat to execute The system involves: a task stacking process; setting a second constraint requiring each workstation to execute a task stacking process; setting a third constraint requiring each workstation to be assigned a task stacking sequence that includes at least one task stack among the plurality of task stacks between the start and end virtual task stacks; setting a fourth constraint requiring each workstation to be assigned a task stacking sequence that includes both the preceding and following task stacks of each task stack in at least one task stack; setting an objective function based on the goal of optimizing task coverage; and using the acquired information to solve a first integer programming model to determine the task stacking sequence assigned to each workstation, and determining a dispatching scheme based on the task stacking sequence.
[0005] In some embodiments, the third constraint includes a first third constraint requiring each seat to execute a successor task nesting that begins a virtual task nesting and a second third constraint requiring each seat to execute a predecessor task nesting that ends a virtual task nesting.
[0006] In some embodiments, setting constraints further includes setting a fifth constraint that requires each task to be executed at most once.
[0007] In some embodiments, the seat information includes the start order of the seats, and setting constraints further includes setting a sixth constraint, which requires that the start time of the seat with a higher start order is earlier than the start time of the seat with a lower start order; and / or the seat information includes the finish order of the seats, and setting constraints further includes setting a seventh constraint, which requires that the finish time of the seat with a higher finish order is earlier than the finish time of the seat with a lower finish order.
[0008] In some embodiments, setting constraints further includes setting at least one of an eighth constraint and a ninth constraint, wherein the eighth constraint requires that the number of assignment rounds for each seat be within the range of assignment rounds for that seat, and the ninth constraint requires that the number of tasks assigned to each seat be within the range of the number of tasks for that seat.
[0009] In some embodiments, a first integer programming model is constructed by at least one of the following operations: setting a tenth 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 eleventh 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.
[0010] 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 wherein a first integer programming model is constructed by the following operations: for the first seat, a tenth constraint and an eleventh constraint are set, the tenth 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 eleventh 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, a twelfth constraint is set, the twelfth 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.
[0011] In some embodiments, setting constraints further includes setting a thirteenth constraint, which requires that the task nest to which the task with the specified seat belongs, or the task nest with the specified seat is executed by the specified seat.
[0012] 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 wherein a first integer programming model is constructed by: setting a tenth constraint for the first seat, the tenth 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 setting a fourteenth constraint for the third seat, the fourteenth constraint requiring that the number of assignment rounds for each third seat is within the range of the number of assignment rounds for the third seat set based on the baseline number of assignment rounds for the first seat.
[0013] In some embodiments, the multiple task nesting does not include a start virtual task nesting and an end virtual task nesting. Before solving the first integer programming model, the method further includes: constructing a second integer programming model by: setting constraints, including: setting a fifteenth constraint requiring each seat to execute a start task nesting; setting a sixteenth constraint requiring each seat to execute a finish task nesting; setting a seventeenth constraint requiring each task to be executed at most once; and setting an eighteenth constraint requiring each seat not to execute conflicting task nestings; and setting an objective function based solely on the objective of optimizing task coverage; solving the second integer programming model using the acquired 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.
[0014] In some embodiments, a second integer programming model is also constructed by at least one of the following operations: setting a nineteenth 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 twentieth constraint that requires the number of tasks assigned to each seat to be within the range of the number of tasks for that seat.
[0015] 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 twenty-first constraint, the twenty-first 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.
[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 twenty-first constraint, the twenty-first 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.
[0017] In some embodiments, a third integer programming model is also constructed by at least one of the following operations: setting a twenty-second constraint that requires each first task to be swapped with at most one second task; and setting a twenty-third constraint that requires each second task to be swapped with at most one first task.
[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 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 twenty-fourth constraint, the twenty-fourth 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.
[0019] 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.
[0020] 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 twenty-fourth constraint, the twenty-fourth 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.
[0021] In some embodiments, a third integer programming model is also constructed by at least one of the following operations: setting a twenty-second constraint that requires each first task to be swapped with at most one second task; and setting a twenty-third constraint that requires each second task to be swapped with at most one first task.
[0022] 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.
[0023] 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 tasks in the same round of dispatching from the same seat; and inserting the tasks into the first task stack to adjust the dispatching scheme.
[0024] 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.
[0025] 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.
[0026] 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 and acquire task nesting information, wherein the task nesting includes multiple tasks that can be executed by the same seat in the same round of dispatching, and wherein the task nesting information indicates multiple task nestings that are successor task nestings as starting virtual task nestings and predecessor task nestings as ending virtual task nestings, and indicates a set of predecessor and / or successor task nestings for each of the multiple task nestings, the multiple task nestings including a set of starting task nestings and a set of ending task nestings; and a construction module configured to construct a first integer programming model by: setting constraints, including: setting a first constraint, the first constraint requiring... Each seat executes a start task stack, a second constraint is set, the second constraint requires each seat to execute a finish task stack, a third constraint is set, the third constraint requires that the task stack sequence assigned to each seat includes at least one task stack among multiple task stacks between the start virtual task stack and the end virtual task stack, and a fourth constraint is set, the fourth constraint requires that the task stack sequence assigned to each seat includes the predecessor and successor task stacks of each task stack in the at least one task stack, and an objective function is set based on the goal of optimizing task coverage; and a dispatch module is configured to use the acquired information to solve a first integer programming model to determine the task stack sequence assigned to the seats, and to determine a dispatch scheme based on the task stack sequence.
[0027] 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.
[0028] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided having computer-executable instructions stored thereon, which, when executed by a computer, cause the computer to perform the method described according to any embodiment of the first aspect of this disclosure.
[0029] 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
[0030] 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:
[0031] Figure 1 A flowchart of a seat assignment method based on task nesting according to some embodiments of the present disclosure is shown;
[0032] 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;
[0033] Figure 3 A schematic block diagram of a computing device according to some embodiments of the present disclosure is shown;
[0034] Figure 4 A schematic block diagram of a computer system on which embodiments of the present disclosure may be implemented is shown.
[0035] 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.
[0036] 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
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] In addition to considering improving the work efficiency of airport staff, it is also necessary to consider their fatigue level.
[0044] To address this, this disclosure provides a task-based assignment method. This method determines the sequence of task nesting assignments for each seat by combining the execution order of task nestings, thereby obtaining an assignment plan. This allows the correlation between tasks to be incorporated into the assignment plan through task nesting, improving the feasibility of the assignment plan, enhancing the work efficiency and satisfaction of airport staff, and controlling the work rhythm of airport staff by determining the arrangement of the task nesting sequence. This ensures that airport staff have a reasonable work rhythm, guaranteeing work efficiency while avoiding excessive fatigue.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] In step S104, task nesting information is obtained.
[0049] In this disclosure, a task stack includes multiple tasks that can be executed by the same seat in the same round of dispatch. Since the same seat can execute multiple rounds of dispatch, and there is a corresponding time interval between each round of dispatch, there is also a corresponding time interval between each task stack in which the seat is assigned multiple task stacks.
[0050] 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 task stacks. 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.
[0051] 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.
[0052] The task nesting information indicates multiple task nestings that serve as the successor task nesting to a starting virtual task nesting and the predecessor task nesting to an ending virtual task nesting, and indicates the set of predecessor and / or successor task nestings for each of the multiple task nestings. It is understood that in this disclosure, "predecessor" and "successor" do not limit the two task nestings to be adjacent or to the absence of other task nestings between them. "Predecessor" and "successor" indicate that the execution order of one task nesting precedes or follows another task, and a task nesting and its predecessor or successor task nesting may be separated by at least one other task nesting or may not be separated by any other task nesting.
[0053] As a non-restrictive example, task nesting information can indicate a task nesting set K = {k0, k1, ..., k}. n ,k n+1}, where k0 indicates the start of virtual task nesting, k n+1 This indicates the end of the nested virtual task, where n is a positive integer. For k0, k1,…,k n ,k n+1 All are nested successor tasks; for k n+1 In terms of k0,k1,…,k nAll of them are nested successor tasks.
[0054] By setting the start and end virtual task nesting, the actual task nesting (e.g., k1, ..., k) can be made possible. n Each task nesting in the sequence can have a predecessor task nesting and a successor task nesting, provided certain conditions are met. For example, for a task nesting k1 that is actually the first task nesting in the sequence, it also has a predecessor task nesting k0. Similarly, for a task nesting k that is actually the last task nesting in the sequence... n In addition, it also has the function of nested successor tasks k. n+1 .
[0055] Furthermore, when determining the successor task stacks of a specified task stack, task stacks whose time interval with the specified task stack does not meet the preset time interval requirement can be excluded from the successor task stacks of the specified task stack. For example, task stack A operates from 9:30 to 10:00, task stack B operates from 10:10 to 10:40, and task stack C operates from 10:30 to 11:00, with a preset time interval of 30 minutes. That is, the time interval between task stack B and task stack A is 10 minutes, and the time interval between task stack C and task stack A is 30 minutes. Therefore, task stack C can be determined as the successor task stack of task stack A, while task stack B is not a successor task stack of task stack A.
[0056] By determining the nested sequence of tasks assigned to each seat, the order and frequency of task execution can be controlled, thereby enabling more precise task assignment to airport staff and improving their work efficiency and satisfaction.
[0057] In this disclosure, multiple task nesting includes a set of start task nesting and a set of finish task nesting.
[0058] 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.
[0059] In step S106, the first integer programming model is constructed by setting constraints and objective function.
[0060] In step S108, the acquired information is used to solve a first integer programming model to determine the task nesting sequence of seats, and a dispatching scheme is determined based on the task nesting sequence. Here, the acquired information may include seat information and task nesting information. For example, the model decision variables representing the correspondence between each seat in the seat set and each task nesting with subsequent task nesting in the task nesting set can be solved to determine the dispatching scheme.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] The construction process of the first integer programming model will be described in detail below.
[0065] For example, a first constraint can be set. The first constraint requires each workstation to perform task stacking, thereby ensuring that the workstation can perform tasks in a timely manner after work starts and avoid being idle for a long time, thereby improving task processing efficiency and the work efficiency of airport staff.
[0066] In some embodiments, the first constraint may be set as follows: Requirements must be met Where I represents the set of seats i, and j and k represent task nesting. K represents the set of nested tasks that seat i can perform. i N represents the set of nested tasks that seat i can perform. j This represents the set of successor nested tasks of task nesting j.
[0067] 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.
[0068] Additionally, in some examples, K may not be set. i Instead, it filters out tasks that seat i cannot handle by nesting k. In other examples, z can be set in advance for the k that seat i cannot handle before solving the first integer programming model. ijk =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.
[0069] For example, a second constraint can be set. The second 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.
[0070] In some embodiments, the second constraint may be set as follows: Requirements must be met in, Let i represent the set of nested finishing tasks that seat i can perform.
[0071] For example, a third constraint may be set. The third constraint requires that the sequence of task nesting assigned to each seat includes at least one task nesting among a plurality of task nestings between the start virtual task nesting and the end virtual task nesting.
[0072] In some embodiments, the third constraint may include a first third constraint requiring each seat to execute the successor task nesting that starts the virtual task nesting and a second third constraint requiring each seat to execute the predecessor task nesting that ends the virtual task nesting.
[0073] In some examples, the first and third constraints can be set to Requirements must be met in, Here, task nesting k is immediately following the starting virtual task nesting 0, or in other words, there are no other task nestings between the starting virtual task nesting 0 and task nesting k.
[0074] In some examples, the second and third constraints can be set to Requirements must be met in, Here, task nesting j immediately follows the ending virtual task nesting n+1, or in other words, there are no other task nestings between the ending virtual task nesting n+1 and task nesting j.
[0075] For example, a fourth constraint may be set. The fourth constraint requires that the sequence of task nestings assigned to each seat includes a preceding task nesting and a succeeding task nesting for each task nesting in at least one task nesting (here, "at least one task nesting" refers to at least one task nesting described in the third constraint).
[0076] In some embodiments, the fourth constraint can be set as follows: Requirements must be met Where, N k Let l represent the set of successor task nestings of task nesting k, and let l represent the set of successor task nestings of task nesting k that seat i can perform.
[0077] Understandably, additional constraints can be imposed based on the desired seat assignment effect, which will be described in more detail later.
[0078] In some embodiments, setting constraints may further include setting a fifth 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.
[0079] In some examples, the fifth constraint can be set to Requirements must be met Where T represents the set of tasks t, Let j represent the set of tasks included in task nesting j. The fifth constraint means that when task nesting j is a task nesting that seat i can perform, for any task t belonging to task nesting j, task t is guaranteed at most once.
[0080] 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.
[0081] In some embodiments, the seat information includes the order in which the seats are assigned to work, and the constraint setting may also include setting a sixth constraint, which requires that the start time of the seat with a higher start time is earlier than the start time of the seat with a lower start time, thereby better meeting the work assignment needs of the seats and making the work assignment scheme more available.
[0082] In some examples, the sixth constraint can be set to Requirements must be met in, This indicates the starting order of seat i. This indicates the starting order of seat i′. This indicates that the starting order of seat i precedes the starting order of seat i′, K i′ st represents the set of nested tasks that seat i′ can perform. k This indicates the start time of task nesting k. Here, task nesting k is immediately following the starting virtual task nesting 0, or in other words, there are no other task nestings between the starting virtual task nesting 0 and task nesting k.
[0083] It can be understood that for seat i or seat i′, the successor task nesting k of the virtual nesting task it executes is the first real task nesting executed by seat i or seat i′. Therefore, the start time of the successor task nesting k can be equivalent to the start time of seat i or seat i′.
[0084] In some embodiments, the seat information includes the order in which the seats finish their work, and the constraints may also include setting a seventh constraint, which requires that the seat with the earlier finish time finishes its work earlier than the seat with the later finish time finishes its work. This can better meet the work assignment needs of the seats and make the work assignment scheme more practical.
[0085] In some examples, the seventh constraint can be set to Requirements must be met in, This indicates the finishing order of seat i. This indicates the finishing order of seat i′. This indicates that the finishing order of seat i precedes that of seat i′, ct k This indicates the end time of the nested task k. Here, task nesting k is immediately following the end of virtual task nesting n+1, or in other words, there are no other task nestings between the end of virtual task nesting n+1 and task nesting k.
[0086] It can be understood that for seat i or seat i′, the predecessor task nesting k of the virtual nesting task it executes is the last real task nesting executed by seat i or seat i′. Therefore, the end time of the predecessor task nesting k can be equivalent to the end time of seat i or seat i′.
[0087] 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.
[0088] In some embodiments, the objective function can be set to in, This represents the penalty coefficient for task t not being covered. The Min. function is used to find the minimum value.
[0089] The correspondence between task nesting and seat can be determined by solving the decision variables of the first model, thus obtaining the dispatching scheme.
[0090] In some embodiments, setting constraints may further include setting at least one of an eighth constraint and a ninth constraint. The eighth constraint requires that the number of dispatch rounds for each seat be within the range of dispatch rounds for that seat. The ninth constraint requires that the number of tasks assigned to each seat be within the range of the number of tasks for that seat. This ensures that the number of dispatch rounds and / or the number of tasks assigned to a seat are not too few, resulting in tasks that cannot be completed, while also ensuring that the number of dispatch rounds and / or the number of tasks assigned to a seat are not too many, thus failing to comply with the regulations of the Civil Aviation Administration or the airline.
[0091] In some examples, the eighth 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.
[0092] In some examples, the ninth constraint can be set to Requirements must be met in, express The number of tasks, 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.
[0093] In some embodiments, constructing the first integer programming model may further include: setting a tenth 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 is further based on the objective setting of optimizing the balance of the number of dispatching rounds among seats.
[0094] In some examples, the tenth 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.
[0095] 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.
[0096] In some embodiments, constructing the first integer programming model may further include setting an eleventh 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.
[0097] In some examples, the eleventh 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.
[0098] 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.
[0099] In some embodiments, constructing a first integer programming model may include setting a tenth constraint and an eleventh 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.
[0100] In some examples, the objective function can be set to
[0101] Therefore, by using the tenth and eleventh 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.
[0102] 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.
[0103] 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.
[0104] In this embodiment, the first integer programming model can also be constructed through the following operations: For the first position, set a tenth constraint and an eleventh constraint, the tenth constraint requiring 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, and the eleventh constraint requiring 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, set a twelfth constraint, the twelfth constraint requiring 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; and the objective function is further set based on the objective 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.
[0105] 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.
[0106] In some examples, the tenth constraint can be set to Requirements must be met Where, n rounds ′ represents the baseline dispatch round number for the first seat i. This indicates the negative deviation between the number of dispatching rounds for the first seat i and the baseline number of dispatching rounds (when...). hour when hour ), This indicates the positive deviation between the number of dispatching rounds for the first seat i and the baseline number of dispatching rounds (when...). hour when hour ), dev rounds ′ represents the maximum number of dispatching rounds deviation for the first seat i.
[0107] In some examples, the eleventh 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 between the number of tasks assigned to the first seat i and the baseline number of tasks (when...). hour when hour ), This indicates the positive deviation between the number of tasks assigned to the first seat i and the baseline number of tasks (when...). hour when hour ), dev tasks ′ represents the maximum task quantity deviation of the first seat i.
[0108] In some examples, the twelfth constraint can be set to Requirements must be met Among them, I late Let dev represent the set of second seats i and i′. late This represents the maximum deviation in the number of tasks between the second seats i and i′.
[0109] 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.
[0110] Therefore, based on the tenth and eleventh constraints for the first seat, the twelfth constraint for the second seat, and the objective function set to optimize task coverage, optimize the balance of dispatch rounds among the first seats, balance the number of tasks among the first seats, and balance the number of tasks among the second seats, the workload balance for the first and second seats can be achieved respectively while promoting task completion. Furthermore, corresponding benchmarks can be set for different types of seats (for example, the benchmark for the first seat includes the benchmark number of dispatch rounds and the benchmark number of tasks for the first seat, and the benchmark for the second seat includes the number of tasks assigned to other second seats), thus enabling the determined dispatch scheme to take into account the characteristics of different types of seats, thereby achieving personalized dispatching of seats.
[0111] 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 thirteenth constraint, which requires that a task nesting to which a task with a designated seat belongs, or a task nesting to which a task with a designated seat belongs, be executed by the designated seat.
[0112] In some examples, the thirteenth constraint can be set to Requirements must be met Where T′ represents the set of tasks t with designated seats, i(t) represents the designated seat of task j with designated seats, and K i(t) Let represent the set of nested tasks that a given seat i(t) can perform.
[0113] 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.
[0114] 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.
[0115] In this embodiment, the first integer programming model can also be constructed by the following operations: for the first seat, a tenth 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, a fourteenth 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.
[0116] In some examples, the tenth constraint can be set to Requirements must be met
[0117] In some examples, the fourteenth constraint can be set to Requirements must be met Among them, I anormal 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.
[0118] 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.
[0119] 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 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 this baseline correspondence. Here, the multiple task nestings in the acquired task nesting information no longer include the start virtual task nesting and the end virtual task nesting.
[0120] In some embodiments, setting constraints may include: setting a fifteenth constraint requiring each seat to perform a start-up task stack; setting a sixteenth constraint requiring each seat to perform a finish-up task stack; setting a seventeenth constraint requiring each task to be performed at most once; and setting an eighteenth constraint requiring each seat not to perform conflicting task stacks.
[0121] In some examples, the fifteenth constraint can be set to Requirements must be met in,
[0122] In some examples, the sixteenth constraint can be set to Requirements must be met
[0123] In some examples, the seventeenth constraint can be set to Requirements must be met in, This represents the set of tasks contained in the nested task k.
[0124] In some examples, the eighteenth constraint can be set to The requirement is to satisfy ∑ k∈ mc x ik ≤1, where mc represents the set of nested conflicting tasks that seat i can perform, MC 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}).
[0125] 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.
[0126] In some embodiments, a second integer programming model is also constructed by at least one of the following operations: setting a nineteenth 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 twentieth constraint that requires the number of tasks assigned to each seat to be within the range of the number of tasks for that seat.
[0127] In some examples, the nineteenth constraint can be set to Requirements must be met
[0128] In some examples, the twentieth constraint can be set to Requirements must be met
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] In this embodiment, method 100 may further include: constructing a third integer programming model by setting constraints and an objective function; solving the third integer programming model using the acquired information to determine the exchange relationship between the first task and the second task; and adjusting the dispatching scheme based on the exchange relationship.
[0134] In some embodiments, setting constraints may include: setting a twenty-first 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. And 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.
[0135] In some examples, the twenty-first 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 represent the set of first tasks t to which the first seat i is assigned. Let represent the set of first tasks t to which the first seat i′ is assigned. Let T represent the set of second tasks p that can be exchanged with the first task t. special Let represent the set of the first task t. 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.
[0136] 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.
[0137] Therefore, by using the twenty-first 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.
[0138] 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 the number of dispatching rounds and the balance of the number of tasks assigned); secondly, in the fairness of work difficulty (the balance of the number of first tasks).
[0139] 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.
[0140] In some embodiments, setting constraints for the third integer programming model may include setting a twenty-first 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 effective 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.
[0141] 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.
[0142] In some examples, the twenty-first constraint can be set to Requirements must be met Where dev′ represents the maximum deviation of the effective number of first tasks, C t Let C represent the effective coefficient of the first task t. It can be understood that when C... t When = 1, the twenty-first constraint degenerates into requiring a balance in the number of tasks.
[0143] 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.
[0144] 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.
[0145] In some embodiments, the constraints of the third integer programming model may further include at least one of the following: setting a twenty-second constraint, which requires that each first task can be exchanged with at most one second task once; setting a twenty-third 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.
[0146] In some examples, the twenty-second constraint can be set as Requirements must be met
[0147] In some examples, the twenty-third constraint can be set as Requirements must be met Among them, P normal Let p represent the set of the second task.
[0148] In some embodiments, setting constraints on the third integer programming model may include setting a twenty-fourth 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.
[0149] In some examples, the twenty-fourth 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).
[0150] 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.
[0151] 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.
[0152] 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.
[0153] In some embodiments, setting constraints for the third integer programming model may further include setting a twenty-fourth 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 for 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.
[0154] In some examples, the twenty-fourth constraint can be set to Requirements must be met in, Denotes 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"), dev′ 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).
[0155] In some examples, Among them, M special This indicates the total number of valid tasks in the first task.
[0156] 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.
[0157] Note that in the third integer programming model, the 21st and 24th constraints cannot be enabled simultaneously, but either the 21st or 24th constraint can be set in combination with the 22nd and 23rd constraints.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] Therefore, while ensuring task coverage, it is also possible to ensure a balance in the number of tasks among seats.
[0163] 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.
[0164] 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.
[0165] The acquisition module 202 is configured to acquire seat information and task stack information, wherein the task stack includes multiple tasks that can be executed by the same seat in the same round of dispatching, and wherein the task stack information indicates multiple task stacks that are successors to the starting virtual task stack and predecessors to the ending virtual task stack, and indicates the predecessor and / or successor task stack set of each task stack in the multiple task stacks, the multiple task stacks including a start task stack set and a finish task stack set.
[0166] Module 204 is configured to construct a first integer programming model by: setting constraints, including: setting a first constraint requiring each seat to execute a start task stack; setting a second constraint requiring each seat to execute a finish task stack; setting a third constraint requiring each seat to be assigned a sequence of task stacks that includes at least one task stack among multiple task stacks between the start virtual task stack and the preceding task stack; and setting a fourth constraint requiring each seat to be assigned a sequence of task stacks that includes both the preceding and following task stacks of each of the at least one task stacks; and setting an objective function based on the goal of optimizing task coverage.
[0167] The dispatch module 206 is configured to use the acquired information to solve a first integer programming model to determine the task nesting sequence in which seats are assigned, and to determine the dispatch scheme based on the task nesting sequence.
[0168] 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.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] 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.
[0173] 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.
[0174] 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.
[0175] 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.
[0176] 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.
[0177] 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).
[0178] 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.
[0179] 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.
[0180] 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.
[0181] 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.
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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.
[0186] 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; Obtain task stack information, wherein the task stack includes multiple tasks that can be executed by the same seat in the same round of dispatching, the multiple tasks in the task stack are multiple flights, the difference between the earliest departure time and the latest departure time of the multiple flights in the same task stack cannot exceed the set duration of the task stack, and wherein the task stack information indicates multiple task stacks that serve as successor task stacks as the start of a virtual task stack and successor task stacks as the end of a virtual task stack, and indicates the set of successor and / or successor task stacks for each of the multiple task stacks, the multiple task stacks including a set of start task stacks and a set of finish task stacks; The first integer programming model is constructed using the following operations: Set constraints, including: Set a first constraint that requires each seat to perform nested start-up tasks. A second constraint is set, which requires each seat to perform nested closing tasks. A third constraint is set, requiring that the task nesting sequence assigned to each seat includes at least one task nesting among the plurality of task nestings between the start virtual task nesting and the end virtual task nesting, and A fourth constraint is set, requiring that the sequence of task nestings assigned to each seat includes the preceding and following task nestings of each of the at least one task nestings; and The objective function is set based on the goal of optimizing task coverage; and The first integer programming model is solved using the acquired information to determine the task nesting sequence for seat allocation, and a dispatching scheme is determined based on the task nesting sequence. 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: Set constraints, including a twenty-first 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, The third constraint includes a first third constraint requiring each seat to execute the successor task nesting that starts the virtual task nesting, and a second third constraint requiring each seat to execute the predecessor task nesting that ends the virtual task nesting.
3. The method of claim 1, wherein, Setting constraints also includes setting a fifth constraint that requires each task to be executed at most once.
4. The method according to claim 1, wherein: The seat information includes the order in which the seats commence work, and the constraint setting also includes setting a sixth constraint, which requires that the commencement time of the seat with a higher commencement time is earlier than the commencement time of the seat with a lower commencement time; and / or The seat information includes the order in which the seats finish work, and the constraint setting also includes setting a seventh constraint, which requires that the seat with the earlier finish work order finishes work earlier than the seat with the later finish work order finishes work earlier.
5. The method of claim 1, wherein, Setting constraints also includes setting at least one of an eighth constraint and a ninth constraint, wherein the eighth constraint requires that the number of assignment rounds for each seat be within the range of assignment rounds for that seat, and the ninth constraint requires that the number of tasks assigned to each seat be within the range of the number of tasks for that seat.
6. The method of claim 1, wherein, The first integer programming model is also constructed through at least one of the following operations: A tenth 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 set based on the objective of optimizing the balance of dispatch rounds among seats. An eleventh 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.
7. 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, set the tenth constraint and the eleventh constraint. The tenth 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 eleventh 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 twelfth 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.
8. The method according to claim 1, wherein, Setting constraints also includes setting a thirteenth 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.
9. 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 tenth 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, a fourteenth 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.
10. The method according to claim 6, wherein, The multiple task nesting does not include the start virtual task nesting and the end virtual task nesting. Before solving the first integer programming model, the method further includes: The second integer programming model is constructed using the following operations: Set constraints, including: A fifteenth constraint is set, which requires each seat to perform nested start-up tasks. A sixteenth constraint is set, which requires each seat to perform nested completion tasks. Set a seventeenth constraint, which requires that each task be executed at most once, and An eighteenth constraint is set, which requires that each seat cannot execute conflicting nested tasks, 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.
11. The method according to claim 10, wherein, The second integer programming model is also constructed through at least one of the following operations: A nineteenth 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 Set a twentieth constraint, which requires that the number of tasks assigned to each seat is within the range of the number of tasks assigned to that seat.
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 twenty-first 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.
13. The method according to claim 1 or 12, wherein, The third integer programming model is also constructed through at least one of the following operations: Set a twenty-second constraint, which requires that each first task can only swap with at most one second task; and Set a 23rd constraint, which requires that each second task can only be swapped with one first task at most once.
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 twenty-fourth 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. 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.
15. The method according to claim 14, 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.
16. 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 twenty-fourth 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 baseline 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.
17. The method according to any one of claims 14 to 16, wherein, The third integer programming model is also constructed through at least one of the following operations: Set a twenty-second constraint, which requires that each first task can only swap with at most one second task; and Set a 23rd constraint, which requires that each second task can only be swapped with one first task at most once.
18. The method according to claim 12 or 16, 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.
19. 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.
20. The method according to claim 19, 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.
21. The method according to claim 20, 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.
22. A seat dispatching device based on task nesting, comprising: The acquisition module is configured as follows: Obtain seat information Obtain task stack information, wherein the task stack includes multiple tasks that can be executed by the same seat in the same round of dispatching, the multiple tasks in the task stack are multiple flights, the difference between the earliest departure time and the latest departure time of the multiple flights in the same task stack cannot exceed the set duration of the task stack, and wherein the task stack information indicates multiple task stacks that serve as successor task stacks as the start of a virtual task stack and successor task stacks as the end of a virtual task stack, and indicates the set of successor and / or successor task stacks for each of the multiple task stacks, the multiple task stacks including a set of start task stacks and a set of finish task stacks; 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 perform nested start-up tasks. A second constraint is set, which requires each seat to perform nested closing tasks. A third constraint is set, requiring that the task nesting sequence assigned to each seat includes at least one task nesting among the plurality of task nestings between the start virtual task nesting and the end virtual task nesting, and A fourth constraint is set, requiring that the sequence of task nesting assigned to each seat includes the preceding and succeeding task nestings of each of the at least one task nestings, and 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 task nesting sequence in which seats are assigned, and to determine a dispatching scheme based on the task nesting sequence. 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: Set constraints, including a twenty-first 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.
23. 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 21.
24. 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 21 when executed by the computer.
25. A computer program product comprising instructions that, when executed by a processor, implement the method according to any one of claims 1 to 21.