Method for assigning a flight release task to a release position and related apparatus

By constructing an integer programming model to automatically allocate flight release tasks, the problem of low efficiency in traditional manual allocation is solved, achieving efficient and balanced allocation of flight release tasks and reducing seat change costs.

CN115600867BActive Publication Date: 2026-06-26CHINA EASTERN AIRLINES CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA EASTERN AIRLINES CO LTD
Filing Date
2022-10-20
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Traditional flight departure seat allocation relies on manual allocation, which is inefficient and prone to errors. It is especially costly when seats/tasks change, making it difficult to achieve efficient task allocation.

Method used

An integer programming model is constructed to automatically solve the seat allocation for flight departure tasks by receiving task, seat, and configuration data, dividing the seat time slots, defining variables and constraints, setting the objective function, and ensuring the rationality and efficiency of task allocation.

Benefits of technology

It achieves efficient and automatic allocation of flight release tasks, reduces human error, improves allocation efficiency and seat load balance, and reduces the cost of seat changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115600867B_ABST
    Figure CN115600867B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method for allocating flight release tasks to release seats and related devices. The method comprises: receiving task data, seat data and configuration data; constructing a task set, a seat set and a seat group set based on the task data and the seat data respectively; dividing each seat into a plurality of seat time slots according to a work period in time units, thereby constructing a seat time slot set based on the seat data; defining variables; constructing an integer programming model by setting constraints and objective functions; solving the integer programming model and allocating the flight release tasks to the release seats according to the solving result to obtain a seat allocation result, the seat allocation result indicating a corresponding relationship between the tasks and the seat time slots.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the aviation field, and more specifically, to a method, apparatus, computing device, and storage medium for assigning flight release tasks to release positions. Background Technology

[0002] Flight dispatch is an indispensable part of airline operations. Flight dispatch work mainly includes flight release tasks (hereinafter referred to as tasks), which are the tasks of dispatching and releasing flights. Generally, many release seats (hereinafter referred to as seats) are set up for flight dispatch, each responsible for a certain range of tasks (e.g., some seats handle international flight releases, some handle domestic flight releases, etc.). In practice, tasks need to be assigned to the appropriate seats (hereinafter referred to as seat allocation) to ensure that each task is completed as much as possible. Because there are various types of tasks, each with its own release time requirements and involved flight types, and each seat has different opening hours and supported flight types, seat allocation requires consideration of many complex factors. Traditional seat allocation mainly relies on experienced staff for manual allocation, but this often leads to low efficiency, inadequate planning, and a high risk of errors. Moreover, the cost of reassignment is high once new seats / tasks change.

[0003] Therefore, an improved method for assigning flight release tasks to release positions is desired. Summary of the Invention

[0004] According to a first aspect of this disclosure, a method for assigning flight release tasks to release positions is provided, comprising:

[0005] Receive task data about flight release tasks that need to be assigned to release seats during the pending schedule period, seat data about release seats that are open during the pending schedule period, and configuration data for configuring release time requirements for different types of flights.

[0006] Based on the task data and the seat data, construct a task set F, a seat set I, and a seat group set G, respectively, where task f∈F, seat i∈I, and seat group g∈G;

[0007] Each seat i is divided into multiple seat time slots according to the working period and time unit, thereby constructing a seat time slot set S based on the seat data, which includes all seat time slots s of all seats i, where seat time slots s∈S;

[0008] Define the following variables:

[0009]

[0010]

[0011] w gi Let w be a parameter used to measure the difference between the workload of seat i and the average workload of the seat group g to which seat i belongs, where 0 ≤ w gi ≤1;

[0012] Construct an integer programming model using the following operations:

[0013] Set the following constraints:

[0014] The first constraint requires that for any task f, the following condition must be met. Where S f It is a subset of the seat time slots s in the seat time slot set S that can execute task f.

[0015] The second constraint requires that for any seat time slot s, the following must be satisfied: Where F s It is a subset of tasks f in the task set F that can be executed in seat time slot s, t f T is the duration of task f. s The available working hours for seat time slot 's'

[0016] The third constraint requires that for any seat i, the following condition must be met. Among them, wl i It is the workload of seat i, F s S is a subset of tasks f in the task set F that can be executed in seat time slot s. i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S, t f T is the duration of task f. i It is the available working time of seat i, g i It is the seat group to which seat i belongs, Ng i It is seat group g i The number of seats in the group, i′ is the number of seats in seat group g. i The seats in the middle,

[0017] Set the following objective function:

[0018] min{∑ f∈F (c f ·y f )+∑ i∈I w gi}, where c f The penalty cost is the cost of task f not being assigned to any seat time slot; and

[0019] Solve the integer programming model and allocate flight release tasks to release seats according to the solution results to obtain seat allocation results. The seat allocation results indicate the correspondence between task f and seat time slot s.

[0020] According to a second aspect of this disclosure, an apparatus is provided for assigning flight release tasks to release positions, comprising:

[0021] The data processing module is configured as follows:

[0022] Receive task data about flight release tasks that need to be assigned to release seats during the pending schedule period, seat data about release seats that are open during the pending schedule period, and configuration data for configuring release time requirements for different types of flights.

[0023] Based on the task data and the seat data, construct a task set F, a seat set I, and a seat group set G, respectively, where task f∈F, seat i∈I, and seat group g∈G;

[0024] Each seat i is divided into multiple seat time slots according to the working period and time unit, thereby constructing a seat time slot set S based on the seat data, which includes all seat time slots s of all seats i, where seat time slots s∈S;

[0025] Define the following variables:

[0026]

[0027]

[0028] w gi Let w be a parameter used to measure the difference between the workload of seat i and the average workload of the seat group g to which seat i belongs, where 0 ≤ w gi ≤1;

[0029] The model building module is configured to build integer programming models by:

[0030] Set the following constraints:

[0031] The first constraint requires that for any task f, the following condition must be met. Where S f It is a subset of the seat time slots s in the seat time slot set S that can execute task f.

[0032] The second constraint requires that for any seat time slot s, the following must be satisfied: Where F sIt is a subset of tasks f in the task set F that can be executed in seat time slot s, t f T is the duration of task f. s The available working hours for seat time slot 's'

[0033] The third constraint requires that for any seat i, the following condition must be met. Among them, wl i It is the workload of seat i, F s S is a subset of tasks f in the task set F that can be executed in seat time slot s. i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S, t f T is the duration of task f. i It is the available working time of seat i, g i It is the seat group to which seat i belongs, Ng i It is seat group g i The number of seats in the group, i′ is the number of seats in seat group g. i The seats in the middle,

[0034] Set the following objective function:

[0035] min{∑ f∈F (c f ·y f )+∑ i∈I w gi}, where c f The penalty cost is the cost of task f not being assigned to any seat time slot; and

[0036] The allocation module is configured to solve the integer programming model and allocate flight release tasks to release seats according to the solution results to obtain seat allocation results, wherein the seat allocation results indicate the correspondence between task f and seat time slot s.

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

[0038] According to a fourth aspect of this disclosure, a non-transient storage medium having computer-executable instructions stored thereon is provided, which, when executed by a computer, cause the computer to perform a method for allocating flight release tasks to release positions according to any embodiment of the first aspect of this disclosure.

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

[0040] The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the specification, serve to explain the principles of this disclosure.

[0041] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein:

[0042] Figure 1 This is a flowchart illustrating a method for assigning flight release tasks to release positions according to some embodiments of the present disclosure;

[0043] Figure 2 This is a schematic block diagram illustrating an apparatus for assigning flight release tasks to release positions according to some embodiments of the present disclosure;

[0044] Figure 3 This is a schematic block diagram illustrating a computing device for assigning flight release tasks to release positions according to some embodiments of the present disclosure.

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

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

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

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

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

[0050] This disclosure constructs and solves an integer programming model for the seat allocation problem in flight departure tasks, enabling automated seat allocation using computer technology, which significantly improves efficiency compared to manual allocation. Various embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0051] Figure 1 This is a flowchart illustrating a method 100 for assigning flight release tasks to release positions according to some embodiments of the present disclosure. Method 100 can be implemented, for example, by a computer.

[0052] like Figure 1 As shown, method 100 may include, at step S102, receiving task data regarding flight release tasks that need to be assigned to release seats within the pending scheduling period, seat data regarding release seats open within the pending scheduling period, and configuration data for configuring release time requirements for different types of flights. The pending scheduling period can be set to any suitable time length as needed. For example, the pending scheduling period can be set to a future day. The received data may, for example, be structured.

[0053] In some embodiments, seat data may include an identification number, seat group, region, and seat rules for each seat, wherein the seat rules indicate the supported flight types and the available working hours for the working periods and seat time slots set for the supported flight types; task data may include an identification number, region, flight information region to which the take-off and landing airports belong, round-trip / connecting flight information, aircraft type, flight type, and departure time for each task; configuration data may include the release working hours, earliest start release time, latest end release time, and planned start release time for each type of flight.

[0054] Regions can be divided, for example, based on the destination and / or route area of ​​flights, with tasks assigned to the same region corresponding to flights with the same or similar destination and / or route areas. As a non-limiting example, three regions can typically be divided: Shanghai, Beijing, and Northwest. Shanghai can be responsible for tasks in East China, Beijing for tasks in North China, and Northwest for tasks in Northwest China. Each region can then have multiple seats to handle tasks within that region.

[0055] A work session refers to the time period spanned by which a work session is performed. For example, some work sessions are full-day sessions, with their work sessions running from midnight to midnight the following day; others do not run overnight, with their work sessions running from 6:00 AM to 10:00 PM. A work session time slot refers to a unit of working time that divides a work session into time units. In this article, taking 1 hour as an example, a full-day work session may have 24 work session time slots (00:00–01:00, 01:00–02:00, 02:00–03:00, … 22:00–23:00, 23:00–24:00). The available working time for a work session time slot may be set to any suitable working time not exceeding the stated time unit. For example, the available working time for a 1-hour work session time slot may not exceed 60 minutes, but may also be set to 50 minutes, 40 minutes, or 30 minutes, etc. The available working time for a work session may be set to any suitable working time not exceeding the total working time of the work session. For example, the available working hours for a full-day seat can be set to 24 hours or 23.5 hours, etc.

[0056] Seat rules are used to restrict the tasks that a seat can handle. As a non-restrictive example, flight types typically include the following five types: international long-haul (also referred to as international long-haul in this document), general international, general domestic, general Xinjiang-related, and high-altitude / plateau flights. International long-haul flights mainly refer to long-haul international flights to Europe and the Americas; general international flights mainly refer to relatively short-haul international flights to Japan, South Korea, and Southeast Asia; general Xinjiang-related flights mainly refer to domestic flights to Xinjiang; high-altitude / plateau flights mainly refer to domestic flights involving high-altitude / plateau airports / routes; and general domestic flights mainly refer to domestic flights other than general Xinjiang-related and high-altitude / plateau flights. Generally, due to qualification requirements and other restrictions, international long-haul, high-altitude / plateau, and general Xinjiang-related tasks must be assigned to their respective designated seats and cannot be assigned to other seats. However, these designated seats capable of handling international long-haul, high-altitude / plateau, and general Xinjiang-related tasks can also handle other flight types besides these categories. Assuming there are international, general international, general domestic, general Xinjiang-related, and high-altitude plateau seats, each responsible for their respective international, general international, general domestic, Xinjiang-related, and high-altitude plateau tasks, each seat has its own set of rules. To alleviate pressure on non-international seats in the Shanghai region, it's possible to allow Shanghai's international seats to handle certain non-international tasks. In this case, Shanghai's international seats can be configured with two rules: one for international tasks, and the other, for example, for non-international tasks involving specific aircraft types (this additional requirement is optional to limit the number of non-international tasks), such as A350 / B777 general international / general domestic, A330 general international, etc. For different rules within the same seat, different working hours and available working time slots can be set accordingly. For example, in the Shanghai region, the working hours for Guoyuan flights are 0:00 to 24:00, with a maximum of 50 minutes of available working time per hour. For other Guoyuan flights, the working hours are 8:00 to 20:00, with a maximum of 40 minutes of available working time per hour. Generally, a flight type within a specific region can be assigned to a seat in that region that supports that flight type and whose working hours meet the departure time requirements for that flight.

[0057] The configuration data allows for easy setting of release time requirements for different types of flights. For example, the earliest start release time for various flight types can be set to 180 minutes before departure, and the latest end release time to be 60 minutes before departure. The release processing time and planned start release time can differ for each flight type. For instance, the release processing time for international flights is 20 minutes, with a planned start release time of 120 minutes before departure; for general international flights, the release processing time is 12 minutes, with a planned start release time of 90 minutes before departure; for general Xinjiang-related flights, the release processing time is 12 minutes, with a planned start release time of 90 minutes before departure; for high-altitude flights, the release processing time is 15 minutes, with a planned start release time of 90 minutes before departure; and for general domestic flights, the release processing time is 10 minutes, with a planned start release time of 90 minutes before departure. For a seat, the flight release date for an assignable task must be the opening date of that seat, and the flight release time must be scheduled within the seat's time frame spanned by the feasible start release time interval for that task [departure time - earliest start release time, departure time - latest end release time - release work duration]. In some embodiments, the feasible start release time interval can be alternatively set to [departure time - earliest start release time, departure time - planned start release time], which allows for more time and avoids tasks in a particular seat's time frame being concentrated close to flight departure times.

[0058] Seat groups can be divided in various suitable ways. In some embodiments, seat groups can be divided according to the type of flight supported, or, when multiple flight types are supported, according to the priority of flight type. In some embodiments, seat groups can be divided according to shared working hours. In some embodiments, different seat group division methods can be selected for different regions. For example, the Shanghai region can be divided into seat groups according to the type of flight supported, or, when multiple flight types are supported, according to the priority of flight type, such as including international / freight seat groups, general domestic seat groups, and general international seat groups, while the Beijing and Northwest regions can be divided into seat groups according to shared working hours, such as including day shift seat groups and non-day shift seat groups.

[0059] Method 100 may further include, at step 104, constructing a task set F, a seat set I, and a seat group set G based on the task data and the seat data, respectively, where task f ∈ F, seat i ∈ I, and seat group g ∈ G. Task set F may include all tasks f within the scheduled time period. Seat set I may include all seats i available within the scheduled time period. Seat group set G may include all seat groups g consisting of seats i.

[0060] Method 100 may further include, at step 106, dividing each seat i into multiple seat time slots according to the working hours and time units (in this document, 1 hour is used as an example), thereby constructing a seat time slot set S based on the seat data, which includes all seat time slots s of all seats i, where seat time slots s∈S. As mentioned above, in some embodiments, when seat i has different seat rules set for different flight types, seat i is divided into multiple seat time slots according to the corresponding working hours and time units for each of the different seat rules. For example, the working hours for Guoyuan seats in the Shanghai area for Guoyuan missions can be 0:00 to 24:00 and divided into 24 seat time slots, while the working hours for Guoyuan missions can be 8:00 to 20:00 and divided into 12 seat time slots. Therefore, there are a total of 36 seat time slots for Guoyuan seats in the Shanghai area per day.

[0061] Method 100 may also include, at step 108, defining the following variables:

[0062]

[0063]

[0064] w gi Let w be a parameter used to measure the difference between the workload of seat i and the average workload of the seat group g to which seat i belongs, where 0 ≤ w gi ≤1. It is generally desirable for the workload of each seat in the same seat group to be as balanced as possible.

[0065] Before the allocation, some x fs The value of x can be known to be 0. For example, when task f cannot be executed in seat time slot s, specifically when the region of seat i to which seat time slot s belongs is inconsistent with the region of task f, and / or the flight type supported by seat i to which seat time slot s belongs is inconsistent with the flight type of task f, and / or seat time slot s does not meet the feasible start release time interval of task f, etc., x fs =0.

[0066] In some embodiments, it is also possible to pre-set requirements for assigning tasks to specific seats or regions for specific airline codes, such as requiring FM tasks to be assigned to E seats, and MU tasks to be assigned to the Shanghai region. This can also allow some x fs The value is known to be 0, for example, x corresponding to non-E seats and FM tasks. fs The value is known to be 0. In other embodiments, this may not be preset, but instead be achieved by setting appropriate constraints in a subsequent model.

[0067] Next, method 100 may also include, at step 110, constructing an integer programming model by setting constraints and an objective function.

[0068] In some embodiments, a first constraint may be set, requiring that for any task f, the following condition is met: Where S f It is a subset of seat time slots s in the set of seat time slots S that can execute task f. Because when task f cannot be executed in seat time slot s, x... fs =0, therefore in some embodiments the first constraint can be alternatively set to require that for any task f, (∑ s∈s x fs )+y f =1. In other words, it is not necessary to select a subset S of seat time slots s from the set of seat time slots S that can execute task f. f Instead, it directly calculates x for all seat time slots s. fs Summation is sufficient; the point is that when task f cannot be executed within seat time slot s, x... fs =0. The first constraint ensures that during the solution of the integer programming model, each task f is either assigned to a corresponding seat time slot s or is not assigned to any seat time slot.

[0069] In some embodiments, a second constraint may be set, requiring that for any seat time slot s, the following conditions are met. Where F s It is a subset of tasks f in the task set F that can be executed in seat time slot s, t f T is the duration of task f. s The available working time for seat time slot s. Because when task f cannot be executed within seat time slot s, x... fs =0, therefore in some embodiments the second constraint can be alternatively set to require that for any seat time slot s, ∑ f∈F (t f ·x fs )≤T s , where t f T is the duration of task f. s Let be the available working time for the seat time slot s. In other words, it is not necessary to select a subset F of tasks f from the task set F that can be executed within the seat time slot s. s Instead, it directly applies to all tasks f (t) f ·x fs Summation is sufficient; basically, when task f cannot be executed within seat time slot s, x... fs =0. The second constraint ensures that, during the solution of the integer programming model, the total working time of the tasks scheduled in the time slot will not exceed the available working time of that time slot.

[0070] In some embodiments, a third constraint may be set, requiring that for any seat i, the following condition is met:

[0071]

[0072]

[0073] Among them, wl i It is the workload of seat i, F s S is a subset of tasks f in the task set F that can be executed in seat time slot s. i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S, t f T is the duration of task f. i It is the available working time of seat i, g i It is the seat group to which seat i belongs, Ng i It is seat group g i The number of seats in the group, i′ is the number of seats in seat group g. i The seat in the table. Because when task f cannot be executed within seat time slot s, x... fs =0, therefore in some embodiments the third constraint can be alternatively set to require that for any seat i, the following condition is met.

[0074]

[0075]

[0076] Among them, wl i It is the workload of seat i, S i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S, t f T is the duration of task f. i It is the available working time of seat i, g i It is the seat group to which seat i belongs, Ng i It is seat group g i The number of seats in the group, i′ is the number of seats in seat group g. i The seats in the set. In other words, it is not necessary to select a subset F of tasks F from the task set F that can be executed in the seat time slot s. s Instead, it directly applies to all tasks f (t) f ·x fs Summation is sufficient; basically, when task f cannot be executed within seat time slot s, x... fs =0. The third constraint helps to avoid workload imbalance among seats in the same seat group during the solution of integer programming models.

[0077] For seats supporting multiple flight types or having multiple seat rules (multi-functional seats), when determining the workload distribution balance among seats, we can only consider the workload distribution balance between the priority flight type tasks of that seat and other seats responsible for the priority flight type tasks, without considering the workload distribution balance between the non-priority flight type tasks of that seat and other seats responsible for the non-priority flight type tasks. Assume there is a seat time slot s1 for a multi-functional seat i1 that simultaneously supports tasks f1 of the first flight type and tasks f2 of the second flight type, but prioritizes tasks f1 of the first flight type over tasks f2 of the second flight type. Also, assume seat group g includes only one or more multi-functional seats i1 and one or more single-functional seats i that only support the first flight type j1. The third constraint is alternatively set to satisfy:

[0078]

[0079]

[0080] Among them, wl i1 It is the workload of seat i1, wl i It is the workload of seat i, S i1 It is a subset of seat time slots s1 belonging to seat i1 in the set of seat time slots S, t f1 It is the duration of task f1, T i1 S is the available working time of seat i. i T is a subset of seat time slots s belonging to seat i in the set of seat time slots S. i Let be the available working hours of seat i, Ng be the number of seats in seat group g, and i′ be a seat in seat group g (which is either a multi-functional seat that prioritizes the first flight type task f1 or a single-functional seat that only supports the first flight type f1). For example, for the Guoyuan seats in the Shanghai area, the first flight type task f1 that is prioritized can be a Guoyuan task, and the second flight type task f2 that is not prioritized can be a non-Guoyuan task. That is to say, when considering the workload distribution balance of Guoyuan seats in the Guoyuan seat group, although some Guoyuan seats may also undertake non-Guoyuan tasks, the workload of non-Guoyuan tasks is not counted in the workload of such Guoyuan seats.

[0081] The third constraint requires a balanced workload distribution within seat groups. This can imply different balancing methods depending on the seat group's partitioning. For example, in the Shanghai region, seat groups can be partitioned by flight type. Therefore, for Shanghai, the third constraint is equivalent to requiring an average balance of workload per unit of time (in this example, an average hourly workload balance). In other words, within the Shanghai region, whether a seat group has 16 hours or 24 hours of available working time, as long as the average hourly workload of these seats is balanced, for example, all at 70%, it is acceptable. Similarly, in the Beijing and Northwest regions, seat groups can be partitioned by shared working hours. For Beijing and Northwest, the third constraint is equivalent to requiring a sum-of-the-parts workload balance within seat groups with the same working hours (correspondingly, the same available working time) across overlapping time periods (in this example, a sum-of-the-parts hourly workload balance across overlapping time periods).

[0082] In some embodiments, method 100 may further include: constructing a set R of flight information regions based on the task data, where flight information regions r∈R; and defining the following variables:

[0083]

[0084] Accordingly, in some embodiments, a fourth constraint can be set, requiring that for any task f and for any seat time slot s, the following conditions must be met. Where r f It is the flight information region involved in mission f, i s This refers to the seat belonging to time slot s. The fourth constraint can be used to construct the relationship between variables x and z during the solution of the integer programming model. Furthermore, in some embodiments, a fifth constraint can be set, requiring that for any seat i, ∑ r∈R (z ri )≤FIR i,lmt FIR i,lmt It represents the maximum number of available flight information regions for seat i. The fifth constraint helps to minimize the number of flight information regions involved in a single seat during the integer programming model solution process, thereby reducing the workload and error rate of seat personnel.

[0085] It should be understood that if a flight's departure and arrival airports belong to two different Flight Information Regions (FIRs), then the task corresponding to that flight involves two FIRs. In some embodiments, the fifth constraint can be set only for seats responsible for general domestic flights. In some embodiments, the maximum number of available FIRs for a seat can be set at various granularities. For example, the maximum number of available FIRs can be set for seats in different regions, or for seats in different seat groups, or for different seats individually. For example, the default maximum number of available FIRs for seats in the Shanghai, Beijing, and Northwest regions can be set to 4, 5, and 6, respectively. In some embodiments, when solving an integer programming model times out, the FIR of one or more seats i (e.g., those with the highest workload) can be set. i,lmt The fifth constraint is updated by adding 1, and then the integer programming model is solved again. For example, a relaxed upper limit on the number of flight information zones for each seat can be set, such as 8. In this case, if the maximum number of available flight information zones for a seat is gradually relaxed to 8 and the integer programming model still times out, the maximum number of available flight information zones for that seat will not be increased, but the maximum number of available flight information zones for other seats can be adjusted.

[0086] In some embodiments, method 100 may further include defining the following variables:

[0087]

[0088]

[0089] Accordingly, in some embodiments, a sixth constraint can be set, requiring that for any seat time slot s, the following condition is met.

[0090]

[0091]

[0092] Where F s It is a subset of tasks f in the task set F that can be executed in seat time slot s, and requires that for any three consecutive seat time slots s1, s2, s3 on the same seat, the following conditions must be met. Because when task f cannot be executed within seat time slot s, x fs =0, therefore in some embodiments the sixth constraint can be alternatively set to require that for any seat time slot s, the following condition is met.

[0093]

[0094]

[0095] Furthermore, it is required that for any three consecutive seats in the same seat, time intervals s1, s2, and s3 satisfy the following conditions: In other words, it is not necessary to select a subset F of tasks f that can be executed in seat time slot s from the task set F. s Instead, it directly applies to all tasks f (t) f ·x fs Summation is sufficient; basically, when task f cannot be executed within seat time slot s, x... fs =0. or This refers to the workload of the seats during the time period s. The sixth constraint ensures that, during the solution of the integer programming model, if the workload does not fall below 80% for every two consecutive hours, the workload in the third hour will not exceed 50%, thus preventing the seats from operating at high loads continuously.

[0096] In some embodiments, since some solvers do not support logical symbols such as "<" and ">", but support logical symbols such as "≤" and "≥", the sixth constraint can be alternatively set to require that for any seat time slot s, the following conditions are met.

[0097] Of which 79% ≤ α < 80%,

[0098]

[0099] Furthermore, it is required that for any three consecutive seats in the same seat, time intervals s1, s2, and s3 satisfy the following conditions: That is, α can be set to any value within [79%, 80%) to achieve an approximate constraint effect.

[0100] In some embodiments, a seventh constraint may be set, requiring that for any seat i and for any two round-trip tasks f1 and f2, the following condition is met: Where S i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S. The seventh constraint ensures that, during the solution of the integer programming model, the tasks involved in round-trip flights are allocated to the same seat as much as possible.

[0101] In some embodiments, an eighth constraint may be set, requiring that for any seat i and for any two tasks f3 and f4 belonging to a tandem process, the following condition is met: Where S i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S. The eighth constraint ensures that, during the solution of the integer programming model, the tasks involved in connecting flights are allocated to the same seat as much as possible.

[0102] Among the constraints mentioned above, from the perspective of the integer programming model, the first constraint can limit the coverage of all tasks. From the perspective of various business objectives, the remaining constraints can make the obtained seat allocation results more reasonable. The first constraint can be set in the integer programming model, and optionally, one or more of the second to eighth constraints can also be set.

[0103] In some embodiments, the objective function can be set to min{∑ f∈F (c f ·y f )+∑ i∈I w gi}, where c f This is the penalty cost for task f not being assigned to any seat time slot. The objective function implies minimizing the number of tasks not assigned to any seat time slot (the first term in the curly braces) and maximizing the workload distribution among seats within the same seat group (the second term in the curly braces). f It is an adjustable parameter in the integer programming model. Different types of tasks f can have different importance or priorities. For example, the higher the severity of the problem caused by a task not being assigned, the higher the importance or priority of that task can be set, and correspondingly, c... f The higher the value, the better.

[0104] It should be understood that the objective function can be modified according to actual needs to align the solution with the desired seat allocation effect. In some examples, the above objective function can also be modified to min{∑ f∈F (c f ·y f )+∑ i∈I w gi -∑ f∈F ∑ s∈s (rev fs ·x fs )}, where rev fs This represents the reward for assigning task f to seat time slot s. In some examples, the objective function above can also be modified to min{∑ f∈F (c f ·y f )+∑ i∈I w gi +∑ f2∈F ∑ s1∈S (c f2 ·x f2s1 )}, where c f2This refers to the penalty cost of scheduling the second-flight-type task f2 within the seat time slot s1 of a seat that simultaneously supports task f1 of the first flight type and task f2 of the second flight type, but prioritizes task f1 of the first flight type over task f2 of the second flight type. Therefore, the third term within the curly braces of the objective function above is to limit the number of non-priority flight type tasks in certain multi-functional seats that support multiple flight types. For example, for the Guoyuan seat in the Shanghai area, the priority-scheduled first-flight-type task f1 can be a Guoyuan task, while the non-priority-scheduled second-flight-type task f2 can be a non-Guoyuan task. That is, although the Guoyuan seat in the Shanghai area can share the pressure of non-Guoyuan seats, the Guoyuan seat still prioritizes Guoyuan tasks. In some examples, one or more terms can be removed from the curly braces of the objective function above.

[0105] Continue to refer to Figure 1 After constructing the integer programming model, method 100 may further include, at step S112, solving the integer programming model and allocating flight release tasks to release seats according to the solution results to obtain seat allocation results, wherein the seat allocation results indicate the correspondence between task f and seat time slot s. Specifically, solving the integer programming model can, for example, solve for each The value of is either 1 or 0, which determines whether each task f in the task set F is assigned to a specific seat time slot s in the seat time slot set S or is not assigned to any seat time slot. Once the seat time slot s of the seat time slot set S is determined, it can be determined which seat and which time slot will be used to process the flight release task.

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

[0107] In some embodiments, when there are tasks in the seat allocation results obtained from solving the integer programming model that have not been assigned to any seat time slot, the task can be assigned to the seat time slot with the least workload that can perform the task.

[0108] In some embodiments, a list of dates for which flight release tasks need to be assigned to release seats can be generated; the list of dates is traversed, and for each date in the list as a time period to be scheduled, task data, seat data, and configuration data for that date are obtained; and the seat allocation result for that date is generated by executing the method 100 according to any of the above embodiments. For example, a list of dates for the next month can be obtained before the start of each month, and then for each date in the next month, task data for flight release tasks that need to be assigned to release seats on that date, seat data for release seats open on that date, and configuration data for configuring release time requirements for different types of flights are obtained; then, based on the task data, seat data, and configuration data for that date, the seat allocation result for that date is generated by executing the method 100 according to any of the above embodiments.

[0109] In some embodiments, generating a seat allocation result for each date in the date list may include: generating a region list, wherein different regions in the region list are assigned flights with different destinations and / or route areas; traversing the region list to obtain, for each region in the region list, the task data, the seat data, and the configuration data for that region, and generating a seat allocation result for that region on that date by executing the method 100 according to any of the above embodiments. Specifically, assuming the region list includes Shanghai, Beijing, and Northwest regions, generating a seat allocation result for each date in the date list may include: for each region in Shanghai, Beijing, and Northwest regions, obtaining, respectively, the task data of flight release tasks that need to be allocated to release seats in that region on that date, the seat data of release seats open in that region on that date, and the configuration data for configuring release time requirements for different types of flights in that region; and then generating a seat allocation result for that region on that date based on the task data, seat data, and configuration data of that region on that date by executing the method 100 according to any of the above embodiments.

[0110] In some embodiments, for each date in the date list, after generating the seat allocation results for each region on that date, the following operations may also be performed: Calculate the average total workload of each seat supporting the same flight type open in that region on that date; Based on a comparison of the average value with a preset threshold range, determine whether to increase or decrease the number of seats supporting the same flight type open in that region on that date, thereby generating a suggested seat adjustment for that region on that date; Based on the suggested seat adjustment, re-execute the method to generate the suggested seat allocation results for that region on that date. For example, after generating the seat allocation results for Shanghai region on a certain date based on the task data, seat data, and configuration data of Shanghai region on that date, the average total workload of each international passenger seat open in Shanghai region on that date can be calculated. If the average value is higher than a preset threshold range, it can be suggested to increase the number of international passenger seats in Shanghai region on that date; if the average value is lower than a preset threshold range, it can be suggested to decrease the number of international passenger seats in Shanghai region on that date; if the average value falls within a preset threshold range, it can be suggested not to adjust the number of international passenger seats in Shanghai region on that date. Then, if there is a suggested seat adjustment, the method 100 according to any of the above embodiments is re-executed based on the updated seat data to generate the suggested seat allocation results for that region on that date. The preset threshold range can be one or more values, or it can be a range of values.

[0111] Therefore, method 100 can be used to determine the allocation of flight departure tasks for each region on each day in the future.

[0112] In some embodiments, the task data may further include data on assigned tasks within the unscheduled time slot but already pre-assigned to corresponding seats, in which case the integer programming model can be solved according to one or more of the following: specifying x corresponding to the assigned task and the corresponding seat time slot. fs=1; The assigned task is not restricted by the supported flight type and region of the corresponding seat; If both tasks belonging to a round trip or connecting flight are assigned tasks, it is not required that the two tasks be assigned to the same seat; If both tasks belonging to a round trip or connecting flight are assigned tasks and have been pre-assigned to the same seat, then the task belonging to the round trip or connecting flight with the two tasks is assigned to the same seat only if the time constraint of the same seat is met; If the round trip and connecting flight of the unassigned task f are both assigned tasks and have been pre-assigned to different seats, then the unassigned task f is assigned to the same seat as the round trip task; The maximum available flight information area for each seat is... The quantity is set to the maximum of the default maximum available flight information regions for that seat and the total number of flight information regions involved in the assigned tasks for that seat; the available working hours for each seat time slot are set to the maximum of the default available working hours for that seat time slot and the total working hours of the assigned tasks for that seat time slot; for consecutive first, second, and third seat time slots with assigned tasks, if the workload of the assigned tasks in each of the first and second seat time slots is not less than 80% and the workload of the assigned tasks in the third seat time slot is greater than 50%, then no more tasks are assigned to the third seat time slot. For unassigned tasks, the situation is the same as described previously and will not be repeated here. Such embodiments are applicable, for example, but not limited to, to the following situation: tasks have been assigned to seats in each region for each day of a future period according to method 100, but on a certain date, some seat / flight / task adjustments occur temporarily; then tasks not affected by the adjustments can be considered assigned tasks, while tasks affected by the adjustments can be considered unassigned tasks.

[0113] Therefore, Method 100 can construct an integer programming model for the seat allocation problem of flight departure tasks. It assigns values ​​to the variables in the model based on task data, seat data, and configuration data, sets constraints for the model based on various business objectives, and sets an objective function for the model based on various expected allocation effects. Furthermore, it can perform seat allocation for flight departure tasks by solving the constructed integer programming model. Compared with manual allocation, it has significantly improved efficiency, is less prone to errors, can flexibly cope with various temporary adjustments, and has low reassignment costs.

[0114] The following is combined with Figure 2 This invention relates to an apparatus 200 for assigning flight release tasks to release positions according to some embodiments of the present disclosure. For example... Figure 2 As shown, the device 200 may include a data processing module 202, a model building module 204, and a solution allocation module 206.

[0115] Data processing module 202 can be configured as follows:

[0116] Receive task data about flight release tasks that need to be assigned to release seats during the pending schedule period, seat data about release seats that are open during the pending schedule period, and configuration data for configuring release time requirements for different types of flights.

[0117] Based on the task data and the seat data, construct a task set E, a seat set I, and a seat group set G, respectively, where task f∈F, seat i∈I, and seat group g∈G;

[0118] Each seat i is divided into multiple seat time slots according to the working period and time unit, thereby constructing a seat time slot set S based on the seat data, which includes all seat time slots s of all seats i, where seat time slots s∈S;

[0119] Define the following variables:

[0120]

[0121]

[0122] w gi Let w be a parameter used to measure the difference between the workload of seat i and the average workload of the seat group g to which seat i belongs, where 0 ≤ w gi ≤1.

[0123] Model building module 204 can be configured to build integer programming models by:

[0124] Set the following constraints:

[0125] The first constraint requires that for any task f, the following condition must be met. Where S f It is a subset of the seat time slots s in the seat time slot set S that can execute task f.

[0126] The second constraint requires that for any seat time slot s, the following must be satisfied: Where F s It is a subset of tasks f in the task set F that can be executed in seat time slot s, t f T is the duration of task f. s The available working hours for seat time slot 's'

[0127] The third constraint requires that for any seat i, the following condition must be met. Among them, wl i It is the workload of seat i, F sS is a subset of tasks f in the task set F that can be executed in seat time slot s. i It is a subset of seat time slots s belonging to seat i in the set of seat time slots S, t f T is the duration of task f. i It is the available working time of seat i, g i It is the seat group to which seat i belongs, Ng i It is seat group g i The number of seats in the group, i′ is the number of seats in seat group g. i The seats in the middle,

[0128] Set the following objective function:

[0129] min{∑ f∈F (c f ·y f )+∑ i∈I w gi}, where c f It is the penalty cost for task f not being assigned to any seat time slot.

[0130] The solution allocation module 206 can be configured to solve the integer programming model and allocate flight release tasks to release seats according to the solution results to obtain seat allocation results, wherein the seat allocation results indicate the correspondence between task f and seat time slot s.

[0131] The embodiments of device 200 are basically similar to the embodiments of method 100 described above, so they will not be repeated here. For relevant details, please refer to the description in the method embodiments section.

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

[0133] This disclosure also provides a non-transient storage medium having computer-executable instructions stored thereon, which, when executed by a computer, cause the computer to perform a method for allocating flight release tasks to release positions according to any of the foregoing embodiments of this disclosure.

[0134] The terms “left,” “right,” “front,” “back,” “top,” “bottom,” “upper,” “lower,” “high,” “lower,” etc., used in the specification and claims, if present, are for descriptive purposes and not necessarily for describing unchanging relative positions. It should be understood that such terms are interchangeable where appropriate, so that embodiments of this disclosure described herein can operate, for example, in orientations different from those shown or otherwise described herein. For example, when the device in the drawings is reversed, a feature previously described as “above” other features may now be described as “below” other features. The device may also be oriented in other ways (rotated 90 degrees or in other orientations), in which case the relative spatial relationships will be interpreted accordingly.

[0135] In the specification and claims, when an element is described as being "on top of," "attached to," "connected to," "coupled to," or "in contact with" another element, the element may be directly located on top of, directly attached to, directly connected to, directly coupled to, or directly in contact with the other element, or one or more intermediate elements may be present. Conversely, when an element is described as being "directly" located on top of, directly attached to, directly connected to, directly coupled to, or directly in contact with another element, no intermediate elements are present. In the specification and claims, when a feature is arranged "adjacent" to another feature, it may mean that a feature has a portion overlapping with the adjacent feature or a portion located above or below the adjacent feature.

[0136] As used herein, the term "exemplary" means "serving as an example, instance, or illustration," and not as a "model" to be precisely copied. Any implementation described herein by example is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, this disclosure is not limited to any theory expressed or implied as given in the art, background, summary of the invention, or detailed description.

[0137] As used herein, the term "substantially" means any minor variation resulting from design or manufacturing defects, device or component tolerances, environmental influences, and / or other factors. The term "substantially" also allows for differences from the perfect or ideal situation due to parasitic effects, noise, and other practical considerations that may exist in the actual implementation.

[0138] Additionally, terms such as “first,” “second,” etc., may be used in this document for reference purposes only and are not intended to be limiting. For example, unless the context clearly indicates otherwise, the words “first,” “second,” and other such numerical terms relating to structures or elements do not imply order or sequence.

[0139] It should also be understood that when the term “including / contains” is used herein, it indicates the presence of the indicated feature, whole, step, operation, unit and / or component, but does not preclude the presence or addition of one or more other features, wholes, steps, operations, units and / or components and / or combinations thereof.

[0140] In this disclosure, the term “provide” is used broadly to cover all ways of obtaining an object, and therefore “provide an object” includes, but is not limited to, “purchasing,” “preparing / manufacturing,” “arranging / setting up,” “installing / assembling,” and / or “ordering” an object.

[0141] As used herein, the term “and / or” includes any and all combinations of one or more of the listed items in association. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of this disclosure. As used herein, the singular forms “a,” “an,” and “the” are also intended to include the plural forms unless the context clearly indicates otherwise.

[0142] Those skilled in the art will recognize that the boundaries between the above operations are merely illustrative. Multiple operations may be combined into a single operation, a single operation may be distributed among additional operations, and operations may be performed with at least partial overlap in time. Moreover, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be changed in various other embodiments. However, other modifications, variations, and substitutions are equally possible. Aspects and elements of all the embodiments disclosed above may be combined in any way and / or in combination with aspects or elements of other embodiments to provide multiple additional embodiments. Therefore, this specification and the accompanying drawings should be considered illustrative rather than restrictive.

[0143] While specific embodiments of this disclosure have been described in detail by way of example, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. The various embodiments disclosed herein can be combined in any way without departing from the spirit and scope of this disclosure. Those skilled in the art should also understand that various modifications can be made to the embodiments without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.

Claims

1. A method for assigning flight release tasks to release positions, comprising: Receive task data about flight release tasks that need to be assigned to release seats during the pending schedule period, seat data about release seats that are open during the pending schedule period, and configuration data for configuring release time requirements for different types of flights. A task set is constructed based on the task data and the seat data, respectively. Seat Set Seat group set Among them, the task Seats Seat Group ; Each seat The work hours are divided into multiple time slots based on time units, thus constructing a database encompassing all seats. All seat time slots Seat time slots collection Seat time slots ; Define the following variables: , , Used to measure seats workload and seats Seat group The parameter representing the difference in average workload, where ; Construct an integer programming model using the following operations: Set the following constraints: The first constraint requires that for any task... satisfy ,in It is a collection of seat time slots The ability to perform tasks Seat time slot a subset of The second constraint requires that for any seat time slot... satisfy ,in It is a set of tasks The seat time slot is available in the middle. Tasks to be performed a subset of It is a task Task duration, Seat Time Slot Available working hours The third constraint requires that for any given seat... satisfy , ,in, Seats The workload, It is a set of tasks The seat time slot is available in the middle. Tasks to be performed a subset of It is a collection of seat time slots The seats in Seat time slot a subset of It is a task Task duration, Seats Available working hours Seats The seat group they belong to It is a seat group The number of seats in the middle, It is a seat group The seats in the middle, Set the following objective function: ,in It is a task The penalty cost for not being assigned to any seat time slot; as well as Solve the integer programming model and allocate flight release tasks to release seats based on the solution results to obtain seat allocation results. The seat allocation results indicate the tasks. Seat Time Slot The correspondence between them.

2. The method according to claim 1, wherein: The seat data includes the identification number of each seat, seat group, region, and seat rules. The seat rules indicate the supported flight types and the available working hours for the working hours and seat time slots set for the supported flight types. The task data includes each task's identification number, region, flight information region of the take-off and landing airport, round-trip / connecting flight information, aircraft type, flight type, and departure time; The configuration data includes the release time, earliest start time, latest end time, and planned start time for each type of flight.

3. The method according to claim 2, wherein, When seat When different seating rules are set for different flight types, the seats will be... Each of the different seat rules is divided into multiple seat time slots according to the corresponding working period and time unit.

4. The method according to claim 1, further comprising: A flight information region set is constructed based on the aforementioned task data. Among them, the flight information area ; Define the following variables: , The construction of the integer programming model also includes setting the following constraints: The fourth constraint requires that for any task... And for any seat time slot satisfy ,in It is a task The flight information regions involved It is a seat time slot The seat to which it belongs, The fifth constraint requires that for any given seat... satisfy ,in Seats The maximum number of available flight information regions.

5. The method according to claim 4, wherein, When solving the integer programming model times out, one or more seats will be... of Increase by 1 to update the fifth constraint, and then resolve the integer programming model.

6. The method according to claim 1, further comprising: Define the following variables: , , The construction of the integer programming model also includes setting the following constraints: The sixth constraint requires that for any seat time slot... satisfy , , And it requires that for any three consecutive time slots on the same seat... satisfy .

7. The method according to claim 6, wherein, The sixth constraint shall be set as follows: The requirement is that for any seat time slot satisfy ,in , , And it requires that for any three consecutive time slots on the same seat... satisfy .

8. The method according to claim 1, wherein, Constructing the integer programming model also includes setting at least one of the following constraints: The seventh constraint requires that for any given seat... And for any two tasks that are round trips... satisfy ,in It is a collection of seat time slots The seats in Seat time slot A subset of; The eighth constraint requires that for any given seat... And for any two tasks that are coupled together satisfy ,in It is a collection of seat time slots The seats in Seat time slot A subset of.

9. The method according to claim 1, wherein, Configure the objective function as follows: ,in It is a task The penalty cost for not being assigned to any seat time slot. It is the task Seat time slots The benefits.

10. The method according to claim 1, wherein, For each region, the seats in that region are divided into seat groups according to one of the following conditions: Classified according to the type of flight supported, or according to the priority of flight type when multiple flight types are supported; Divided according to the shared working hours.

11. The method according to claim 1, wherein, If there is a task in the seat allocation result obtained from the solution of the integer programming model that has not been assigned to any seat time slot, the task shall be assigned to the seat time slot with the least workload that can execute the task.

12. The method according to claim 1, wherein, When the task data also includes data on assigned tasks within the unscheduled time slot but already pre-assigned to corresponding seats, the solution to the integer programming model is as follows: Specify the time slot corresponding to the assigned task and the corresponding seat. =1; The assigned tasks are not restricted by the flight type and region supported by the corresponding seats; If both tasks that are round trips or connecting trips are already assigned, then the two tasks are not required to be assigned to the same seat. If two tasks belonging to a round trip or connecting trip are both assigned tasks and have been pre-assigned to the same seat, then the task belonging to the round trip or connecting trip with the two tasks will be assigned to the same seat only if the time constraint of the same seat is satisfied. If no task is assigned If both the round-trip and connecting tasks are assigned tasks and have been pre-assigned to different seats, then the unassigned tasks... They were assigned to the same seats as those for round-trip missions. Set the maximum number of available flight information regions for each seat to the maximum of the default maximum number of available flight information regions for that seat and the total number of flight information regions involved in the assigned tasks for that seat. Set the available working hours for each seat time slot to the maximum of the default available working hours for that seat time slot and the total working hours of the assigned tasks for that seat time slot. For consecutive time slots of the first, second, and third seats with assigned tasks, if the workload of the assigned tasks in each of the first and second time slots is not less than 80% and the workload of the assigned tasks in the third time slot is greater than 50%, then no more tasks will be assigned to the third time slot.

13. The method according to claim 1, comprising: Generate a list of dates from which flight release tasks need to be assigned to release slots; The date list is traversed, and for each date in the date list as a time period to be scheduled, the task data, the seat data and the configuration data for that date are obtained, and the seat allocation result for that date is generated by executing the method according to any one of claims 1 to 12.

14. The method according to claim 13, wherein, For each date in the date list, the seat allocation result for that date includes: Generate a list of regions, wherein different regions in the list are assigned flights with different destinations and / or route areas; The list of regions is traversed to obtain the task data, seat data, and configuration data for each region in the list, and the seat allocation result for that region on that date is generated by executing the method.

15. The method according to claim 14, wherein, For each date in the date list, after generating the seat allocation results for each region on that date, the method further includes: Calculate the average total workload for all seats in the region that are open on that date, supporting the same flight type; Based on the comparison between the average value and a preset threshold range, it is determined whether to increase or decrease the number of seats available for the same flight type in that region on that date, thereby generating a suggested seat adjustment for that region on that date; Based on the proposed seat adjustments, the method is re-executed to generate the proposed seat allocation results for that region on that date.

16. An apparatus for assigning flight release tasks to release positions, comprising: The data processing module is configured as follows: Receive task data about flight release tasks that need to be assigned to release seats during the pending schedule period, seat data about release seats that are open during the pending schedule period, and configuration data for configuring release time requirements for different types of flights. A task set is constructed based on the task data and the seat data, respectively. Seat Set Seat group set Among them, the task Seats Seat Group ; Each seat The work hours are divided into multiple time slots based on time units, thus constructing a database encompassing all seats. All seat time slots Seat time slots collection Seat time slots ; Define the following variables: , , Used to measure seats workload and seats Seat group The parameter representing the difference in average workload, where ; The model building module is configured to build integer programming models by: Set the following constraints: The first constraint requires that for any task... satisfy ,in It is a collection of seat time slots The ability to perform tasks Seat time slot a subset of The second constraint requires that for any seat time slot... satisfy ,in It is a set of tasks The seat time slot is available in the middle. Tasks to be performed a subset of It is a task Task duration, Seat Time Slot Available working hours The third constraint requires that for any given seat... satisfy , ,in, Seats The workload, It is a set of tasks The seat time slot is available in the middle. Tasks to be performed a subset of It is a collection of seat time slots The seats in Seat time slot a subset of It is a task Task duration, Seats Available working hours Seats The seat group they belong to It is a seat group The number of seats in the middle, It is a seat group The seats in the middle, Set the following objective function: ,in It is a task The penalty cost for not being assigned to any seat time slot; as well as The allocation module is configured to solve the integer programming model and allocate flight release tasks to release seats based on the solution results to obtain seat allocation results, which indicate the tasks. Seat Time Slot The correspondence between them.

17. A computing device for assigning flight release tasks to release positions, comprising: One or more processors; as well as A memory storing computer-executable instructions, which, when executed by the one or more processors, cause the one or more processors to perform a method for assigning flight release tasks to release positions according to any one of claims 1 to 15.

18. A non-transient storage medium having stored thereon computer-executable instructions, which, when executed by a computer, cause the computer to perform a method for assigning flight release tasks to release positions according to any one of claims 1 to 15.