Method for adjusting flight schedule of airline and related device

CN122736187APending Publication Date: 2026-09-11CHINA EASTERN AIRLINES CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610882910.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-17
Publication Date
2026-09-11

Smart Images

  • Figure CN122736187A_ABST
    Figure CN122736187A_ABST
Patent Text Reader

Abstract

The present disclosure relates to a flight schedule adjustment method and related device for an airline. The flight schedule adjustment method comprises: obtaining residual time information indicating residual flight capacities of an airport at each time, original time information indicating original flight numbers of the airline at each time, and planned time information indicating planned flight numbers of the airline at each time; constructing an integer programming model, including setting variables to indicate flight numbers of the airline at corresponding times, whether to apply for adding flights, and whether to apply for abandoning flights, setting constraints to require that adjusted flight numbers of the airline at each time equal the sum of original flight numbers and changes, and that at each time the airline cannot apply for adding flights and abandoning flights at the same time, and setting an objective function to adjust flight numbers at each time from the original time information to a direction close to the planned time information; and solving the integer programming model using the obtained information to determine a flight schedule adjustment scheme.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of aviation information technology, and more specifically, to a method, apparatus, computing device, computer-readable storage medium, and computer program product for airlines to adjust flight schedules. Background Technology

[0002] Seasonal flight schedule changes typically refer to the civil aviation system's twice-yearly adjustments to flight plans. The summer / autumn season generally runs from the last Sunday in March to the last Saturday in October, while the winter / spring season generally runs from the last Sunday in October to the last Saturday in March of the following year. Depending on the season, airlines adjust their existing flights to adapt to new flight standards and passenger travel demands. Seasonal adjustments mainly include adding new routes, increasing flights, adjusting schedules, and canceling flights. Summary of the Invention

[0003] According to a first aspect of this disclosure, a method for adjusting flight schedules for an airline is provided, comprising: acquiring remaining slot information of an airport, the remaining slot information indicating the remaining flight capacity of the airport at each time; acquiring original slot information and planned slot information of the airline, the original slot information indicating the original number of flights of the airline at the airport at each time, and the planned slot information indicating the planned number of flights of the airline at the airport at each time; constructing an integer programming model by: setting variables, including: setting a first variable indicating the number of flights of the airline at a given time, setting a second variable indicating whether the airline applies for additional flights at the given time, and setting a third variable indicating whether the airline applies for canceling flights at the given time; setting constraints, including: setting a first constraint requiring that the adjusted number of flights of the airline at each time is equal to the sum of the original number of flights of the airline at that time and the change in the number of flights, and setting a second constraint requiring that the airline cannot both apply for additional flights and cancel flights at each time; setting an objective function to adjust the first variable from the original slot information toward a direction closer to the planned slot information; and solving the integer programming model using the acquired information to determine a flight schedule adjustment scheme based on the decision variable values ​​of the second variable and the third variable.

[0004] In some embodiments, the first variable indicates the number of inbound or outbound flights of the airline at the corresponding time, the second variable indicates whether the airline applies for additional inbound or outbound flights at the corresponding time, and the third variable indicates whether the airline applies to abandon inbound or outbound flights at the corresponding time.

[0005] In some embodiments, the flight schedule adjustment method further includes: receiving the evaluation result of the flight schedule adjustment scheme; and, in response to the evaluation result indicating that the flight schedule adjustment scheme is feasible, determining the flight schedule adjustment scheme as the final flight schedule adjustment scheme, or in response to the evaluation result indicating that the flight schedule adjustment scheme is infeasible, setting constraints based on the infeasible flight schedule adjustment scheme, such that the new flight schedule adjustment scheme determined after resolving the integer programming model does not include the infeasible flight schedule adjustment scheme.

[0006] In some embodiments, the flight schedule adjustment method includes: in response to an evaluation result indicating that a flight schedule adjustment scheme has a feasible part and an infeasible part, updating the original schedule information and remaining schedule information based on the feasible part, and setting constraints based on the infeasible part such that the new flight schedule adjustment scheme determined after resolving the integer programming model with the schedules involved in the feasible part set as non-adjustable does not include the infeasible part.

[0007] In some embodiments, the objective function includes a plurality of objective functions ordered by priority, wherein solving the integer programming model includes solving the integer programming model by sequentially using one of the plurality of objective functions in descending order of priority, wherein when solving the integer programming model using a lower priority objective function, constraints are set based on the optimized value of the objective function obtained after solving the integer programming model using a higher priority objective function.

[0008] In some embodiments, the plurality of objective functions include a first objective function having a first priority, the first objective function being configured to minimize the deviation between the adjusted number of flights at each time point and the planned number of flights at that time point.

[0009] In some embodiments, the plurality of objective functions further include a second objective function having a second priority lower than the first priority, the second objective function being configured to minimize the number of times the number of flights to be adjusted is adjusted.

[0010] In some embodiments, the plurality of objective functions further include a third objective function having a third priority lower than the second priority, the third objective function being configured to maximize the comprehensive value of flight slots, the comprehensive value of flight slots being determined based on the number of flights at each time slot and the value of the corresponding time slot.

[0011] In some embodiments, the value of a corresponding moment includes a first value and / or a second value, wherein the first value is determined based on the scarcity of that moment and the second value is determined based on the degree of synergy between that moment and neighboring moments.

[0012] In some embodiments, the scarcity level at each moment is determined based on the remaining flight capacity at that moment, and the first value at that moment is determined by a mapping model between the remaining flight capacity at that moment and a first value, the mapping model being configured such that: when the remaining flight capacity is less than or equal to a first threshold, the first value increases as the remaining flight capacity decreases; and when the remaining flight capacity is greater than the first threshold, the first value remains at a fixed value, which is less than the value of the first value when the remaining flight capacity is equal to the first threshold.

[0013] In some embodiments, determining a second value based on the degree of coordination between the time and neighboring times includes: determining difference time information based on original time information and planned time information, the difference time information indicating the difference between the original number of flights and the planned number of flights at the airport at each time; for times when the original number of flights is less than the planned number of flights: searching for a coordination target time from near to far within the neighboring interval of that time based on remaining time information; and determining a second value of the coordination target time based on the time offset between the coordination target time and the time, wherein the second value increases as the time offset decreases.

[0014] In some embodiments, the difference time information includes a first time when the number of original flights is less than the number of planned flights by a first amount and a second time when the number of original flights is less than the number of planned flights by a second amount, the first time and the second time having the same coordination target time, wherein there is a first time offset between the coordination target time and the first time, a second time offset between the coordination target time and the second time, and a second value of the coordination target time including a first portion determined based on the first time offset and a second portion determined based on the second time offset.

[0015] In some embodiments, the airport’s remaining slot information is determined based on the airport’s slot flow information and slot capacity rules. The slot flow information indicates the number of existing flights at the airport at each time slot, and the slot capacity rules include the upper limit on the number of flights allowed by the airport at each time slot.

[0016] In some embodiments, the flight schedule adjustment method further includes: obtaining a schedule capacity rule, the schedule capacity rule including the upper limit of the number of flights allowed by the airport in each schedule range, wherein setting constraints further includes: setting a third constraint, the third constraint requiring that the total number of flights operated by the airline in each schedule range at the airport be less than or equal to the upper limit of the number of flights allowed by the airport in that schedule range.

[0017] In some embodiments, the flight schedule adjustment method further includes: obtaining schedule adjustment rules, the schedule adjustment rules including that a first number of times for applying to add flights must be exchanged for a second number of times for applying to abandon flights, wherein setting constraints further includes: setting a fourth constraint, the fourth constraint indicating that the ratio of the number of times for applying to add flights at all times to the number of times for applying to abandon flights at all times is equal to the ratio of the first number to the second number.

[0018] In some embodiments, the flight schedule adjustment method further includes: dividing all time slots into multiple time periods; and determining the degree of imbalance in each time period based on the difference between the original number of flights and the planned number of flights at each time slot within each time period; wherein solving the integer programming model using the acquired information includes: generating a task for solving the integer programming model for each of the multiple time periods, wherein the time slots in the task where flights can be added or abandoned are restricted to the corresponding time period, and the task is subject to a constraint requiring the total number of flights in the corresponding time period to remain unchanged; executing tasks sequentially in descending order of imbalance degree, including: executing the current task; in response to the current task having a solution and the obtained flight schedule adjustment scheme being evaluated as feasible, recording the flight schedule adjustment scheme and exiting the current task to execute the next task; and in response to the current task having no solution or the obtained flight schedule adjustment scheme being evaluated as infeasible, ending the current task to execute the next task.

[0019] In some embodiments, solving the integer programming model using the acquired information further includes: counting the number of global exchanges in the recorded flight schedule adjustment schemes, and terminating the current task and all subsequent tasks in response to the number of global exchanges reaching a second threshold, wherein the number of global exchanges is equal to the ratio of the number of new flights requested at all times to the first number.

[0020] In some embodiments, the number of local swaps in each time period is equal to the ratio of the number of newly requested flights to a first number in that time period, and executing the current task includes: obtaining multiple settings for the number of local swaps, and generating a subtask for solving an integer programming model for each of the multiple settings, wherein the subtask is constrained to require the number of local swaps to be equal to the corresponding setting value; executing the subtasks sequentially in descending order of the multiple settings, including: executing the current subtask; recording the flight schedule adjustment scheme and exiting the current task to execute the next task in response to the current subtask having a solution and the obtained flight schedule adjustment scheme being evaluated as feasible, and ending the current subtask to execute the next subtask in response to the current subtask having no solution or the obtained flight schedule adjustment scheme being evaluated as infeasible; and ending the current task to execute the next task in response to all subtasks having no solution or the obtained flight schedule adjustment scheme being evaluated as infeasible.

[0021] In some embodiments, multiple setting values ​​include 7, 4, 3, and 1, and the corresponding generated subtasks are the first subtask, the second subtask, the third subtask, and the fourth subtask, respectively. The first subtask requires that in the obtained flight schedule adjustment scheme, the time for requesting to add a flight includes one time of every day of the week, and the time for requesting to abandon a flight includes another time of every day of the week. The second subtask requires that in the obtained flight schedule adjustment scheme, the time for requesting to add a flight includes one time of every odd-numbered day of the week, and the time for requesting to abandon a flight includes another time of every odd-numbered day of the week. The third subtask requires that in the obtained flight schedule adjustment scheme, the time for requesting to add a flight includes one time of every even-numbered day of the week, and the time for requesting to abandon a flight includes another time of every even-numbered day of the week. The fourth subtask requires that in the obtained flight schedule adjustment scheme, the time for requesting to add a flight includes one time of the week, and the time for requesting to abandon a flight includes another time of the week.

[0022] In some embodiments, in response to the current subtask having a solution but the obtained flight schedule adjustment scheme being evaluated as infeasible, constraints are set based on the infeasible flight schedule adjustment scheme such that the new flight schedule adjustment scheme obtained by re-executing the current subtask does not include the infeasible flight schedule adjustment scheme; or in response to the current subtask having a solution but the obtained flight schedule adjustment scheme being evaluated as having feasible and infeasible parts, the original time information and remaining time information are updated based on the feasible part, and constraints are set based on the infeasible part such that the new flight schedule adjustment scheme obtained by re-executing the current subtask when the time involved in the feasible part is set as unadjustable does not include the infeasible part.

[0023] In some embodiments, the flight schedule adjustment method further includes: obtaining prohibited adjustment methods and setting constraints based on the prohibited adjustment methods, wherein the prohibited adjustment methods include one or more of the following: the adjusted number of inbound flights is not equal to the original number of inbound flights; the adjusted number of outbound flights is not equal to the original number of outbound flights; the total number of flights during off-peak hours decreases and the total number of flights during peak hours increases; the total number of flights changes on all odd-numbered days of the week; the total number of flights changes on all even-numbered days of the week; the number of flights at locked times changes; the adjusted number of domestic flights is not equal to the original number of domestic flights; and the adjusted number of international flights is not equal to the original number of international flights.

[0024] In some embodiments, determining a flight schedule adjustment scheme includes: determining the time for applying to add a flight based on the decision variable value of a second variable, and determining the time for applying to abandon a flight based on the decision variable value of a third variable; pairing the time for applying to abandon a flight with the time for applying to add a flight; and determining the flight number of the flight to be adjusted from the original schedule information based on the time for applying to abandon a flight.

[0025] In some embodiments, determining the flight number to be adjusted from the original time information based on the time of the flight cancellation request includes: in response to the existence of a flight number in the original time information corresponding to the time of the flight cancellation request, identifying the corresponding flight number as a candidate flight number; in response to the absence of a flight number in the original time information corresponding to the time of the flight cancellation request, identifying the flight number whose time is closest to the time of the flight cancellation request as a candidate flight number; and determining the identified candidate flight number as the flight number to be adjusted.

[0026] In some embodiments, in response to identifying multiple candidate flight numbers, the flight number with the most flights among the multiple candidate flight numbers is determined as the flight number for which the flight time is to be adjusted.

[0027] According to a second aspect of this disclosure, a flight schedule adjustment device for an airline is provided. The flight schedule adjustment device includes an acquisition module, a construction module, and an adjustment module. The acquisition module is configured to: acquire remaining slot information of an airport, indicating the airport's remaining flight capacity at each time; acquire original slot information and planned slot information of the airline, the original slot information indicating the airline's original number of flights at the airport at each time, and the planned slot information indicating the airline's planned number of flights at the airport at each time. The construction module is configured to construct an integer programming model by: setting variables, including: setting a first variable indicating the number of flights of the airline at a given time; setting a second variable indicating whether the airline applies for additional flights at the given time; setting a third variable indicating whether the airline applies for canceling flights at the given time; setting constraints, including: setting a first constraint requiring that the adjusted number of flights of the airline at each time is equal to the sum of the airline's original number of flights at that time and the change in the number of flights; setting a second constraint requiring that the airline cannot both apply for additional flights and cancel flights at each time; and setting an objective function to adjust the first variable from the original slot information towards a direction closer to the planned slot information. The adjustment module is configured to use the acquired information to solve an integer programming model to determine the flight schedule adjustment scheme based on the decision variable values ​​of the second variable and the decision variable values ​​of the third variable.

[0028] According to a third aspect of this disclosure, a computing device is provided, comprising: a memory configured to store instructions; and a processor coupled to the memory, wherein when the instructions are executed by the processor, operation of the flight schedule adjustment method according to any embodiment of the first aspect of this disclosure is implemented.

[0029] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided having instructions stored thereon that, when executed by a processor, implement the flight schedule adjustment method according to any embodiment of the first aspect of this disclosure.

[0030] According to a fifth aspect of this disclosure, a computer program product is provided, including instructions that, when executed by a processor, implement the operation of the flight schedule adjustment method according to any embodiment of the first aspect of this disclosure.

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

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

[0033] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein: Figure 1 This is a flowchart illustrating a flight schedule adjustment method according to some embodiments of the present disclosure; Figure 2 Exemplary examples are shown of data on remaining slot information for an airport obtained according to some embodiments of this disclosure; Figure 3 Exemplary examples are shown of raw flight information data of an airline obtained according to some embodiments of this disclosure; Figure 4 Exemplary data of airline scheduled slot information obtained according to some embodiments of this disclosure are shown; Figure 5 This is a flowchart illustrating a flight schedule adjustment scheme according to some embodiments of the present disclosure; Figure 6 Exemplary examples are shown of data on the first value of a moment determined according to some embodiments of this disclosure; Figure 7 Data on airline time zone differences determined according to some embodiments of this disclosure are illustrated by way of example; Figure 8Exemplary examples illustrate data on the second value of a moment determined according to some embodiments of this disclosure; Figure 9 This is a flowchart illustrating a non-limiting example process in which a flight schedule adjustment method according to some embodiments of the present disclosure is applied; Figure 10 This is a schematic block diagram illustrating a flight schedule adjustment device according to some embodiments of the present disclosure; Figure 11 This is a schematic block diagram illustrating a computing device according to some embodiments of the present disclosure; Figure 12 This is a schematic block diagram illustrating an electronic device on which embodiments of the present disclosure may be implemented.

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

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

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

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

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

[0039] Flight slots are a core strategic resource for airlines, reflecting an aircraft's right to use relevant infrastructure and services at a specific date and time for arrival or departure from an airport. Slot times can be based on wheel chock times (e.g., for inbound flights) or wheel chock times (e.g., for outbound flights). Airlines need to acquire slots at the relevant airports to allow flights to take off and land at that airport at that time. For example, flight slots can be allocated on a weekly cycle, meaning that acquiring a particular slot in a flight season means acquiring that slot for every week of that season. In practice, flight slots can be allocated in 5-minute intervals; for example, the 9:05 slot corresponds to the time range of 9:05 to 9:10, and the 9:10 slot corresponds to the time range of 9:10 to 9:15. Therefore, there can be 288 slots per day, specifically including slots such as 0:00, 0:05, 0:10, ..., 23:50, 23:55.

[0040] In actual seasonal coordination work, airlines face a complex and challenging resource game environment. On the one hand, prime time slots are scarce and their allocation tends to be fixed; on the other hand, the Civil Aviation Administration of China (CAAC) releases information on the dynamic changes in remaining slots and has established strict flight slot management regulations. Airlines need to complete the comparison, value assessment, and solution generation of massive amounts of data within a very short coordination window.

[0041] In related technologies, airline staff collect airport slot availability information from regulatory authorities and, based on past experience, manually decide which slots the airline holds to exchange for which remaining slots provided by the authorities (a process known as "trading quantity for quantity") to optimize the airline's flight slot resource allocation. However, this method is limited by subjective biases from historical experience, the fragmentation of large-scale, multi-source heterogeneous data (such as internal ledgers and external regulatory data), and the inherent limitations of human decision-making in terms of global optimization capabilities and compliance verification. Consequently, it is difficult to quickly generate flight slot adjustment plans that balance commercial value and operational compliance within a very short coordination window for high-frequency "trading quantity for quantity" exchange requests.

[0042] To this end, this disclosure proposes a method for adjusting flight schedules for airlines, which can automatically search and generate flight schedule adjustment schemes that optimize the overall allocation of airline schedule resources from a massive combination space of "airline-owned slots" and "remaining slots of the regulatory authority" within a limited computation time.

[0043] The following describes in detail, with reference to the accompanying drawings, various embodiments of a flight schedule adjustment method for airlines according to the present disclosure. It should be understood that actual methods may include other steps, which are not discussed herein and are not shown in the accompanying drawings to avoid obscuring the focus of this disclosure.

[0044] Figure 1 A method for adjusting flight schedules for airlines according to some embodiments of this disclosure is illustrated. For example... Figure 1 As shown, the flight schedule adjustment method 100 for airlines may include steps S110 to S140.

[0045] In step S110, the remaining time information of the airport is obtained, which indicates the remaining flight capacity of the airport at each time.

[0046] In step S120, the airline's original time slot information and planned time slot information are obtained. The original time slot information indicates the number of original flights of the airline at the airport at each time slot, and the planned time slot information indicates the number of planned flights of the airline at the airport at each time slot.

[0047] In step S130, an integer programming model is constructed by setting variables, constraints, and objective function.

[0048] In step S140, the obtained information is used to solve the integer programming model to determine the flight schedule adjustment plan based on the decision variable values ​​of the variables.

[0049] 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 solution or a suitable 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.

[0050] The remaining slot information obtained in step S110 indicates the airport's remaining flight capacity at each time slot. For example, the maximum permitted capacity and the number of scheduled flights at each time slot can be obtained from the airport or civil aviation authority, and the remaining capacity can be determined by subtracting the number of scheduled flights from the maximum capacity. Alternatively, the remaining capacity at each time slot can be obtained directly from the airport or civil aviation authority, or the remaining slot information can be read from the previous adjustment results; there are no restrictions here. The maximum capacity at each time slot refers to the upper limit of the number of flights that the airport can accommodate at that time, and it can be set separately for flights in different directions (e.g., inbound / outbound).

[0051] Figure 2 Exemplary examples illustrate data of remaining time information obtained according to some embodiments of this disclosure. Figure 2 In the table shown, the header column indicates the time (only the portion from 9:00 to 10:00 is shown), the header row indicates the day of the week, and each cell indicates the remaining capacity value for the corresponding time of the corresponding day of the week. Although not shown in the figure, the header row could further include flight direction, airport identifier, task identifier, etc., where flight direction can indicate whether the corresponding time corresponds to an arrival or departure, airport identifier can indicate the airport corresponding to this remaining time information, and task identifier can indicate which task of solving an integer programming model this remaining time information is used for. Alternatively, different tables can be set up to store the corresponding remaining time information for different flight directions, airport identifiers, task identifiers, or combinations thereof.

[0052] In some embodiments, the remaining slot information for an airport can be determined based on the airport's slot flow information and slot capacity rules. Slot flow information indicates the number of existing flights at each time slot, and slot capacity rules can include the upper limit on the number of flights allowed at the airport within each time slot range. The upper limit on the number of flights allowed at the airport within each time slot range is limited by factors such as the number of airways and takeoff / landing preparation time. The remaining slots at a given time slot can be determined based on the upper limit and the number of existing flights at each time slot. In some embodiments, slot capacity rules include multi-level slot capacity rules, with each level corresponding to a different width of time slot range. For example, the authority can set corresponding upper limits for the number of arriving and departing flights for time slot ranges of 5 minutes, 15 minutes, and 60 minutes, and can publish 5-minute arrival flow charts and 5-minute departure flow charts (the format can be similar to...). Figure 2 Then, for each of the inbound and outbound flights, the candidate remaining capacity for the corresponding time can be calculated based on the flight number limits of 5 minutes, 15 minutes, and 60 minutes, and the minimum value among the calculated candidate remaining caps is taken as the remaining flight capacity for that time.

[0053] The raw flight information obtained in step S120 indicates the original number of flights the airline has at each time slot at that airport. The original flight number is the number of flights the airline has already scheduled. For example, the original flight number for each time slot can be obtained from the airline's historical flight database, or the raw flight information can be read from the results of a previous adjustment; there is no limitation on this.

[0054] Figure 3 Exemplary examples are shown of raw time information data obtained according to some embodiments of this disclosure. Figure 3 In the table shown, the header column indicates the time (only the portion from 9:00 to 10:00 is shown), the header row indicates the days of the week (which can be called flight schedules), and each cell indicates the value of the original number of flights for the corresponding time on the corresponding day of the week. Although not shown in the figure, the header row can further include flight direction, airport identifier, task identifier, etc., where flight direction can be used to indicate whether the corresponding time corresponds to an arrival or departure, airport identifier can be used to indicate the airport corresponding to this original time information, and task identifier can be used to indicate which task of solving an integer programming model this original time information is used for. Alternatively, different tables can be set up to store the corresponding original time information for different flight directions, airport identifiers, task identifiers, or combinations thereof. For example, an airline's historical timetable database can include a large amount of actual historical timetable data. Each data entry can indicate the airport occupied, direction, origin airport, arrival airport, carrier, flight number, departure time, arrival time, schedule, time occupied, and attributes (e.g., whether it is locked, domestic / international, etc.) for a given flight. For inbound flights, the occupied airport is the arrival airport and the time occupied is the arrival time; for outbound flights, the occupied airport is the origin airport and the time occupied is the departure time. The original number of flights at a given time can be determined by counting the number of historical flight records for each direction at a given airport and for the corresponding schedule.

[0055] The scheduled flight information obtained in step S120 indicates the number of flights the airline plans to operate at that airport at each time slot. The number of planned flights is the number of flights the airline expects to schedule. For example, the number of planned flights for each time slot can be obtained from the airline's capacity / schedule table (e.g., containing preliminary flight plans for the next season). Each data entry in the schedule table may also indicate the airport occupied, direction, origin airport, arrival airport, carrier, flight number, departure time, arrival time, schedule, occupied time, attributes (e.g., whether locked, domestic / international, etc.) for the corresponding flight. Figure 4 Exemplary examples illustrate data of planned time information obtained according to some embodiments of this disclosure, which may be similar to... Figure 3 I won't go into details here.

[0056] In some embodiments, remaining time information, raw time information, and planned time information can be obtained from an FTP server using an automated interface based on a task identifier. In some embodiments, the obtained information is in the format of unstructured text data, and the obtained information format can be converted to, for example, Figures 2 to 4 The table shown is a standardized matrix structure. For example, separate matrices can be constructed for airport remaining slots, airline raw slots, and airline scheduled slots to achieve spatiotemporal alignment of multi-source data.

[0057] In step S130, a first variable can be set, which indicates the number of flights the airline has at the corresponding time. The first variable can be an integer variable. For example, it can be x. d,m Let x represent the first variable, where d indicates the date of the week (i.e., the day of the week), and m indicates the time of day. d,m This represents the number of flights operated by an airline at time m on date d within a week. As a non-restrictive example, the set of values ​​for d can be {1, 2, 3, 4, 5, 6, 7}, and the set of values ​​for m can include {0:00, 0:05, …, 23:50, 23:55}, therefore there can be 7 × 288 = 2016 possible first variables x. d,m It can be based on the original time information (e.g., Figure 3 Determine each x d,m The original value x d,m_0 .

[0058] A second and third variable can also be set. The second variable indicates whether the airline applies for an additional flight at the corresponding time, and the third variable indicates whether the airline applies to cancel a flight at the corresponding time. The second variable can be a 0-1 binary variable. For example, y can be used. d,m Let y represent the second variable, where y d,m =0 can indicate that the airline is not requesting a new flight on date d within a week at time m, y d,m =1 can represent an airline requesting an additional flight at time m on date d of the week. The third variable can also be a 0-1 binary variable. For example, z can be used. d,m Let z represent the third variable, where z d,m =0 can indicate that the airline is not requesting to cancel the flight at time m on date d of the week, z d,m =1 can represent an airline requesting to cancel a flight at time m on date d of the week. Accordingly, referring to the previous example, there can be 2016 second variables y. d,m and 2016 third variables z d,mSetting the second and third variables to binary variables (0-1) can effectively reduce the difficulty of the solution, and it is applicable to situations where the number of flights that can be added or abandoned at each time point is a specified value (e.g., a specified value of 1). In other cases, the second and third variables can also be set to integer variables to flexibly handle more complex exchange situations.

[0059] In some embodiments, the first variable indicates the number of inbound or outbound flights of the airline at the corresponding time, the second variable indicates whether the airline has applied for additional inbound or outbound flights at the corresponding time, and the third variable indicates whether the airline has applied to cancel inbound or outbound flights at the corresponding time. For example, x can also be used respectively. t,d,m y t,d,m and z t,d,m Let t represent the port type, acting as the first, second, and third variables. Referring to the previous example, the number of first, second, and third variables could be 2 × 2016 = 4032 each. Using x... t,d,m y t,d,m and z t,d,m Inbound and outbound flights can be calculated separately to address situations where it's necessary to differentiate between inbound and outbound flights, such as when the authorities do not accept exchanges between inbound and outbound flights. Understandably, this article primarily uses x... d,m y d,m and z d,m This example is used for a non-restrictive explanation; however, depending on the actual needs, x can be... d,m y d,m and z d,m Adaptive modification to x t,d,m y t,d,m and z t,d,m .

[0060] In step S130, a first constraint can be set, requiring that the adjusted number of flights of the airline at each time slot equals the sum of the original number of flights of the airline at that time slot and the change in the number of flights. As a non-restrictive example, suppose that the number of flights allowed to be added or abandoned at each time slot is 1, then the first constraint can be expressed as x satisfying for any d and any m. d,m =x d,m_0 +y d,m -z d,m .

[0061] A second constraint can also be set, requiring that an airline cannot both apply for a new flight and cancel a flight at any given time. As a non-restrictive example, if the second and third variables are implemented as 0-1 binary variables, the second constraint can be expressed as y satisfies this constraint for any d and any m. d,m +zd,m ≤1.

[0062] In step S130, the objective function can be set to adjust the first variable from the original time information towards a direction closer to the planned time information. For example, the parameter w can be used. d,m This represents the number of flights that an airline plans to schedule at time m on date d within a week, and various parameters w can be determined based on the scheduled time information. d,m The value of . For example, the objective function can be set as min{sum(|x d,m - w d,m |)}, where min represents minimizing, sum represents summing over all d and m, |x d,m - w d,m | indicates that x d,m - w d,m The result is taken as the absolute value, so the objective function can be used to minimize the deviation between the adjusted number of flights and the planned number of flights at all times.

[0063] The information obtained in steps S110 and S120 can be used to solve the integer programming model constructed in step S130 to determine the flight schedule adjustment scheme based on the decision variable values ​​of the second variable and the third variable.

[0064] In some embodiments, such as Figure 5 As shown, the flight schedule adjustment method 100 may further include: step S150, receiving the evaluation result of the flight schedule adjustment scheme; and step S162, in response to the evaluation result indicating that the flight schedule adjustment scheme is feasible, determining the flight schedule adjustment scheme as the final flight schedule adjustment scheme, or step S164, in response to the evaluation result indicating that the flight schedule adjustment scheme is infeasible, setting constraints based on the infeasible flight schedule adjustment scheme, such that the new flight schedule adjustment scheme determined after resolving the integer programming model does not include the infeasible flight schedule adjustment scheme.

[0065] In step S150, the Civil Aviation Administration or the airport can evaluate the proposed solutions obtained from the model to determine whether they are feasible or not, or airline personnel can evaluate the solutions to determine whether they are feasible or not. Furthermore, the results can be input back into the model as a basis for the next step.

[0066] In step S162, in response to the feasibility of the proposed solution (the solution is accepted), the adjustment solution can be determined as the final adjustment solution for this iteration. In some embodiments, the original time information and remaining time information can also be updated using the final adjustment solution for the next adjustment.

[0067] In step S164, in response to the infeasibility of the solution (the solution is rejected), the constraints of the solution settings can be adjusted based on the infeasible flight times. For example, the original solution suggested abandoning the flight at time m2 on date d2 of the week (z d2,m2 =1) in exchange for a flight at time m1 on date d1 within the week (y d1,m1 =1), but this solution was evaluated as infeasible. Therefore, when resolving the integer programming model to generate a new solution, y can be set to 1. d1,m1 +z d2,m2 The constraint ≤1 is a new additional constraint, which prevents this scheme from being included in the new flight schedule adjustment scheme.

[0068] In some embodiments, the flight schedule adjustment method 100 may further include: in response to an evaluation result indicating that a flight schedule adjustment scheme has a feasible part and an infeasible part, updating the original schedule information and remaining schedule information based on the feasible part, and setting constraints based on the infeasible part such that the new flight schedule adjustment scheme determined after resolving the integer programming model with the schedules involved in the feasible part set as unadjustable does not include the infeasible part. For example, the original scheme included a suggestion to abandon flights at schedule m4 on date d4 of the week (z d4,m4 =1) to exchange for a flight at time m3 on date d3 of a new week (y d3,m3 =1), and this part of the solution is evaluated as feasible, so z can be fixed when resolving the integer programming model to generate new solutions. d3,m3 =0 and its value cannot be adjusted, so that the moment that needs to be added in the accepted scheme will not be abandoned by the subsequent adjustment scheme application.

[0069] It is understandable that when the generated solution contains both feasible and infeasible parts, processes similar to steps S162 and S164 described above can be performed on each part separately to re-solve the integer programming model and determine the new flight schedule adjustment scheme. Accepted and rejected schemes can be used to construct a tabu search space to avoid repeating invalid calculations when re-solving the integer programming model.

[0070] In some embodiments, the flight schedule adjustment method 100 may further include: receiving a new evaluation result of a new flight schedule adjustment scheme; and in response to the new evaluation result indicating that the new flight schedule adjustment scheme is feasible, combining the feasible portion of the previous flight schedule adjustment scheme with the new flight schedule adjustment scheme to obtain a final flight schedule adjustment scheme.

[0071] For example, after each new flight schedule adjustment plan is generated, a process similar to the aforementioned steps S150, S162 and S164 can be performed until the plan is completely feasible, or the preset constraints are met (e.g., the number of times the model runs reaches the upper limit, the number of generated plans reaches the upper limit, the number of adjusted flights reaches the upper limit, etc.), or the model cannot generate a new adjustment plan (e.g., the search space has been traversed but there is still no feasible solution).

[0072] In some embodiments, the objective function set in step S130 may include multiple objective functions ordered by priority. Further, solving the integer programming model may include solving the integer programming model sequentially using one of the multiple objective functions in descending order of priority. For example, when solving the integer programming model using a lower-priority objective function, constraints can be set based on the optimized value of the objective function obtained after solving the integer programming model using a higher-priority objective function.

[0073] In some embodiments, the plurality of objective functions may include a first objective function with a first priority, configured to minimize the deviation between the adjusted number of flights and the planned number of flights at each time point. For example, the absolute value of the difference between the number of flights and the planned number of flights at each time point can be calculated as the deviation for each time point, and the total deviation can be obtained by summing the deviations over all time points. Minimizing the total deviation is then determined as the first objective function. In some examples, this can be achieved by min{sum(|x d,m - w d,m |)} represents the first objective function, where min means minimizing, sum means summing over all d and m, and |x d,m - w d,m | indicates that x d,m - w d,m The result is taken as the absolute value. The first objective function ensures that the adjusted time distribution is as close as possible to the times scheduled by the airlines.

[0074] In some embodiments, the plurality of objective functions further includes a second objective function with a second priority lower than the first priority, the second objective function being configured to minimize the number of times the number of flights being adjusted. For example, minimizing the number of times adjustments occur out of a total of 288 times (not limited to any particular day of the week) could be determined as the second objective function. In some examples, this could be achieved by min{sum(a m )} represents the second objective function, where min means minimizing, sum means summing over all m, and a m This indicates whether a flight has been rescheduled at time m on any date within the week. For example, it could be a m =(y1,m |z 1,m )|(y 2,m |z 2,m ) |(y 3,m |z 3,m )|(y 4,m |z 4,m )|(y 5,m |z 5,m )|(y 6,m |z 6,m )|(y 7,m |z 7,m The second objective function can be adjusted in a concentrated manner at as few points in time as possible, avoiding sporadic fine-tuning throughout the day.

[0075] In some embodiments, the plurality of objective functions may further include a third objective function with a third priority lower than the second priority, configured to maximize the comprehensive value of flight slots. The comprehensive value of flight slots can be determined based on the number of flights at each time slot and the value of that time slot. For example, the flight value at each time slot can be calculated by multiplying the value of each time slot by the number of flights at that time slot, and then the comprehensive value of flight slots can be obtained by summing the flight values ​​over all time slots. Maximizing the comprehensive value of flight slots is then determined as the third objective function. In some examples, this can be achieved by max{sum(x d,m ×V d,m )} represents the third objective function, where max represents maximizing, and V d,m This represents the value at a given moment. The third objective function can promote the prioritization of high-value moments, thereby maximizing value.

[0076] For example, first use the first objective function to solve the integer programming model, and when the solution is complete, the final optimized value of the first objective function can be obtained: {sum(|x d,m - w d,m |)}=sum_opt1. Next, set the first additional constraint {sum(|x d,m - w d,m |)}≤sum_opt1 can be used to solve the integer programming model using the second objective function, and when the solution is complete, the final optimized value of the second objective function {sum(a m Finally, set the first additional constraint {sum(|x)}=sum_opt2. d,m - w d,m |)}≤sum_opt1 and the second additional constraint {sum(a mThe integer programming model can be solved using a third objective function. This design allows for the optimization of lower-priority objectives while ensuring that higher-priority objectives are not degraded, thus achieving a Pareto optimal balance among multiple objectives. Furthermore, since the optimized values ​​of higher-priority objective functions are passed on as constraints, later solutions are influenced by earlier decisions, avoiding large jumps in the global search process. This incremental convergence strategy effectively reduces invalid solutions in the search space, improves algorithm efficiency, and allows each solution to gradually approach the global optimum.

[0077] In some embodiments, the value of a corresponding moment may include a first value and / or a second value. The first value may be determined based on the scarcity of that moment, and the second value may be determined based on the degree of synergy between that moment and its neighboring moments. In some embodiments, the first value and the second value of each moment may be directly added together to obtain the value of each moment. In some embodiments, the weighted sum of the first value and the second value of each moment may also be calculated as the value of that moment, as needed.

[0078] In some embodiments, the scarcity level at each moment can be determined based on the remaining flight capacity at that moment, and the first value at that moment can be determined by a mapping model between the remaining flight capacity at that moment and a first value. In some examples, the mapping model can be configured such that: when the remaining flight capacity is less than or equal to a first threshold, the first value increases as the remaining flight capacity decreases; and when the remaining flight capacity is greater than the first threshold, the first value remains at a fixed value, which is less than the value of the first value when the remaining flight capacity is equal to the first threshold. Figure 6 An example is shown with, for example Figure 2The remaining flight capacity shown corresponds to a first value. For example, the first threshold can be 4. When the remaining flight capacity is less than or equal to 4, the first value can be set as the difference between the quotient of the remaining flight capacity divided by 10 and 1. For example, when the remaining flight capacity is 3, the first value can be 0.7. When the remaining flight capacity is greater than the first threshold, the first value can be maintained at a fixed value, which can be less than the value of the first value when the remaining flight capacity is equal to the first threshold. For example, if the first value is 0.6 when the remaining flight capacity is equal to the first threshold of 4, then when the remaining flight capacity is 5 or above, the first value can be maintained at 0.5. Here, the situation where the remaining flight capacity is less than or equal to the first threshold can be considered as a peak time (the set of peak times can be called a peak period), and the first value can increase with the increase of scarcity to reflect the resource tension during peak times; the situation where the remaining flight capacity is greater than the first threshold can be considered as an off-peak time (the set of off-peak times can be called an off-peak period), and the first value can be maintained at a fixed value lower than the minimum value during peak times to reflect the resource abundance during off-peak times. In other embodiments, peak and off-peak hours may not be distinguished, and a mapping model in which the first value and remaining flight capacity are always inversely correlated may be adopted.

[0079] In some embodiments, determining a second value based on the degree of coordination between a time slot and neighboring time slots may include: determining difference time information based on original time information and planned time information, the difference time information indicating the difference between the original number of flights and the planned number of flights at the airport at each time slot; for times when the original number of flights is less than the planned number of flights: searching for a coordination target time slot from near to far within the neighboring interval of that time slot based on remaining time information, and determining a second value for the coordination target time slot based on the time offset between the coordination target time slot and that time slot, wherein the second value increases as the time offset decreases. The second value can reflect the availability and efficiency of time slot resources. The search here can be bidirectional, i.e., searching forward and backward simultaneously. The neighboring interval can be set such that times within this interval have a high degree of availability and efficiency of coordination, while coordinating times outside this interval may require higher costs. The neighboring interval of a time slot can be set according to actual needs. For example, the neighboring interval of a time slot can be symmetrical about that time slot or not. In some embodiments, the neighboring interval of a time slot is set to 15 minutes before and after that time slot. In addition, the symmetry and time length of the neighboring intervals of each time slot can be the same as each other, or partially or completely different. For ease of illustration, the following example describes a scenario where the neighboring interval of a time is set to 15 minutes before and after that time.

[0080] In some embodiments, determining the second value of the coordinated target time based on the time offset between the coordinated target time and that time further includes determining the second value of the coordinated target time based on the difference between the original number of flights and the planned number of flights at that time. For example, an initial value of the second value can be determined based on the time offset, and then an amplification factor can be determined based on the difference in the number of flights (the degree of their underperformance), thereby determining the final value of the second value based on the initial value and the amplification factor.

[0081] For example, Figure 7 As shown Figure 3 and Figure 4 The difference between the original number of flights and the planned number of flights is shown, and Figure 8 It shows the relationship with Figure 7 The corresponding secondary value. For example... Figure 3 , Figure 4 and Figure 7 As shown, there is a shortage because the original number of flights at 9:00 and 9:40 AM is one less than the planned number of flights (needs to be supplemented); there is an overflow because the original number of flights at 9:05 and 10:00 AM is one more than the planned number of flights (can be released); and there is a match because the planned number of flights at 9:10 AM is the same as the original number of flights (no adjustment needed). Figure 7 and Figure 8 As shown, for overflow or matching times where the original number of flights is greater than or equal to the planned number of flights, the second value can be 0, unless it can be used as a coordination target time for insufficient times. For insufficient times where the original number of flights is less than the planned number of flights, the coordination target time can be determined based on the adjacent intervals. For example, for the insufficient time 9:00, the times 8:45, 8:50, 8:55, 9:00, 9:05, 9:10, and 9:15 within the adjacent interval of 15 minutes before and after it (not shown in the figure) can all be used as coordination target times for the insufficient time 9:00. For the insufficient time 9:40, the times 9:25, 9:30, 9:35, 9:40, 9:45, 9:50, and 9:55 within the adjacent interval of 15 minutes before and after it can all be used as coordination target times for the insufficient time 9:40. For example, in the case of... Figure 8 In the example shown, the mapping relationship between the second value of the coordination target time and the time offset from the coordination target time to the corresponding insufficient time can be set as follows: a time offset of 0 corresponds to a second value of 0.09, a time offset of 5 minutes corresponds to a second value of 0.08, a time offset of 10 minutes corresponds to a second value of 0.07, and a time offset of 15 minutes corresponds to a second value of 0.06.

[0082] In some embodiments, if the difference time information includes a first time when the number of original flights is less than the number of planned flights by a first amount and a second time when the number of original flights is less than the number of planned flights by a second amount, and the first time and the second time have the same coordination target time, then if there is a first time offset between the coordination target time and the first time, and a second time offset between the coordination target time and the second time, the second value of the coordination target time may include a first portion determined based on the first time offset and a second portion determined based on the second time offset. For example, if there is also a shortage time of 8:55 (not shown) where the number of original flights is two fewer than the number of planned flights, then the times 8:40, 8:45, 8:50, 8:55, 9:00, 9:05, and 9:10 within a 15-minute interval before and after it can all be determined as the coordination target time for the shortage time 8:55. Therefore, 8:45, 8:50, 8:55, 9:00, 9:05, and 9:10 can each simultaneously serve as the coordination target time for both the shortage time 8:55 and the shortage time 9:00. For example, for a coordinated target time of 9:00, the second value of the coordinated target time of 9:00 can be calculated as 0.08 starting from the insufficient time of 8:55, and as 0.09 starting from the insufficient time of 9:00. Therefore, the second value of the coordinated target time of 9:00 can be determined as 0.08 + 0.09 = 0.17. Furthermore, if we further consider the impact of the degree of flight shortage on the second value, the second value of the coordinated target time of 9:00 can also be determined as 0.08 × 2 + 0.09 × 1 = 0.25. In other words, when a certain time can serve as a coordinated target time for two or more insufficient times, the second value of that time can include the sum of two or more parts, each part being determined based on the time offset between that time and the corresponding insufficient time (and, in some examples, the degree of insufficiency of the corresponding insufficient time).

[0083] In some embodiments, the flight schedule adjustment method 100 may further include: obtaining a schedule capacity rule, which includes the maximum number of flights allowed by the airport in each schedule range. Further, setting constraints in step S130 may also include: setting a third constraint, which requires that the total number of flights operated by the airline at the airport in each schedule range be less than or equal to the maximum number of flights allowed by the airport in that schedule range. In some embodiments, the airport may set corresponding upper limits on the number of flights in different schedule ranges. For example, the airport may set separate upper limits on the number of flights for 5-minute, 15-minute, and 60-minute schedule ranges. The third constraint can control each schedule range to prevent exceeding the prescribed upper limit. For example, assuming the maximum number of flights in a 5-minute period is N1, the maximum number of flights in a 15-minute period is N2, and the maximum number of flights in a 60-minute period is N3, then the third constraint can be expressed as: for any d and any m, x is required to be less than or equal to the maximum number of flights allowed by the airport in that schedule range. d,m ≤N1, x d,m +x d,m+1 +x d,m+2 ≤N2, x d,m +x d,m+1 +…+x d,m+11 ≤N3. Additionally or alternatively, capacity constraints can be set for different time ranges for the number of inbound and outbound flights.

[0084] In some embodiments, the flight schedule adjustment method 100 may further include: obtaining schedule adjustment rules, the schedule adjustment rules including that a first number of requested new flight slots must be exchanged for a second number of requested abandoned flight slots. Further, setting constraints in step S130 may also include: setting a fourth constraint, the fourth constraint indicating that the ratio of the number of requested new flights to the number of requested abandoned flights at all times is equal to the ratio of the first number to the second number. In some embodiments, the airport may require airlines to abandon a second number of flights in order to add a first number of flights. The first number may be equal to the second number, so that the total number of flight slots held by the airline remains unchanged. The first number may also not be equal to the second number, so that the number of flight slots held by the airline can be increased or decreased according to the current traffic situation at the airport. The fourth constraint can ensure that the solution of the integer programming model follows the airport's "exchange of quantity for quantity" rule.

[0085] In some embodiments, the flight schedule adjustment method 100 may further include: dividing all time slots into multiple time periods; and determining the degree of imbalance in each time period based on the difference between the original number of flights and the planned number of flights at each time slot within each time period.

[0086] For example, referring to the previous example, a day has 288 moments, which can be divided into multiple time periods. Each time period can have the same or different durations. In some embodiments, each time period can be one hour long, resulting in time periods called hourly segments, such as 00:00-00:55, 01:00-01:55, ..., 23:00-23:55, a total of 24 hourly segments. Alternatively, the division of time periods can also be determined according to the quadrant rules of the Civil Aviation Administration or the airport. As a non-limiting example, the 288 moments of a day can be divided into six quadrants: 06:00-08:55, 09:00-11:55, 12:00-18:55, 19:00-22:55, 23:00-01:55, and 02:00-05:55.

[0087] In some embodiments, the absolute values ​​of the differences between the original number of flights and the planned number of flights at each time point within each time period can be summed to obtain the degree of imbalance for that time period. In some examples, the difference between the original number of flights and the planned number of flights at each time point can be calculated as the difference between the original total number of arriving and departing flights at that time point and the planned total number of arriving and departing flights, or it can be calculated as the difference between the original number of arriving flights and the planned number of arriving flights at that time point, or the difference between the original number of departing flights and the planned number of departing flights at that time point, or a combination thereof (e.g., the sum of the absolute values ​​of the two), without limitation. For example, the method of calculating the degree of imbalance can depend on whether the exchange methods accepted by the airport cover the exchange between arriving flights or between departing flights, and whether the exchange between arriving flights and departing flights is included.

[0088] Furthermore, given the degree of imbalance in each time period, step S140, which uses the acquired information to solve the integer programming model, may include generating a task for solving the integer programming model for each of the multiple time periods. The times for which flights can be added or abandoned in each task can be restricted to the corresponding time period. Each task may also include a constraint requiring the total number of flights within the corresponding time period to remain constant. This reduces the search space and improves solution efficiency, and also prevents time slots from being swapped across time periods, improving the practical usability of the solution results.

[0089] The degree of imbalance in a time period reflects its potential to increase value through coordinated time slot exchanges. A greater imbalance corresponds to a greater value potential. In some embodiments, tasks can be executed sequentially in descending order of imbalance. When executing a current task, if the current task has a solution and the resulting flight slot adjustment scheme is deemed feasible, the task can be recorded and the current task can be exited to proceed to the next task. Alternatively, if the current task has no solution or the resulting flight slot adjustment scheme is deemed infeasible, the current task can be terminated to proceed to the next task. In some embodiments, the number of global exchanges in the recorded flight slot adjustment schemes can be counted, and if this number reaches a second threshold, the current task and all subsequent tasks can be terminated. For example, the number of global exchanges can be defined as the ratio of the number of new flights requested at all times in all time periods to a first number. In other words, tasks in each time period can be processed sequentially according to their value potential (degree of imbalance). If a task finds a feasible solution to an integer programming model, it can be immediately exited without wasting computational resources on additional attempts, and then the next task can be executed. If a task cannot obtain a feasible solution to an integer programming model, the coordination of the corresponding time period for that task can be abandoned, and the next task can be executed. Furthermore, a global truncation mechanism can be set, for example, requiring that the cumulative number of exchanges occurring across all time periods does not exceed a preset upper limit (i.e., a second threshold). Once this limit is exceeded, subsequent calculations will be forcibly terminated regardless of whether the currently executing task has been completed, thereby improving the practical usability of the adjustment scheme and saving computational resources. The value of the preset upper limit can be determined according to the relevant regulations or requirements of the Civil Aviation Administration, airports, or airlines.

[0090] Additionally, the number of local exchanges for each time period can be defined as the ratio of the number of newly requested flights to a first quantity within that time period. In some embodiments, executing the current task may include: obtaining multiple settings for the number of local exchanges, and generating a subtask for solving an integer programming model for each of the multiple settings. Each subtask may have a constraint requiring the number of local exchanges to equal the corresponding setting value. Subtasks are executed sequentially according to the multiple settings from high to low, specifically including: executing the current subtask; in response to the current subtask having a solution and the obtained flight schedule adjustment scheme being evaluated as feasible, recording the flight schedule adjustment scheme and exiting the current task to execute the next task; and in response to the current subtask having no solution or the obtained flight schedule adjustment scheme being evaluated as infeasible, ending the current subtask to execute the next subtask; and in response to all subtasks having no solution or the obtained flight schedule adjustment scheme being evaluated as infeasible, ending the current task to execute the next task. By using such a decreasing iterative search mechanism to iteratively solve each subtask of the task, a good balance between solution efficiency and solution quality can be achieved. In addition, by setting up a local early stopping mechanism, once a feasible solution has been found for a subtask, the solution can be recorded immediately and the current task can be exited without executing the remaining subtasks of the current task. This can reduce the average computation time of large-scale combinatorial optimization and save computing power.

[0091] For example, considering the characteristics of flight schedules, the number of partial exchanges can be set sequentially to 7, 4, 3, and 1, generating corresponding subtasks: Subtask 1, Subtask 2, Subtask 3, and Subtask 4. Subtask 1 can require that in the obtained flight schedule adjustment plan, the time for requesting to add a flight includes one time of every day of the week, and the time for requesting to abandon a flight includes another time of every day of the week. Subtask 2 can require that in the obtained flight schedule adjustment plan, the time for requesting to add a flight includes one time of every odd-numbered day of the week, and the time for requesting to abandon a flight includes another time of every odd-numbered day of the week. Subtask 3 can require that in the obtained flight schedule adjustment plan, the time for requesting to add a flight includes one time of every even-numbered day of the week, and the time for requesting to abandon a flight includes another time of every even-numbered day of the week. Subtask 4 can require that in the obtained flight schedule adjustment plan, the time for requesting to add a flight includes one time of the week, and the time for requesting to abandon a flight includes another time of the week.

[0092] Specifically, the first subtask corresponding to the seven partial swaps can be used to prioritize simultaneous adjustments for all seven days of the week. This corresponds to the "whole" flight times, and thus can also be called a whole-week swap subtask. For example, changing the departure time of flights on days 1, 2, 3, 4, 5, 6, and 7 from 8:00 AM to 8:05 AM daily. Another example is changing the departure time of flights on days 1, 3, 5, and 7 from 12:00 PM to 3:00 PM daily on Mondays, Wednesdays, Fridays, and Sundays, and changing the departure time of flights on days 2, 4, and 6 from 3:00 PM to 12:00 PM daily on Tuesdays, Thursdays, and Saturdays. In some embodiments, such as minimizing the number of times adjustments occur through the aforementioned second objective function, solutions that adjust the same time on all dates to another time on all dates can be prioritized. If the whole-week swap subtask can provide a feasible solution, the adjustment can maintain the regularity of the flight schedule to the greatest extent possible. If the full-week swap subtask cannot provide a feasible solution, the second subtask corresponding to 4 partial swaps can be used to prioritize simultaneously adjusting odd-numbered flights (Monday, Wednesday, Friday, Sunday) within a week, and the third subtask corresponding to 3 partial swaps can be used to prioritize simultaneously adjusting even-numbered flights (Tuesday, Thursday, Saturday) within a week. This corresponds to "half-schedule" flight times, and therefore such subtasks can also be called half-week swap subtasks. For example, changing the departure time of flights 1, 3, 5, and 7 from 8:20 AM to 8:15 AM; or changing the departure time of flights 2, 4, and 6 from 9:55 AM to 10:05 AM. In some embodiments, for example, by minimizing the number of times adjustments occur through the aforementioned second objective function, solutions that adjust the same time on all odd dates to another time on all odd dates can be prioritized, or solutions that adjust the same time on all even dates to another time on all even dates can be prioritized. If the half-weekly exchange subtask can provide a feasible solution, the local optimization space of the current task can be fully explored. If the half-weekly exchange subtasks also cannot provide a feasible solution, the fourth subtask corresponding to one local exchange can be used as a last resort strategy to try to fine-tune a certain time to correct minor planning deviations. Therefore, such a subtask can also be called a single-point exchange subtask. For example, adjusting the departure of flight 1 from Monday 7:40 to Monday 7:25, or adjusting it to Tuesday 7:40 (changing the flight from 1 to 2). The decreasing cyclic search mechanism of "7-4-3-1" can promote Method 100 to prioritize outputting high-quality solutions with small changes, less interference with flight operation patterns, and significant value improvement, avoiding the waste of computing power caused by blindly searching for large-scale exchanges, and significantly improving computational efficiency and the actual usability of the adjustment solution.

[0093] When repeatedly executing subtasks, a tabu search space can be constructed using accepted and rejected solutions to improve solution efficiency. In some embodiments, in response to the current subtask having a solution but the resulting flight schedule adjustment scheme being evaluated as infeasible, constraints are set based on the infeasible flight schedule adjustment scheme such that a new flight schedule adjustment scheme obtained by re-executing the current subtask does not include the infeasible flight schedule adjustment scheme; or in response to the current subtask having a solution but the resulting flight schedule adjustment scheme being evaluated as having a feasible and an infeasible part, the original time information and the remaining time information are updated based on the feasible part, and constraints are set based on the infeasible part such that a new flight schedule adjustment scheme obtained by re-executing the current subtask when the time involved in the feasible part is set as unadjustable does not include the infeasible part.

[0094] In some embodiments, the flight schedule adjustment method 100 may further include: obtaining prohibited adjustment methods and setting constraints based on the prohibited adjustment methods. As an example, prohibited adjustment methods may include one or more of the following: the adjusted number of arriving flights is not equal to the original number of arriving flights; the adjusted number of departing flights is not equal to the original number of departing flights; the total number of flights during off-peak hours decreases and the total number of flights during peak hours increases; the total number of flights changes on all odd-numbered days of the week; the total number of flights changes on all even-numbered days of the week; the number of flights at locked times changes; the adjusted number of domestic flights is not equal to the original number of domestic flights; and the adjusted number of international flights is not equal to the original number of international flights.

[0095] For example, it can be required that inbound and outbound flights cannot be interchanged; in this case, x can be used. t,d,m y t,d,m and z t,d,m As a variable, and require sum{x 进港,d,m}=sum{x 进港,d,m_0 And sum{x 出港,d,m}=sum{x 出港,d,m_0}, where x 进港,d,m_0 and x 出港,d,m_0 These represent the original number of inbound flights and the original number of outbound flights at time m on date d within a week.

[0096] For example, it's also possible to prohibit abandoning off-peak slots and add new peak slots. Assuming the number of flights allowed to be added or abandoned at each time slot is limited to 1, then sum{y} can be added. d,m高峰}+sum{z d,m低峰}≤S is used as a new constraint, where S is the set value for the number of local swaps in the subtask, sum{yd,m高峰} is the sum of peak times for all applications for additional flights, sum{z d,m低峰} represents the sum of all off-peak times for flight cancellation requests. It's understandable that if there are instances of exchanging off-peak times for peak times, each such exchange results in a pair of y... d,m高峰 With z d,m低峰 Both are 1, so that their sum is greater than 1.

[0097] For example, it can be required that the number of half-row flights cannot be changed. For instance, the number of flights on all odd or even days of the week can be summed and the value must remain unchanged before and after the adjustment.

[0098] For example, non-adjustable times can be marked based on flight attributes to reduce the search space and improve solution efficiency. In some examples, for locked flights, their corresponding z-values ​​can be set to... d,m =0, thus prohibiting the abandonment of the flight. It is also possible to require that domestic and international flights cannot be interchanged, for example, by requiring that the number of domestic flights and the number of international flights remain unchanged before and after the adjustment within the corresponding time or period.

[0099] To translate flight schedule adjustments into adjustments to specific flights, in some embodiments, determining the flight schedule adjustment scheme 100 may further include: determining the time for requesting an additional flight based on the decision variable value of a second variable, and determining the time for requesting to abandon a flight based on the decision variable value of a third variable; pairing the time for requesting to abandon a flight with the time for requesting an additional flight; and determining the flight number of the flight whose time is to be adjusted from the original schedule information based on the time for requesting to abandon a flight. Additionally, when there are inbound and outbound restrictions on schedule coordination, adjustments may also be made based on y t,d,m and z t,d,mThe flight number is determined by whether 't' indicates arrival or departure. In some embodiments, determining the flight number to be adjusted from the original timetable information based on the time of the requested flight cancellation may include: identifying a corresponding flight number as a candidate flight number in response to the existence of a flight number in the original timetable information that corresponds to the time of the requested flight cancellation; identifying the flight number whose time is closest to the time of the requested flight cancellation as a candidate flight number in response to the absence of a corresponding flight number in the original timetable information; and determining the identified candidate flight number as the flight number to be adjusted. In some embodiments, in response to identifying multiple candidate flight numbers, the flight number with the most frequent flights among the multiple candidate flight numbers may be determined as the flight number to be adjusted. In other words, the flight number in the original timetable information that exactly matches the time of cancellation may be prioritized to ensure schedule consistency. In the absence of a perfectly matching flight number, the flight with the closest time may be prioritized for coordination. Under the same conditions, high-frequency trunk flights may be selected for coordination.

[0100] For illustrative purposes, Figure 9 A non-limiting example process 200 is shown in which a flight schedule adjustment method 100 for an airline, which applies some embodiments of the present disclosure, is described. For example... Figure 9 As shown, process 200 may include steps S202 to S230.

[0101] In step S202, the airport's remaining slot information, slot capacity rules, and slot adjustment rules, as well as the airline's original slot information and planned slot information, are obtained. This information can be used to assign values ​​to constraint parameters and objective function parameters in the subsequently constructed integer programming model and to set the original values ​​of the corresponding variables.

[0102] In step S204, the value of a time slot is determined based on its scarcity and its coordination with neighboring time slots. For example, as mentioned earlier, the scarcity of time slots can be determined based on the airport's remaining time slot information, and the coordination with neighboring time slots can be determined by further combining the airline's original time slot information and planned time slot information. Then, the value of a time slot is determined based on the scarcity and coordination with neighboring time slots according to the corresponding mapping model or relationship.

[0103] In step S206, an integer programming model is constructed by setting variables, constraints, and objective functions. For example, the aforementioned first to third variables can be set, where the original value of the first variable is determined based on the airline's original time slot information. The aforementioned first constraint, second constraint, and one or more other constraints can also be set to ensure the model solution operates within a legal, compliant, and reasonable space, improving the practical usability of the output solution. Additionally, the aforementioned first to third objective functions can be set, where the number of planned flights in the first objective function is determined based on the airline's planned time slot information, and the time slot value in the third objective function is determined based on step S204. When multiple objective functions are set, the corresponding objective function can be used sequentially according to priority to solve the integer programming model by executing steps S208 to S228. When using the next objective function to re-solve the integer programming model by repeating steps S208 to S228, the final optimized value of the previously used objective function can be added as a constraint.

[0104] In step S208, all times are divided into multiple time periods (e.g., quadrants), and the degree of imbalance in each time period is determined based on the difference between the original number of flights and the planned number of flights at each time within each time period.

[0105] In step S210, a task for solving an integer programming model is generated for each of the multiple time periods. The time slots for applying to add or abandon flights in the task can be restricted to the corresponding time period, and the task can be set with constraints requiring that the total number of flights in the corresponding time period remain unchanged.

[0106] In step S212, tasks are executed sequentially according to the degree of imbalance from high to low. Specifically, for the current task, in step S214, multiple setting values ​​for the number of local exchanges are obtained, and a subtask for solving the integer programming model is generated for each of the multiple setting values. The subtask is set with constraints requiring the number of local exchanges to be equal to the corresponding setting value.

[0107] In step S216, subtasks are executed sequentially according to the order of multiple setting values ​​from high to low. Specifically, for the current subtask of the current task, in step S218, it is determined whether the current subtask has a solution and whether the solution is feasible. In step S220, in response to the current subtask having no solution or the obtained flight schedule adjustment solution being evaluated as infeasible, the current subtask ends. For example, in response to the current subtask having a solution but the obtained flight schedule adjustment solution being evaluated as infeasible, constraints can be set based on the infeasible flight schedule adjustment solution so that the new flight schedule adjustment solution obtained by re-executing the current subtask does not include the infeasible flight schedule adjustment solution; or in response to the current subtask having a solution but the obtained flight schedule adjustment solution being evaluated as having feasible and infeasible parts, the original time information and remaining time information can be updated based on the feasible part, and constraints can be set based on the infeasible part so that the new flight schedule adjustment solution obtained by re-executing the current subtask when the time involved in the feasible part is set as infeasible does not include the infeasible part. If a feasible solution cannot be obtained after repeatedly executing the subtask, the current subtask ends. In step S222, it is determined whether there are any unexecuted subtasks. If so, proceed to the next subtask. For example, if the whole-week exchange subtask has no solution or the obtained solution is infeasible, the half-week exchange subtask can be executed. If the half-week exchange subtask has no solution or the obtained solution is infeasible, the single-point exchange subtask can be executed. If no feasible solution is obtained after executing all subtasks, then step S224 can be taken to determine whether there are any unexecuted tasks. If so, proceed to the next task. If not, in step S230, the recorded flight schedule adjustment schemes are integrated and output.

[0108] Additionally, in step S226, in response to the current subtask having a solution and the obtained flight schedule adjustment scheme being evaluated as feasible, the flight schedule adjustment scheme is recorded. Furthermore, the airport's remaining slot information and the airline's original slot information can be updated based on the feasible scheme obtained from this task. The feasible scheme indicates that the slots to be coordinated can be locked to prevent subsequent model calculations from changing their state. Step S204 can also be re-executed to update the slot values.

[0109] In step S228, it is determined whether the global exchange count in the recorded flight schedule adjustment schemes has reached the preset exchange count limit. That is, all feasible flight schedule adjustment schemes obtained from the currently executed tasks are summarized, and the cumulative exchange count is monitored. If the global exchange count has not reached the preset exchange count limit, a partial early stop mechanism can be triggered, proceeding to the next task without executing the remaining subtasks of the current task. If the global exchange count has reached the preset exchange count limit, a global truncation mechanism is triggered, proceeding to step S230 to integrate and output the recorded flight schedule adjustment schemes, thereby ceasing the execution of the remaining tasks.

[0110] In step S230, the time change can also be matched to a specific flight using the method described in the foregoing embodiments.

[0111] like Figure 9 As shown, process 200 has multiple nested loops. In the outer loop, tasks for each time period are processed sequentially by sorting them according to their degree of imbalance (reflecting value potential). In the middle loop, for each task, subtasks are iteratively executed in descending order of the number of local exchanges. In the inner loop, if the solution obtained from the subtask is evaluated as having an infeasible part, the solution is resolved by setting a tabu search space based on the infeasible part (e.g., excluding these known invalid solution spaces by cutting plane constraints) until a feasible solution is found or it is confirmed that there is indeed no solution at that number of local exchanges.

[0112] In some embodiments, such as Figure 9 As shown, after resolving the current task, it is removed from the task queue sorted by imbalance level. In other embodiments, the imbalance level of the task can be reassessed based on updated time information, and then added back to the task queue, so that the corresponding time period of the task may be fine-tuned again if the global swap limit is not reached.

[0113] In some embodiments, all time periods can be divided into multiple time segments in different ways. Then, the time segments are divided sequentially according to their length from shortest to longest. Steps S208 to S228 are executed for each resulting time segment, and if a feasible solution cannot be obtained with the current time segment division, the next time segment division is used. For example, steps S208 to S228 can be executed first for each hour segment (where time exchanges across hour segments are not allowed). If no feasible solution is obtained, steps S208 to S228 can be executed for each quadrant (where time exchanges across hour segments are allowed but time exchanges across quadrants are not). Longer time segments can also be set, or even no time segments can be divided, to allow time exchanges across quadrants, and so on.

[0114] This disclosure overcomes the local optimum trap of manual methods in "quantity over quantity" scenarios by using a data-driven global automatic optimization method. It significantly improves the response speed and success rate of airlines in making short-term decisions to adjust flight schedules, and solves the problem of over-reliance on the personal experience of senior coordinators in the traditional model in a scientific and quantitative way.

[0115] According to another aspect of this disclosure, a flight schedule adjustment device for airlines is also provided. For example... Figure 10As shown, the flight schedule adjustment device 300 may include an acquisition module 320, a construction module 340, and an adjustment module 360. The acquisition module 320 may be configured to: acquire remaining slot information of the airport, the remaining slot information indicating the remaining flight capacity of the airport at each time; acquire original slot information and planned slot information of the airline, the original slot information indicating the original number of flights of the airline at the airport at each time, and the planned slot information indicating the planned number of flights of the airline at the airport at each time. The construction module 340 can be configured to construct an integer programming model by: setting variables, including: setting a first variable indicating the number of flights operated by the airline at a given time; setting a second variable indicating whether the airline applies for additional flights at the given time; and setting a third variable indicating whether the airline applies to cancel flights at the given time; setting constraints, including: setting a first constraint requiring that the adjusted number of flights operated by the airline at each time time equals the sum of the original number of flights operated by the airline at that time time and the change in the number of flights; setting a second constraint requiring that the airline cannot both apply for additional flights and cancel flights at each time time; and setting an objective function to adjust the first variable from the original time information towards a direction closer to the planned time information. The adjustment module 360 ​​can be configured to solve the integer programming model using the acquired information to determine a flight time adjustment scheme based on the decision variable values ​​of the second and third variables.

[0116] The flight schedule adjustment device 300 can be configured to perform the flight schedule adjustment method according to any of the foregoing embodiments of this disclosure. Embodiments of the flight schedule adjustment device 300 can be similar to embodiments of the foregoing flight schedule adjustment method, and will not be described in detail here.

[0117] like Figure 11As shown, this disclosure also provides a computing device 400, which may include one or more processors 402 and a memory 404 storing computer-executable instructions, which, when executed by the one or more processors 402, cause the one or more processors 402 to perform a flight schedule adjustment method according to any of the foregoing embodiments of this disclosure. The one or more processors 402 may be, for example, a central processing unit (CPU) of the computing device 400. The one or more processors 402 may be any type of general-purpose processor, or may be a processor specifically designed for flight schedule adjustment, such as an application-specific integrated circuit (“ASIC”). The memory 404 may include various computer-readable media accessible by the one or more processors 402. In various embodiments, the memory 404 described herein may include volatile and non-volatile media, removable and non-removable media. For example, the memory 404 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 404 may store instructions that, when executed by the processor 402, cause the processor 402 to execute the flight schedule adjustment method according to any of the foregoing embodiments of the present disclosure.

[0118] This disclosure also provides a computer-readable storage medium having computer-executable instructions stored thereon, which, when executed by a computer, cause the computer to perform the flight schedule adjustment method according to any of the foregoing embodiments of this disclosure.

[0119] This disclosure also provides a computer program product that may include instructions that, when executed by a processor, implement the flight schedule adjustment 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.

[0120] Figure 12 A block diagram is shown on which an electronic device according to embodiments of the present disclosure can be implemented. Figure 12 The electronic device 600 shown is equipped with the computer program product provided in this disclosure or reads the computer-readable storage medium provided in this disclosure and performs the method described in any of the foregoing embodiments of this disclosure.

[0121] Figure 12The electronic device 600 shown can be a computer system with a dedicated hardware structure, which can perform corresponding functions when the relevant application is installed.

[0122] like Figure 12 As shown, the Central Processing Unit (CPU) 601 performs various processes based on a program stored in the Read-Only Memory (ROM) 602 or a program loaded from the storage section 608 into the Random Access Memory (RAM) 603. The RAM 603 stores data required as needed when the CPU 601 performs various processes, etc. The CPU is merely exemplary and could be other types of processors. The ROM 602, RAM 603, and storage section 608 can be various forms of computer-readable storage media. It should be noted that although... Figure 12 The diagram shows ROM 602, RAM 603 and storage section 608, but one or more of them may be combined or located in the same or different memory or storage modules.

[0123] CPU 601, ROM 602 and RAM 603 are interconnected via bus 604. Input / output interface 605 is also connected to bus 604.

[0124] The following components are connected to the input / output interface 605: input section 606, such as a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output section 607, including displays such as cathode ray tube (CRT), liquid crystal display (LCD), speakers, vibrators, etc.; storage section 608, including hard disk, magnetic tape, etc.; and communication section 609, including network interface cards such as LAN cards, modems, etc. Communication section 609 allows communication processing to be performed via a network (such as the Internet). Although Figure 12 The electronic device 600 shown communicates via bus 604, but it may also communicate via a network or other means, wherein the network may include a wireless network, a wired network, and / or any combination of wireless and wired networks.

[0125] As needed, drive 610 is also connected to input / output interface 605. Removable media 611 (such as disk, optical disk, magneto-optical disk, semiconductor memory, etc.) are installed on drive 610 as needed, so that computer programs read from them can be installed into storage section 608 as needed.

[0126] When the above series of processes are implemented through software, the program constituting the software can be installed from a network such as the Internet or a storage medium such as removable medium 611.

[0127] According to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of this disclosure include a computer program product that, when run on a computer, causes the computer to perform the methods described in any of the foregoing embodiments. The computer program product includes computer instructions carried on a computer-readable medium, containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer instructions can be downloaded and installed from a network via communication section 609, or installed from storage section 608, or installed from ROM 602. When the computer program is executed by CPU 601, the methods of the embodiments of this disclosure are performed.

[0128] It should be noted that, in the context of this disclosure, a computer-readable medium can be a tangible medium that may contain or store programs for use by or in conjunction with an instruction execution system, apparatus, or device.

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

[0130] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. A typical implementation device is a server system. Of course, this disclosure does not exclude the possibility that, with the future development of computer technology, the computer implementing the functions of the above embodiments may be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a game console, a tablet computer, a wearable device, or any combination thereof.

[0131] The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, product, or apparatus. Without further limitation, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded. For example, the use of terms such as "first" or "second" to denote names does not indicate any particular order.

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

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

[0134] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

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

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

[0137] The same or similar parts between the various embodiments of this disclosure can be referred to mutually, and each embodiment focuses on describing the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments. In the description of this disclosure, the reference to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," "exemplary," etc., means that the specific feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of this disclosure. In this disclosure, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this disclosure and the features of different embodiments or examples.

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

[0139] The above description is merely an embodiment of one or more embodiments of this disclosure and is not intended to limit the scope of the one or more embodiments of this disclosure. Various modifications and variations can be made to the one or more embodiments of this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of the claims.

Claims

1. A method for adjusting flight schedules for airlines, comprising: Obtain the remaining slot information of the airport, which indicates the remaining flight capacity of the airport at each time. Obtain the airline's original time slot information and planned time slot information, wherein the original time slot information indicates the airline's original number of flights at the airport at each time slot, and the planned time slot information indicates the airline's planned number of flights at the airport at each time slot; Construct an integer programming model using the following operations: Setting variables includes: A first variable is set, which indicates the number of flights operated by the airline at the given time. A second variable is set to indicate whether the airline applies for additional flights at the corresponding time. A third variable is set, which indicates whether the airline requests to cancel the flight at the corresponding time; Set constraints, including: A first constraint is set, which requires that the adjusted number of flights of the airline at each time moment equals the sum of the original number of flights of the airline at that time moment and the change in the number of flights. A second constraint is set, which requires that the airline cannot both apply for new flights and cancel flights at any given time; and Set a target function to adjust the first variable from the original time information in a direction closer to the planned time information; and The obtained information is used to solve the integer programming model to determine the flight schedule adjustment scheme based on the decision variable values ​​of the second variable and the third variable.

2. The flight schedule adjustment method of claim 1, wherein, The first variable indicates the number of inbound or outbound flights of the airline at the corresponding time, the second variable indicates whether the airline applies for additional inbound or outbound flights at the corresponding time, and the third variable indicates whether the airline applies to abandon inbound or outbound flights at the corresponding time.

3. The flight schedule adjustment method according to claim 1 further includes: Receive the evaluation results of the proposed flight schedule adjustment plan; as well as In response to the assessment results indicating that the flight schedule adjustment plan is feasible, the flight schedule adjustment plan is determined as the final flight schedule adjustment plan, or In response to the evaluation result indicating that the flight schedule adjustment scheme is infeasible, constraints are set based on the infeasible flight schedule adjustment scheme, such that the new flight schedule adjustment scheme determined after resolving the integer programming model does not include the infeasible flight schedule adjustment scheme.

4. The flight schedule adjustment method according to claim 3, comprising: In response to the evaluation result indicating that the flight schedule adjustment scheme has a feasible part and an infeasible part, the original schedule information and the remaining schedule information are updated based on the feasible part, and constraints are set based on the infeasible part, such that the new flight schedule adjustment scheme determined after resolving the integer programming model with the schedules involved in the feasible part set as non-adjustable does not include the infeasible part.

5. The flight schedule adjustment method according to claim 1, wherein, The objective function includes multiple objective functions ordered by priority. Solving the integer programming model involves sequentially using one of the multiple objective functions, in descending order of priority, to solve the integer programming model. When solving the integer programming model using a lower priority objective function, constraints are set based on the optimized objective function value obtained after solving the integer programming model using a higher priority objective function.

6. The flight schedule adjustment method according to claim 5, wherein, The plurality of objective functions includes a first objective function with a first priority, the first objective function being configured to minimize the deviation between the adjusted number of flights at each time point and the planned number of flights at that time point.

7. The flight schedule adjustment method according to claim 6, wherein, The plurality of objective functions also include a second objective function with a second priority that is lower than the first priority, the second objective function being configured to minimize the number of times the number of flights to be adjusted.

8. The flight schedule adjustment method according to claim 7, wherein, The plurality of objective functions also includes a third objective function having a third priority lower than the second priority, the third objective function being configured to maximize the comprehensive value of flight slots, the comprehensive value of flight slots being determined based on the number of flights at each time slot and the value of the corresponding time slot.

9. The flight schedule adjustment method according to claim 8, wherein, The value of the corresponding moment includes a first value and / or a second value, wherein the first value is determined based on the scarcity of that moment and the second value is determined based on the degree of synergy between that moment and its neighboring moments.

10. The flight schedule adjustment method according to claim 9, wherein, The scarcity level at each moment is determined based on the remaining flight capacity at that moment, and the first value at that moment is determined by a mapping model between the remaining flight capacity at that moment and a first value, said mapping model being configured such that: When the remaining flight capacity is less than or equal to the first threshold, the first value increases as the remaining flight capacity decreases; as well as If the remaining flight capacity is greater than the first threshold, the first value is maintained at a fixed value, which is less than the value of the first value when the remaining flight capacity is equal to the first threshold.

11. The flight schedule adjustment method according to claim 9, wherein, The second value is determined based on the degree of coordination between this moment and its neighboring moments, including: Based on the original time information and the planned time information, difference time information is determined, which indicates the difference between the original number of flights and the planned number of flights of the airline at the airport at each time. For times when the original number of flights is less than the planned number of flights: Based on the remaining time information, the target time is searched and coordinated from near to far within the vicinity of that time; and A second value for the coordination target time is determined based on the time offset between the coordination target time and that time, wherein the second value increases as the time offset decreases.

12. The flight schedule adjustment method according to claim 11, wherein, The difference time information includes a first time when the original number of flights is less than the planned number of flights by a first amount, and a second time when the original number of flights is less than the planned number of flights by a second amount, wherein the first time and the second time have the same coordination target time. Wherein, the coordination target time has a first time offset from the first time, the coordination target time has a second time offset from the second time, and the second value of the coordination target time includes a first part determined based on the first time offset and a second part determined based on the second time offset.

13. The flight schedule adjustment method according to claim 1, wherein, The remaining slot information for the airport is determined based on the airport's slot flow information and slot capacity rules. The slot flow information indicates the number of existing flights at the airport at each time slot, and the slot capacity rules include the upper limit of the number of flights allowed by the airport within each time slot range.

14. The flight schedule adjustment method according to claim 1, further comprising: Obtain the time slot capacity rules, which include the maximum number of flights allowed by the airport within each time slot. The constraint setting also includes setting a third constraint, which requires that the total number of flights operated by the airline at the airport in each time period be less than or equal to the maximum number of flights allowed by the airport in that time period.

15. The flight schedule adjustment method according to claim 1, further comprising: Obtain the time slot adjustment rules, which include the requirement that the time slots for a first number of applications to add flights must be exchanged for the time slots for a second number of applications to abandon flights. The constraint setting also includes setting a fourth constraint, which indicates that the ratio of the number of new flights applied for at all times to the number of flights applied to be abandoned at all times is equal to the ratio of the first number to the second number.

16. The flight schedule adjustment method according to claim 15 further includes: Divide all time into multiple time periods; as well as The degree of imbalance for each time period is determined based on the difference between the original number of flights and the planned number of flights at each time point within that time period. Solving the integer programming model using the acquired information includes: For each of the multiple time periods, a task is generated to solve the integer programming model. The time slots in the task where additional or abandoned flights can be requested are restricted to the corresponding time period, and the task is subject to a constraint that the total number of flights in the corresponding time period remains unchanged. The tasks are executed sequentially, from highest to lowest degree of imbalance, including: Execute the current task; If a solution exists for the current task and the resulting flight schedule adjustment plan is deemed feasible, the flight schedule adjustment plan is recorded, and the current task is terminated to proceed to the next task. If the current task is unsolvable or the obtained flight schedule adjustment plan is assessed as infeasible, the current task is terminated to proceed with the next task.

17. The flight schedule adjustment method according to claim 16, wherein, Solving the integer programming model using the acquired information further includes: The system counts the number of global exchanges in the recorded flight schedule adjustment schemes, and terminates the current task and all subsequent tasks when the number of global exchanges reaches a second threshold. The global exchange count is equal to the ratio of the number of new flights requested at all times to the first count.

18. The flight schedule adjustment method according to claim 16, wherein, The number of local exchanges in each time period is equal to the ratio of the number of new flights requested in that time period to the first number, and performing the current task includes: Multiple setting values ​​for the number of local swaps are obtained, and a subtask for solving the integer programming model is generated for each of the multiple setting values. The subtask is set with a constraint that requires the number of local swaps to be equal to the corresponding setting value. The subtasks are executed sequentially according to the multiple setting values ​​from high to low, including: Execute the current subtask; In response to the current subtask having a solution and the obtained flight schedule adjustment scheme being evaluated as feasible, the flight schedule adjustment scheme is recorded, and the current task is exited to execute the next task. In response to the current subtask being unsolvable or the obtained flight schedule adjustment plan being evaluated as infeasible, the current subtask is terminated to execute the next subtask; and, If no solution is found for any of the subtasks or the obtained flight schedule adjustment plan is deemed infeasible, the current task ends and the next task is executed.

19. The flight schedule adjustment method according to claim 18, wherein, The multiple setting values ​​include 7, 4, 3, and 1, and the corresponding subtasks generated are the first subtask, the second subtask, the third subtask, and the fourth subtask, respectively, wherein: The first sub-task requires that the flight schedule adjustment plan obtained includes one time slot for each day of the week for applying to add a flight, and another time slot for each day of the week for applying to abandon a flight. The second sub-task requires that the flight schedule adjustment plan obtained include the following: the time for applying to add a flight includes one time on each of the odd days of the week; the time for applying to abandon a flight includes another time on each of the odd days of the week. The third sub-task requires that the flight schedule adjustment plan obtained includes a time slot for each even-numbered day of the week for applying to add a flight, and a time slot for each even-numbered day of the week for applying to abandon a flight. The fourth sub-task requires that the flight schedule adjustment plan obtained includes a time slot in one week for applying to add a flight and a time slot in another week for applying to abandon a flight.

20. The flight schedule adjustment method according to claim 18, wherein: In response to the current subtask having a solution but the obtained flight schedule adjustment scheme being evaluated as infeasible, a constraint is set based on the infeasible flight schedule adjustment scheme, such that the new flight schedule adjustment scheme obtained by re-executing the current subtask does not include the infeasible flight schedule adjustment scheme. or In response to the current subtask having a solution but the resulting flight schedule adjustment scheme being evaluated as having a feasible part and an infeasible part, the original schedule information and the remaining schedule information are updated based on the feasible part, and constraints are set based on the infeasible part such that a new flight schedule adjustment scheme obtained by re-executing the current subtask when the schedules involved in the feasible part are set as unadjustable does not include the infeasible part.

21. The flight schedule adjustment method according to claim 1, further comprising: Obtain the prohibited adjustment methods, and set constraints based on the prohibited adjustment methods. The prohibited adjustment methods include one or more of the following: the adjusted number of inbound flights is not equal to the original number of inbound flights; the adjusted number of outbound flights is not equal to the original number of outbound flights; the total number of flights during off-peak hours decreases and the total number of flights during peak hours increases; the total number of flights changes on all odd-numbered days of the week; the total number of flights changes on all even-numbered days of the week; the number of flights at locked times changes; the adjusted number of domestic flights is not equal to the original number of domestic flights; the adjusted number of international flights is not equal to the original number of international flights.

22. The flight schedule adjustment method according to claim 1, wherein, The confirmed flight schedule adjustment plan includes: The timing for applying for an additional flight is determined based on the value of the second decision variable, and the timing for applying to abandon a flight is determined based on the value of the third decision variable. Pair the time of the requested flight cancellation with the time of the requested new flight; The flight number whose flight time needs to be adjusted is determined from the original time information based on the time at which the flight request to be cancelled is submitted.

23. The flight schedule adjustment method according to claim 22, wherein, The flight number whose flight time needs to be adjusted is determined from the original time information based on the time of the requested cancellation of the flight, including: In response to the presence of a flight number in the original time information that corresponds to the time at which the flight request is to be abandoned, the corresponding flight number is identified as a candidate flight number; In response to the absence of a flight number in the original time information corresponding to the time of the requested flight cancellation, the flight number whose time is closest to the time of the requested flight cancellation is identified as a candidate flight number; and The identified candidate flight numbers are determined as the flight numbers for which the flight times need to be adjusted.

24. The flight schedule adjustment method according to claim 23, wherein, In response to identifying multiple candidate flight numbers, the flight number with the most flights among the multiple candidate flight numbers is determined as the flight number whose flight time needs to be adjusted.

25. A flight schedule adjustment device for an airline, comprising: The acquisition module is configured as follows: Obtain the remaining slot information of the airport, which indicates the remaining flight capacity of the airport at each time. Obtain the airline's original time slot information and planned time slot information, wherein the original time slot information indicates the airline's original number of flights at the airport at each time slot, and the planned time slot information indicates the airline's planned number of flights at the airport at each time slot; The building module is configured to construct integer programming models by: Setting variables includes: A first variable is set, which indicates the number of flights operated by the airline at the given time. A second variable is set to indicate whether the airline applies for additional flights at the corresponding time. A third variable is set to indicate whether the airline requests to cancel the flight at the corresponding time. Set constraints, including: A first constraint is set, which requires that the adjusted number of flights of the airline at each time moment equals the sum of the original number of flights of the airline at that time moment and the change in the number of flights. A second constraint is set, which requires that the airline cannot simultaneously apply for both adding and canceling flights at any given time. Set a target function to adjust the first variable from the original time information in a direction closer to the planned time information; and The adjustment module is configured to use the acquired information to solve the integer programming model to determine the flight schedule adjustment scheme based on the decision variable values ​​of the second variable and the decision variable values ​​of the third variable.

26. A computing device, comprising: A memory configured to store instructions; as well as A processor coupled to the memory, when the instructions are executed by the processor, implements the flight schedule adjustment method according to any one of claims 1 to 24.

27. A computer-readable storage medium having instructions stored thereon that, when executed by a processor, implement the flight schedule adjustment method according to any one of claims 1 to 24.

28. A computer program product comprising instructions that, when executed by a processor, implement the flight schedule adjustment method according to any one of claims 1 to 24.