Resource allocation method and related apparatus

By constructing heterogeneous graphs and using heuristic algorithms and reinforcement learning models to optimize gate allocation, the complexity and lack of generality of the gate allocation problem are addressed, achieving efficient airport resource allocation and improved passenger experience.

WO2026061096A1PCT designated stage Publication Date: 2026-03-26HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-07-03
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

The gate allocation problem is a complex combinatorial optimization problem that integrates multiple constraints and objectives. As the number of flights and the scale of parking stands increase, the difficulty of solving the problem increases sharply. Existing algorithms are unable to find the global optimal solution in a short time and lack a general solution framework that can be applied across different airports, which limits the universality and rapid deployment of the algorithms.

Method used

A graph structure is used to represent the relationship between flights and aircraft stands in an airport. A heterogeneous graph is constructed, and aircraft stand clusters are divided by taxiing conflicts. An allocation strategy is generated, and heuristic algorithms and reinforcement learning models are used to optimize aircraft stand allocation, reduce computational complexity, adapt to the personalized rules of different airports, and improve versatility and efficiency.

Benefits of technology

It achieves efficient gate allocation, shortens solution time, improves airport capacity and passenger travel experience, adapts to the dynamic changes of different airports, and enhances the method's versatility and rapid transferability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025106910_26032026_PF_FP_ABST
    Figure CN2025106910_26032026_PF_FP_ABST
Patent Text Reader

Abstract

A resource allocation method, comprising: acquiring flight information and stand rule information of a target airport, the target airport comprising a plurality of stands, the flight information being used for indicating a plurality of flights to be docked at the target airport, and the stand rule information being used for representing docking rules of the plurality of stands; constructing N heterogeneous graphs, each heterogeneous graph corresponding to one stand cluster, each heterogeneous graph comprising a plurality of nodes, the plurality of nodes being connected by means of edges, each node being used for representing one pairing scheme, the pairing scheme comprising a first stand and a first flight, the first stand being one stand in the stand cluster corresponding to the heterogeneous graph, the first flight being one flight satisfying a docking rule of the first stand, and each edge being used for representing that there is no conflict relationship between pairing schemes at two ends of the edge; and generating a first allocation strategy on the basis of the N heterogeneous graphs.
Need to check novelty before this filing date? Find Prior Art

Description

A resource allocation method and related device

[0001] The present application claims priority to the Chinese patent application No. 202411331161.9, filed on September 23, 2024, and entitled "A resource allocation method and related device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the field of resource allocation, and in particular to a resource allocation method and related device. BACKGROUND

[0003] As a key parameter for evaluating the carrying capacity of an airport, a reasonable allocation strategy can enable limited stand resources to accommodate more flights, thereby enhancing the carrying capacity of the airport. In addition, the allocation strategy can also optimize the bridge docking rate of flights and improve the travel experience of passengers.

[0004] The stand allocation problem is actually a complex combinatorial optimization problem that integrates multiple constraint conditions and objectives. In the allocation process, the stand docking rules (such as flight type, stand size, and other factors) and the individual rules of the airport (such as conflict relationships between different stands, and rules that flights with the same destination need to be parked separately, etc.) need to be considered to ensure the rationality and efficiency of the allocation. However, as the number of flights and the size of the stands continue to expand, the difficulty of solving this problem also increases dramatically, making it particularly difficult to find a global optimal solution in a short period of time. SUMMARY

[0005] Embodiments of the present application provide a resource allocation method and related device for shortening the time for solving a resource allocation problem.

[0006] In a first aspect, a data processing method is provided, including: obtaining flight information and stand rule information of a target airport, the target airport including a plurality of stands, the flight information being used to indicate a plurality of flights to be parked at the target airport, and the stand rule information being used to indicate docking rules of the plurality of stands; constructing N heterogeneous graphs according to the flight information and the stand rule information, each heterogeneous graph corresponding to a stand cluster, each stand cluster including at least one stand, and N being a positive integer greater than 1; wherein each heterogeneous graph includes a plurality of nodes connected by edges, each node being used to represent a pairing scheme, the pairing scheme including a first stand and a first flight, the first stand being a stand in the stand cluster corresponding to the heterogeneous graph, and the first flight being a flight satisfying the docking rules of the first stand, and each edge being used to represent that there is no conflict relationship between the pairing schemes at both ends of the edge; and generating a first allocation strategy according to the N heterogeneous graphs, the first allocation strategy including a parked stand corresponding to each flight in the plurality of flights.

[0007] In the present application, the flight information includes flight number, arrival time, departure time, preferred parking stand, airline, aircraft type, flight nature (passenger, cargo), route nature (domestic, foreign) and boarding gate information, etc. The parking rule of the stand refers to the constraint condition of the stand for parking flights, such as the type of aircraft that can be parked on the stand, whether it belongs to an international flight stand, a cargo stand, etc.

[0008] In the present application, the conflict relationship between the matching schemes includes conflicts in space and time dimensions, for example, two adjacent stands in position have flights operating in the same time, such as sliding in or sliding out, which will cause mutual interference of sliding conflict on the airport taxiway; or uniqueness conflict, for example, matching scheme 1 arranges flight A to park in stand A, and matching scheme 2 arranges flight A to park in stand B, because the same flight cannot occupy multiple stands, therefore, matching scheme 1 and matching scheme 2 have uniqueness conflict.

[0009] By using the above method, the relationship between flights and stands in the airport is efficiently expressed by using the graph structure, avoiding complex mathematical programming problem constraint conditions, realizing more efficient relationship expression, reducing the complexity of multi-constraint problem, and shortening the solving time. In addition, the allocation result generated by using the graph structure realizes decoupling with the airport rules, adapts to dynamic change rules of the same airport and individualized rules of different airports, can be generalized to various different airport environments, and improves the universality of the method.

[0010] In a possible implementation manner, the flight information and the stand rule information of the target airport are obtained according to the target rule, the target rule includes a plurality of data fields and a data type of each data field, the plurality of data fields include a data field of the flight information and a data field of the stand rule information, and the data types of the data fields with the same business meaning between the plurality of data fields are the same.

[0011] In the present application, when the airport data is obtained, the flight information and the stand rule information are input through the preset target rule, the target rule records the identification, specific meaning and data type of each data field. The input content is mapped to an integer index or a Boolean vector through hash mapping, and the value domain of the related field is extracted from the target rule and is re-hashed to ensure that the data fields with the same business meaning share the same value domain.

[0012] By using the above method, the storage, analysis and verification mechanism of the rules are enhanced, so that the airport can quickly introduce new rules and flexibly adjust existing rules, thereby accelerating the rapid migration and deployment of the gate assignment system between different airports. At the same time, the independence of airport data analysis and data definition is realized, which promotes the rapid adaptability and expansibility of the gate rules data of different airports.

[0013] In a possible implementation, the gate rule information includes at least one taxi conflict, the taxi conflict indicating that there is a flight taxi-in time and / or flight taxi-out time conflict between two adjacent gates;

[0014] According to the flight information and the gate rule information, N heterogeneous graphs are constructed, including: according to the at least one taxi conflict, the plurality of gates are divided into N gate clusters, and there is a taxi conflict between the gates in the same gate cluster; according to the flight information and the gate rule information, a set of landable flights in each of the N gate clusters is determined, and the flights in the set of landable flights in each gate cluster are the union of the landable flights of each gate in the gate cluster; according to the N gate clusters and the set of landable flights in each gate cluster, a heterogeneous graph of each gate cluster is constructed.

[0015] It should be noted that the taxi conflict between the gates means that if two flights simultaneously (for example, within 5 minutes) taxi in and / or taxi out of the adjacent gates using the same airport taxiway, a collision or mutual interference may occur on the taxiway. The key here is the time proximity of the flights and their moving direction on the taxiway, rather than whether there are flights landing on the two gates at the same time. When there are taxi conflict gates in the two pairing schemes, if the flights assigned to these gates have conflicts in taxi-in time and / or taxi-out time, the two pairing schemes are considered to have a taxi time conflict. This conflict focuses on the specific time conflict between gates due to taxiing, rather than the occupancy state of the gates themselves. Therefore, the taxi conflict between the gates in the gate rule is only a prerequisite for the conflict relationship between the pairing schemes, and whether the actual conflict will occur needs to be further considered the taxi-in and taxi-out time of the assigned flights.

[0016] In a possible implementation, the determining of the set of landable flights in each of the N clusters of stands according to the flight information and the landing rules of the plurality of stands comprises: dividing the plurality of flights into M first sets of flights according to the flight information, flight matching constraints in each of the first sets of flights being the same, M being a positive integer greater than 1; dividing the plurality of stands into K first sets of stands according to the landing rules of the plurality of stands, landing rules of the stands in each of the first sets of stands being the same, K being a positive integer greater than 1; generating a first matching matrix, each row of the first matching matrix having a plurality of elements, and each element being a matching result of a first set of flights and each of the first sets of stands, the first set of flights in each row being different; and obtaining the set of landable flights in each of the N clusters of stands and the landable flights of each stand based on the first matching matrix.

[0017] By using the above method, the individual matching problem between flights and stands is converted into the overall matching problem between sets of flights and sets of stands by using matching constraints, thereby reducing the amount of calculation, shortening the generation time of the check result, and improving the overall performance of the system.

[0018] In a possible implementation, the attribute of the node comprises a priority of the pairing scheme, and the attribute of the edge comprises a weight, the weight indicating a sum of priorities of the pairing schemes at two ends of the edge.

[0019] The first allocation strategy is generated according to the N heterogeneous graphs, comprising: sequentially selecting a target pairing scheme from the heterogeneous graph corresponding to a target cluster of stands according to a first sequence, the first sequence being obtained by sorting the flights in the set of landable flights in the N clusters of stands from small to large, the target cluster of stands being the cluster of stands with the least number of flights in the first sequence, and the target pairing scheme being at least two pairing schemes or one pairing scheme with the highest accumulated weight in the heterogeneous graph corresponding to the target cluster of stands.

[0020] In this application, the priority of the pairing scheme refers to the matching degree of the flight and the stand in the pairing scheme, and can also be understood as the quantification of the satisfaction of the flight to the stand. For example, flight A can be parked on stand 1 or stand 2, and since stand 1 is close to the bridge and stand 2 is not close to the bridge, the priority of the pairing scheme of flight A and stand 1 is higher than that of flight A and stand 2.

[0021] By using the above method, the cluster of stands with fewer landable flights is preferentially processed, so that more flights can be effectively allocated. In addition, the target pairing scheme is selected based on the accumulated weight, so that the bridge turnaround rate and the bridge rate of the finally generated first allocation strategy can be improved, and the passenger experience can be improved.

[0022] In one possible implementation, a target pairing scheme is selected sequentially from the heterogeneous graph corresponding to the target station cluster, including: selecting the target station with the highest cumulative weight from the heterogeneous graph corresponding to the target station cluster; and determining the target pairing scheme based on the target station, wherein the target pairing scheme includes the target station.

[0023] In one possible implementation, target pairing schemes are selected sequentially from the heterogeneous graph corresponding to the target machine cluster, including: obtaining target pairing schemes through a reinforcement learning model based on the heterogeneous graph corresponding to the target machine cluster, wherein the reward of the reinforcement learning model is the cumulative weight of the allocation results.

[0024] In one possible implementation, the priority of the pairing scheme is determined by one or more of the following:

[0025] Is the first camera position near the jet bridge?

[0026] Is the first gate a preferred gate for the first flight?

[0027] The distance between the first gate and the boarding gate; or,

[0028] Ground service facilities for the first aircraft position.

[0029] Secondly, embodiments of this application provide a resource allocation apparatus, the apparatus comprising:

[0030] The acquisition module is used to obtain flight information and gate rule information of the target airport. The target airport includes multiple gates, the flight information is used to indicate multiple flights waiting to dock at the target airport, and the gate rule information includes the docking rules of multiple gates.

[0031] The processing module is used to construct N heterogeneous graphs based on flight information and gate rule information. Each heterogeneous graph corresponds to a gate cluster, and the gate cluster includes at least one gate. N is a positive integer greater than 1.

[0032] Each heterogeneous graph includes multiple nodes connected by edges. Each node represents a pairing scheme, which includes a first gate and a first flight. The first gate is a gate in the gate cluster corresponding to the heterogeneous graph, and the first flight is a flight that satisfies the parking rules of the first gate. Each edge is used to indicate that there is no conflict between the pairing schemes at both ends of the edge.

[0033] The processing module is also used to generate a first allocation strategy based on N heterogeneous graphs. The first allocation strategy includes the parking positions corresponding to each flight among multiple flights.

[0034] In a possible implementation, the obtaining module is specifically configured to obtain flight information and stand rule information of a target airport according to a target rule, the target rule includes a plurality of data fields and a data type of each data field, the plurality of data fields include a data field of the flight information and a data field of the stand rule information, and the data types of the data fields with the same business meaning between the plurality of data fields are the same.

[0035] In a possible implementation, the stand rule information includes at least one taxi conflict, and the taxi conflict indicates that two adjacent stands have a flight taxi-in time and / or a flight taxi-out time conflict.

[0036] The processing module is specifically configured to divide the plurality of stands into N stand clusters according to the at least one taxi conflict, and the stands in a same stand cluster have a taxi conflict; determine a set of stoppable flights in each of the N stand clusters according to the flight information and the stand rule information, and the flights in the set of stoppable flights in each stand cluster are the union of the stoppable flights of each stand in the stand cluster; and construct a heterogeneous graph of each stand cluster according to the N stand clusters and the set of stoppable flights in each stand cluster.

[0037] In a possible implementation, the processing module is specifically configured to divide a plurality of flights into M first flight sets according to the flight information, the stand matching constraints of the flights in each first flight set are the same, M is a positive integer greater than 1; divide a plurality of stands into K first stand sets according to the stop rules of the stands, the stop rules of the stands in each first stand set are the same, and K is a positive integer greater than 1; generate a first matching matrix, a plurality of elements in each row of the first matching matrix are matching results of a first flight set and each first stand set in K first stand sets, and the first flight set in each row is not repeated; and obtain the stoppable flights of each stand and the set of stoppable flights in each of the N stand clusters based on the first matching matrix.

[0038] In a possible implementation, the attribute of the node includes a priority of the pairing scheme, and the attribute of the edge includes a weight, and the weight indicates a sum of the priorities of the pairing schemes at two ends of the edge.

[0039] The processing module is specifically configured to sequentially select a target pairing scheme from the heterogeneous graph corresponding to a target stand cluster according to a first sequence, the first sequence is obtained based on the number of flights in the set of stoppable flights in the N stand clusters from small to large, the target stand cluster is the stand cluster with the least number of flights in the first sequence, and the target pairing scheme is at least two pairing schemes or one pairing scheme with the highest cumulative weight in the heterogeneous graph corresponding to the target stand cluster.

[0040] In a possible implementation, the processing module is specifically configured to select, from the heterogeneous graph corresponding to the target position cluster, a target position with the highest cumulative weight; and determine a target pairing scheme based on the target position, the target pairing scheme including the target position.

[0041] In a possible implementation, the processing module is specifically configured to obtain, according to the heterogeneous graph corresponding to the target position cluster, a target pairing scheme by using a reinforcement learning model, and a reward of the reinforcement learning model is a cumulative weight of the allocation result.

[0042] In a possible implementation, the priority of the pairing scheme is determined by one or more of the following:

[0043] Whether the first position is close to a corridor bridge;

[0044] Whether the first position is a preferred position of the first flight;

[0045] A distance between the first position and the gate; or

[0046] Ground service facilities of the first position.

[0047] The third aspect of the present application provides a resource allocation apparatus, which can include a processor, the processor and a memory are coupled, and the memory stores program instructions, when the program instructions stored in the memory are executed by the processor, the method of the first aspect or any implementation manner of the first aspect is implemented. For the processor to execute the steps in each possible implementation manner of the first aspect, specific reference can be made to the first aspect, and details will not be repeated here.

[0048] The fourth aspect of the present application provides a circuit system, the circuit system includes a processing circuit, and the processing circuit is configured to execute the method of any implementation manner of the first aspect.

[0049] The fifth aspect of the present application provides a computer readable storage medium, and the computer readable storage medium stores a computer program, when the computer program is executed on a computer, the computer program makes the computer execute the method of any implementation manner of the first aspect.

[0050] The sixth aspect of the present application provides a computer program product, when the computer program product is executed on a computer, the computer program product makes the computer execute the method of any implementation manner of the first aspect.

[0051] The seventh aspect of the present application provides a chip device, including a processor, for calling a program stored in a memory, so that the processor executes the first aspect or any implementation manner in the first aspect.

[0052] Optionally, the memory is located inside or outside the chip device.

[0053] The technical effects of the second aspect to the seventh aspect of the present application can be understood in combination with the technical effects of the first aspect and any implementation manner of the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0055] FIG. 1 is a schematic diagram of an airport flight in and out process;

[0056] FIG. 2 is a schematic diagram of airport stand allocation rules from a business perspective;

[0057] FIG. 3 is a schematic diagram of a resource allocation method provided by the embodiments of the present application;

[0058] FIG. 4 is a schematic diagram of a stand layout of an airport;

[0059] FIG. 5 is a schematic diagram of a stand allocation process based on a heterogeneous graph;

[0060] FIG. 6 is a business flowchart of a stand allocation model;

[0061] FIG. 7 is a schematic diagram of a stand allocation system;

[0062] FIG. 8 is a schematic diagram of an allocation result output by a Gantt chart;

[0063] FIG. 9 is a schematic diagram of a stand allocation model running;

[0064] FIG. 10 is a schematic diagram of the structure of a resource allocation device provided by the embodiments of the present application;

[0065] FIG. 11 is a schematic diagram of the structure of an execution device provided by the embodiments of the present application;

[0066] FIG. 12 is a schematic diagram of the structure of a server provided by the embodiments of the present application;

[0067] FIG. 13 is a schematic diagram of the structure of a chip provided by the embodiments of the present application. DETAILED DESCRIPTION

[0068] The technical solutions in the embodiments of the present application will be described clearly and completely in combination with the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0069] The terms "first", "second", "third", "fourth" etc. (if any) in the description and claims of this application and above figures, if any, are used for distinguishing between similar objects, not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of these terms herein is to be construed to cover the use of any of the terms in the alternative, unless otherwise indicated. Further, the terms "comprising", "having", "including", and "containing" are to be construed as open-ended terms (i.e., meaning "including, but not limited to", "comprising, but not limited to", "having, but not limited to", or "including, but not limited to") unless otherwise noted. It is intended that the expression "consisting of" be construed as a statistical closed term, as opposed to the term "comprising" which is a statistical open term, as set forth in the United States Patent Office Manual of Patent Examining Procedures, 8th Ed., Section 2111.03, at 2111.03(b), unless otherwise noted.

[0070] As used herein, the terms "substantially", "about", and other similar terms are used as terms of approximation and not as terms of degree, unless otherwise indicated, and are intended to account for the inherent deviations in measured or calculated values that would be recognized by those of ordinary skill in the art. Further, the use of "may" when describing embodiments of the application means, "one or more embodiments". As used herein, the terms "use", "using", and "used" can be considered synonymous with the terms "utilize", "utilizing", and "utilized", respectively. In addition, the term "exemplary" is intended to mean an instance or illustration.

[0071] First, some terms in the embodiments of the application are explained to facilitate understanding by those skilled in the art.

[0072] (1) Taxi conflict

[0073] Taxi conflict mainly refers to the conflict between two adjacent aircraft positions (or parking positions) on the airport apron due to the taxi-in or taxi-out operation of the flights at similar times. Taxi conflict can also be referred to as taxi-in and taxi-out conflict. For example, when two flights of adjacent parking positions taxi in almost at the same time (e.g., within 5 minutes), they may collide or interfere with each other on the taxiway. Similarly, when the two flights taxi out almost at the same time, or one taxis in and the other taxis out, similar conflicts may also occur on the taxiway.

[0074] (2) Reinforcement learning (RL)

[0075] Reinforcement learning is a method of machine learning that focuses on how an agent learns to take optimal actions to maximize cumulative rewards through trial and error in interactions with an environment. However, because the label of the "correct action" cannot be obtained in advance, the network cannot be optimized by calculating the error between the action and the "correct action". Reinforcement learning training is achieved through iterative interactions with the environment.

[0076] (3) Gantt Chart

[0077] Gantt chart, also known as bar chart or bar graph, is a visualization tool that focuses on the time axis to display project progress and task arrangement. In the Gantt chart, the horizontal axis represents time, the vertical axis represents projects or tasks, and the lines represent the start and end time and duration of each task or activity on the time axis. Through the Gantt chart, project managers can intuitively see which tasks are in progress, which tasks have been completed, and which tasks have not yet started, so as to better coordinate resources, allocate tasks, and monitor the overall progress of the project.

[0078] In the field of airport operation management, the parking stand is the core area of the airport for the ground operation of the aircraft to pick up and drop off passengers, load and unload cargo, etc. Its main responsibility is to ensure the convenient boarding and disembarking of passengers and the efficient loading and unloading of cargo. When allocating parking stands, the airport needs to consider various constraints, such as aircraft type, parking stand size, flight type (such as passenger, cargo), route attribute (such as international, domestic), and parking stand idle time, etc., to allocate appropriate parking stands for inbound and outbound flights.

[0079] The core purpose of the allocation of parking stands is to improve the overall operational efficiency of the airport. As shown in FIG. 1, the allocation strategy of the parking stand is not only directly related to the smooth take-off and landing of the flight, the safety guarantee of the flight area, and the travel satisfaction of the passengers, but also affects the reasonable configuration and efficient use of various resources (such as boarding gates, shuttle buses, baggage carousel, etc.) around the parking area. Therefore, reasonable allocation of parking stands is crucial to ensure the rapid and safe docking of flights, promote the efficient connection between flights, expand the capacity of the airport system, and optimize service quality.

[0080] In view of the general tightness of airport parking resources, for example, in large airports, it is difficult to increase the number of parking spaces due to physical space limitations, and it is urgent to optimize the utilization efficiency of existing parking resources. However, as shown in FIG. 2, the parking space allocation problem is essentially a complex combinatorial optimization problem involving multiple constraints and objectives. Different parking spaces will have mutual influence or conflict on the flights that are about to land or have landed. The difficulty of solving the problem increases sharply with the expansion of the number of flights and the size of parking spaces, making it difficult to find a global optimal solution in a short time.

[0081] In addition, the applicant found that the existing allocation algorithm is designed based on the allocation rules of a specific airport, which leads to a close binding between the algorithm and the airport rules, thereby weakening the universality and generalization ability of the algorithm. Unfortunately, the lack of a general solving framework that can be applied across different airports limits the rapid deployment and popularization of the algorithm in other airport scenarios.

[0082] To solve the above problems, the embodiments of the present application provide a resource allocation method. The data processing method of the embodiments of the present application will be described in detail below in conjunction with the drawings.

[0083] FIG. 3 is a flowchart of a resource allocation method provided by the embodiments of the present application. As shown in FIG. 3, the method can include steps 301 to 308, which will be described in detail below.

[0084] 301. Obtain flight information and parking space rule information of a target airport.

[0085] The target airport includes multiple parking spaces, the flight information is used to indicate multiple flights to be parked at the target airport, and the parking space rule information is used to indicate the parking rules between the multiple parking spaces of the target airport.

[0086] In one possible implementation, the flight information is the flight plan of the target airport collected in a flight information management system (FIMS).

[0087] For example, the flight information of the target airport is shown in Table 1 as follows:

[0088] Table 1

[0089] Among them, flights F1 to F6 are flights arriving on the same day, and the flight information includes the flight number, arrival time, departure time, and preferred preferred parking space of the flight to be parked at the target airport.

[0090] For example, the flight information can also include information such as the airline of each flight, the aircraft model, the nature of the flight (passenger, cargo), the nature of the route (domestic, international), and gate information, etc., which can affect the selection of the stand.

[0091] In a possible implementation, the stand rule information is allocation rules and data such as stand types of a target airport maintained in an airport operation database (AODB).

[0092] For example, the stand rule information includes constraints of a plurality of stands of the target airport for the parked flights. For example, an adaptive constraint, i.e., according to the model or type of the aircraft, they must be allocated to a stand that matches the model or type; for example, an exclusive constraint, flights of a specific airline or a specific route (such as an international flight) can be limited to use a preset stand. It can be understood that the stand rule information can also include other forms of constraints, such as constraints that change over time (such as special dates such as holidays), which are not limited here.

[0093] 302. Dividing stand clusters and determining the feasible region of the stand.

[0094] In this application, the stand rule information includes at least one taxi conflict, each taxi conflict indicating that there is a conflict in the flight taxi-in time and / or the flight taxi-out time between two adjacent stands. Based on the taxi conflict, the plurality of stands are divided into N stand clusters, and any stand in the same stand cluster has a taxi conflict with at least one stand in the other stands in the cluster.

[0095] For example, the layout of the stands of the target airport is shown in FIG. 4, which includes a plurality of near stands (for example, stands S1 to S22 in FIG. 4) near the terminal (satellite terminal) and a plurality of far stands (for example, stands S23 to S25 in FIG. 4) far from the terminal, wherein some of the near stands are near the jetty (not shown in FIG. 4).

[0096] For example, if “Flight A” and “Flight B” belong to the same day of parked flights, and the taxi-in time of “Flight A” and “Flight B” is both “5:00”. At this time, if “Flight A” is allocated to stand S1 for parking, in order to avoid conflicts on the airport taxiway, “Flight B” cannot be allocated to stand S2 for parking. Similarly, if “Flight A” is allocated to stand S2, “Flight B” cannot be allocated to stand S1.

[0097] According to the at least one taxi conflict, a first-order taxi conflict matrix A ∈ {True, False} is obtained between the stands. S×S, S is the number of stands. Calculate the infinite jump A ∞ of the sliding conflict matrix, and hash the de-duplication to get N stand clusters (or called conflict stand clusters).

[0098] For example, the stands with sliding conflicts in FIG. 4 include (stand S1-stand S2), (stand S2-stand S3) and (stand S3-stand S4). Next, the process of infinite jump A ∞ is introduced. For example, first find stand S1, then find stand S2 which has sliding conflict with stand S1, then find stand S3 which has sliding conflict with stand S2, and finally find stand S4, until no more stands can be found which have sliding conflict with it, and the infinite jump ends. Get stand cluster 1-(S1, S2, S3, S4).

[0099] For example, stand S5 in FIG. 4 has no sliding conflict with any other stand, and get stand cluster 2-(S5). Similarly, also include stand cluster 3-(S6), stand cluster 4-(S7, S8, S9, S10) and other stand clusters. Details are not described here.

[0100] It should be understood that the stand layout shown in FIG. 4 can only be part of the target airport, and in actual scenarios, the airport can have more terminals and more stands. In addition, the airport can have multiple stands with sliding conflicts due to the adoption of T-shaped, ring-shaped, satellite-shaped and other configurations, and details are not described here.

[0101] In one possible implementation, flights with the same stand matching constraint are divided into the same flight set, and stands with the same parking rule are divided into the same stand set. The stand matching constraint of the flight corresponds to the parking rule of the stand.

[0102] For example, a certain flight is an international flight and needs to be arranged in the international stand area; for example, a certain flight is a cargo flight and needs to be arranged in a stand with enough loading and unloading space. In actual applications, there are more matching constraints between flights and stands. Hashing is used to de-duplicate the relationship between flights and the relationship between stands, and the set index obtains the matching matrix of the flight set-stand set.

[0103] For example, taking stands S1 to S10 in FIG. 4 as an example, the matching matrix of the flight set-stand set is shown in Table 2:

[0104] Table 2

[0105] As shown in Table 2, after matching, both the flight F1 and the flight F2 can be parked on the stand S1, the stand S2 or the stand S3, so that the flight set (F1, F2) and the stand set (S1, S2, S3) can be obtained, and the matching result of the flight set and the stand set is 1 or "true", and if not matching, the matching result is 0 or "false".

[0106] In the present application, the hash is used to remove the relationship between the flights and the relationship between the stands, and the time complexity of the rule verification is reduced from the traditional O(F 2 × S 2 ) to O(C x h), wherein F, S, C and h represent the number of flights, the number of stands, the number of flight relationship sets and the number of stand relationship sets, respectively. Through this optimization method, the generation time of the verification result can be shortened, and the overall performance of the system is improved.

[0107] Based on the matching matrix of the flight set-stand set, the feasible region of each stand, i.e., the parkable flights of the stand, can be obtained. Similarly, the feasible region of each flight, i.e., the parkable flights of the A stand including the B flight, can also be obtained, and it can be concluded that the parkable stands of the B flight include the A stand.

[0108] For example, according to the matching matrix shown in Table 2, the parkable flights of each stand are shown in Table 3 as follows:

[0109] Table 3

[0110] According to the parkable flights of the stand, the parkable flight set of the stand cluster can be obtained. The parkable flight set of the stand cluster is the union of the parkable flights of each stand in the stand cluster.

[0111] For example, the divided stand cluster information of the target stand is shown in Table 4 as follows:

[0112] Table 4

[0113] As shown in Table 4, the stand cluster 1 includes the stand S1, the stand S2, the stand S3 and the stand S4, and their respective parkable flights are (F1, F2), (F1, F2), (F1, F2) and (F3, F4), respectively. Then, the parkable flight set of the stand cluster 1 is (F1, F2, F3, F4).

[0114] After obtaining the feasible region of the stand cluster and stand, the stand allocation process for the flight is started, and the target stand is selected from the N stand clusters in turn to allocate the corresponding flight, until all the to-be-berthed flights are allocated. Please refer to FIG. 5, which is a schematic diagram of the stand allocation process based on the heterogeneous graph according to an embodiment of the present application. Next, taking the aforementioned flights (F1 to F6) and stands (S1 to S10) as an example, the allocation process is introduced in detail in combination with the following steps 303 to 307.

[0115] It should be understood that after all the stand clusters are traversed to allocate the flights, there can still be some to-be-allocated flights with undetermined target stands, at which time manual allocation can be performed, which is not limited here.

[0116] 303. Determine whether the feasible region of the stand is empty.

[0117] Firstly, it is determined whether the feasible region of the stand is empty, which can also be understood as querying whether there is a flight that has not been allocated to a stand. If not, step 304 is executed; if yes, the allocation ends, and the first allocation strategy (i.e., the stand allocation result) is obtained.

[0118] 304. Select the target stand cluster with the least number of stoppable flights.

[0119] In one possible implementation, the N stand clusters are sorted according to the number of flights in the set of stoppable flights of each stand cluster. Starting from the stand cluster with the least number of stoppable flights, the process gradually proceeds to the stand cluster with the most number of stoppable flights. The stand cluster with the least number of stoppable flights is preferentially processed.

[0120] As shown in FIG. 5, according to the number of stoppable flights of the stand cluster, the processing order of the stand cluster 1 to the stand cluster 4 is the stand cluster 2, the stand cluster 4, the stand cluster 3 and the stand cluster 1 respectively.

[0121] In one possible implementation, when facing the stand clusters with the same number of stoppable flights, the stand cluster with the fewer number of stands in the cluster is preferentially processed.

[0122] 305. Determine whether there is an unallocated flight in the target stand cluster.

[0123] If there is an unallocated flight, step 306 is executed; if all the flights in the set of stoppable flights of the target stand cluster have been allocated, step 304 is returned to select the next stand cluster for processing.

[0124] 306. Construct a heterogeneous graph.

[0125] 307. Select a target pairing scheme according to the heterogeneous graph.

[0126] Specifically, a flight-stand heterogeneous graph G=(V, E, W) is constructed, where the node (vertex) set V is a feasible pairing scheme, i.e., a (flight, stand) tuple, and the edge set E represents the non-conflict between two pairing schemes. Based on the degree of adaptation between the flight and the stand in the pairing scheme, the attributes of the node include the priority of the pairing scheme, and the attributes of the edge include the weight W, which is used to indicate the sum of the priorities of the pairing schemes at both ends of the edge.

[0127] The priority of the pairing scheme is determined by one or more of the following:

[0128] Whether the stand in the pairing scheme is close to the terminal bridge;

[0129] Whether the stand in the pairing scheme belongs to the preferred stand of the flight in the pairing scheme;

[0130] The distance between the stand in the pairing scheme and the boarding gate; or

[0131] Ground service facilities of the stand in the pairing scheme, such as unloading tools required by cargo planes, etc.

[0132] In this application, selecting a target pairing scheme from the heterogeneous graph includes using a heuristic algorithm and using a reinforcement learning model.

[0133] For example, the heuristic algorithm first selects a stand with the largest cumulative preference (weight), determines a target pairing scheme based on the target stand, and the target pairing scheme includes the target stand. It can also be understood that after the target stand is determined, the stoppable flights of the target stand are sorted according to preference, and the flights with higher preference are selected for matching in turn.

[0134] For example, the reinforcement learning model is used to select a target pairing scheme, which specifically models the stand allocation problem as a reinforcement learning problem, where the stand allocation model is modeled as an agent in reinforcement learning, the state is the feasible region of the current stand (or the feasible region of the flight) and the heterogeneous graph, the action is at least one selected pairing scheme, the reward is the cumulative weight of the current result, and the environment is to perform stand constraint checking according to the current result and output the next state.

[0135] Next, taking the heuristic algorithm as an example, a target pairing scheme is selected from the heterogeneous graph. Examples 1 to 4 are executed in order.

[0136] Example 1, select stand cluster 2 to construct the corresponding heterogeneous graph.

[0137] The stand in stand cluster 2 is only one "stand S5", and the stoppable flight of stand cluster 2 is also only one "flight F3". Therefore, the heterogeneous graph corresponding to stand cluster 2 has only one node 1 (F3, S5). The finally selected target pairing scheme is "flight F3-stand S5".

[0138] The stoppable flights of the position cluster 2 are assigned, the feasible region is updated, and the remaining flights to be assigned are “F1, F2, F4, F5, F6”.

[0139] In Example 2, the judgment flow from step 303 to step 305 is re-executed, and the position cluster 4 is selected to construct the corresponding heterogeneous graph.

[0140] Among the stoppable flights of the position cluster 4, the time of “Flight F5” and “Flight F6” staying at the target airport does not overlap, and they can be parked at “Position S7” and “Position S8” at the same time. Neither “Position S9” nor “Position S10” has a stoppable flight, although there is a taxi conflict between “Position S7” and “Position S8”, but “Flight F5” and “Flight F6” do not have a conflict in taxi-in time and / or taxi-out time. Therefore, the heterogeneous graph corresponding to the position cluster 4 is as shown in FIG. 5. It includes four pairing schemes (nodes), which are node 2 (F5, S7), node 3 (F5, S8), node 4 (F6, S7), and node 5 (F6, S8), and four edges, which are edge 1 (node 2-node 4), edge 2 (node 3-node 5), edge 3 (node 2-node 5), and edge 4 (node 3-node 4). Except for the uniqueness constraint that the same flight cannot be parked at different positions at the same time (i.e., there cannot be an edge between node 2 and node 3, and there cannot be an edge between node 4 and node 5), the nodes are connected to each other by edges.

[0141] In a possible implementation, the weight of edge 1 is W1, the weight of edge 2 is W2, the weight of edge 3 is W3, and the weight of edge 4 is W4. Among them, the size of the weight is W1>W2>W3>W4.

[0142] The flow of the heuristic algorithm first determines the position with the maximum cumulative weight. As shown in FIG. 5, the weights associated with position S7 are W1, W3, and W4, and the weights associated with position S8 are W2, W3, and W4, so position S7 is the position with the highest cumulative weight in position cluster 4 (W1+W3+W4>W2+W3+W4).

[0143] Then, the feasible flights (i.e., pairing schemes in the heterogeneous graph) of this position S7 are sorted in descending order of preference, and are assigned in turn. For example, flights F5 and F6 are sorted. The preference of node 2 where flight F5 is located is W1+W3, and the preference of node 3 where flight F6 is located is W1+W4, so flight F5, i.e., the pairing scheme of node 2, is preferentially selected. Then, the pairing scheme of node 4 associated with node 2 and having the highest weight (W1) is selected. The finally selected target pairing scheme is “Flight F5-Position S7” and “Flight F6-Position S7”.

[0144] The stoppable flight allocation of the position cluster 4 is completed, the feasible region is updated, and the remaining stoppable flights are F1, F2 and F4.

[0145] It should be understood that in actual applications, the number of positions included in the position cluster and the number of stoppable flights can be large, resulting in a relatively large number of nodes and edges in the constructed heterogeneous graph. When a heuristic algorithm is used to select a target pairing scheme, each selection can affect the selection of subsequent flights, so the impact of the current selection on subsequent pairing is predicted when the selection is made, thereby more accurately determining the final target pairing strategy.

[0146] Example 3: The judgment process from step 303 to step 305 is re-executed, and the position cluster 3 is selected to construct a corresponding heterogeneous graph.

[0147] It should be noted that since the flight F3 has been allocated to the position S5, the number of stoppable flights of the position cluster 1 is the same as that of the position cluster 3, which is 3. One of the position clusters can be randomly selected for processing, or the position cluster with fewer positions can be selected for processing. In this application, the position cluster 3 is selected.

[0148] The position in the position cluster 3 is only one position S6, and the stoppable flights of the position cluster 3 include flights F1, F2 and F4. Since the stay time of flights F1, F2 and F4 at the target airport overlaps each other, the three flights cannot be stopped at the same position at the same time. The heterogeneous graph corresponding to the position cluster 3 is shown in FIG. 5, which includes three pairing schemes (nodes), which are node 6 (F1, S6), node 7 (F2, S6) and node 8 (F4, S6). There is no edge connection between the nodes.

[0149] If there is no weight value of the edge for comparison, a pairing scheme of a node is randomly selected from the three nodes as the target pairing scheme.

[0150] For example, the pairing scheme of node 6 is selected as the target pairing scheme. That is, the final selected target pairing scheme is flight F1-position S6.

[0151] The stoppable flight allocation of the position cluster 3 is completed, the feasible region is updated, and the remaining stoppable flights are F2 and F4.

[0152] Example 4: The judgment process from step 303 to step 305 is re-executed, and the position cluster 1 is selected to construct a corresponding heterogeneous graph.

[0153] At this time, the only flights to be allocated are "Flight F2" and "Flight F4", of which "Flight F2" can be parked at "Stand S1", "Stand S2" or "Stand S3", and "Flight F4" can only be parked at "Stand S4". Since there is a taxi conflict between "Stand S3" and "Stand S4", and the taxi-in time of "Flight F2" and "Flight F4" is both "2:00", there is a taxi conflict between the pairing scheme (Flight F2-Stand S3) and the pairing scheme (Flight F4-Stand S4). Since the time of "Flight F1", "Flight F2" and "Flight F4" staying at the target airport overlaps each other, the three flights cannot be parked at the same stand at the same time. The heterogeneous graph corresponding to the stand cluster 1 is shown in FIG. 5, which includes four pairing schemes (nodes), namely node 9 (F2, S1), node 10 (F2, S2), node 11 (F2, S3) and node 12 (F4, S4), and two edges, namely edge 5 (node 9-node 12) and edge 6 (node 10-node 12).

[0154] In a possible implementation, the weight of edge 5 is W5 and the weight of edge 6 is W6. Wherein, the weight satisfies W5>W6.

[0155] The flow of the heuristic algorithm selects the pairing scheme of node 9 and node 12 as the target pairing scheme. That is, the finally selected target pairing scheme is "Flight F2-Stand S1" and "Flight F4-Stand S4". The specific calculation process is similar to the foregoing example 2, and will not be described here.

[0156] The stand cluster 1 ends the allocation of the parkable flights, and the feasible region is updated. At this time, there is no flight to be allocated. Step 308 is executed.

[0157] 308. Obtain the first allocation strategy.

[0158] If the parkable flights (feasible region) of all stand clusters are empty sets, it means that all flights have been allocated according to the given conditions, or there is no new flight that meets the conditions and can be allocated to any cluster. Therefore, the allocation process can be considered as ended.

[0159] In the present application, for the parking rules between flights and stands, the stand allocation model of the heterogeneous graph is constructed, avoiding complex mathematical programming problem constraints, and realizing more efficient relationship expression. Converting the allocation rules of the airport into nodes and edges in the heterogeneous graph can reduce the problem complexity and improve the solving efficiency, and the optimal pairing scheme can be quickly obtained. The resource allocation method provided in the embodiments of the present application is not limited by the rules of the airport, and is suitable for dynamic change rules of the same airport and individualized rules of different airports, and can be generalized to various different airport environments.

[0160] By constructing a position allocation model of the heterogeneous graph, the model uses the weight of the edge in the heterogeneous graph to reflect the priority of the matching scheme, and comprehensively considers the actual operation of the airport, improves the corridor bridge turnover rate and the bridge rate, improves the passenger experience, reduces the aircraft taxi conflict, and improves the ground operation efficiency. The test results of the position allocation model show that the algorithm calculation time is controlled within 30 seconds, the bridge rate is improved by more than 3 percentage points, the bridge rate of the high position operation scene can still be improved by more than 1 percentage point, and more than 30 pairs of flights are reduced by manual allocation.

[0161] In addition, the applicant also found that the current allocation rules are closely dependent on the specific data of each airport, and lack a unified rule framework independent of the data of each airport. When the allocation rules change, a new solution idea needs to be designed or the algorithm code needs to be modified, and the algorithm is difficult to quickly promote to other airports.

[0162] Based on this, the embodiment of the application also provides a configuration data rule, which defines the data structure of the input airport data.

[0163] Specifically, based on the data definition and storage format of the configuration file, the original input data such as flight information and position rule information in the foregoing embodiments are mapped to integer indexes or Boolean vectors through hash mapping, and the value range of the related fields is extracted according to the configuration file and is re-hashed to ensure that data fields with the same business meaning share the same value range.

[0164] For example, the overlap site rule is used to indicate that the positions of the positions are adjacent, and the taxi-in and / or taxi-out time of the parked flight needs to be separated, and there cannot be overlap or too short interval (for example, within 10 minutes) to avoid taxi conflict. For another example, the position rule information includes the scatter site rule, which is used to indicate that the flights are parked in different areas of the position. In particular, flights with the same destination airport require them to be allocated to non-adjacent positions for parking, which is beneficial to disperse and alleviate the passenger flow in the waiting hall. In practical applications, the position rule information can include other more specific rules, such as the priority site rule indicating the preferred position of the target airport, and the like, which are not limited by the application.

[0165] For example, the data fields and specific meanings defined by the configuration file, and the corresponding storage format (data type) are shown in Table 5 as follows:

[0166] Table 5

[0167] In practical application, the configuration file also defines information such as departure time of a flight, airline company to which the flight belongs, size of a gate, etc., which are not limited here.

[0168] In a possible implementation manner, the airport data (flight information and allocation rules) are input in the form of multiple different data tables, and the value ranges (data types) of data fields with the same business meaning in different data tables are the same.

[0169] For example, the flight planning table (plannings) includes a data field "craft_model_type" representing the type of a flight, and the airport allocation rules table (rules) includes a data field "craft_type" representing the type of a flight to which a gate is adapted. From the business perspective, the meanings represented by the two fields are the same, and indicate the same concept. Therefore, the value ranges of the two data fields plannings.craft_model_type and rules.craft_type are the same.

[0170] In the present application, the storage, analysis and verification mechanisms of rules are enhanced, so that an airport can quickly introduce new rules and flexibly adjust existing rules, thereby accelerating the rapid migration and deployment of a gate allocation system between different airports. Meanwhile, the independence of airport data analysis and data definition is realized, and the rapid adaptability and expansibility of gate rules data of different airports are promoted.

[0171] As shown in FIG. 6, FIG. 6 is a business flowchart of a gate allocation model provided by an embodiment of the present application. First, a gate commander inputs the flight information and gate rule information of an airport and the like according to the prescribed data configuration rules (rule structure), and an intelligent allocation module (i.e., a gate allocation model) outputs a gate allocation result (i.e., the first allocation strategy) through calculation after obtaining the data, and publishes the gate allocation result to a gate dispatcher, so as to schedule a plane to slide into and out of a corresponding parking gate. The gate dispatcher can manually modify the gate allocation result after obtaining the gate allocation result, for example, a flight that is still not successfully matched after being processed by the gate allocation model, or a flight that is judged by the gate dispatcher as inappropriate, and re-allocates the flight.

[0172] For example, the configuration file defines the data definition and storage format of required data, and a gate commander inputs the data (flight information and allocation rules) of an airport into a gate allocation system according to the configuration file.

[0173] In an alternative implementation, the resource allocation method provided by the present application is applied to an airport stand allocation system. Referring to FIG. 7, which is a schematic diagram of a stand allocation system. A stand dispatcher accesses the stand allocation system, and uses the flight information (dynamic flight plan), stand dynamic information and other data integrated into the system, and configures allocation rules and parameters through a front-end interface, clicks to run and calls the intelligent allocation algorithm service, the result of the algorithm solution is returned to the specified module, and after data post-processing conversion, the stand allocation result is written back and published. The result can be further presented to the stand dispatcher in the form of a Gantt chart.

[0174] In a possible implementation, as shown in FIG. 8, the stand allocation result is output through a Gantt chart, which includes "Flight F3-Stand S5", "Flight F5-Stand S7", "Flight F6-Stand S7", "Flight F1-Stand S6", "Flight F2-Stand S1" and "Flight F4-Stand S4". The allocation result is presented to the stand dispatcher, and the aircraft is further scheduled to slide into and out of the stand.

[0175] In a possible implementation, a reinforcement learning algorithm is used to process the heterogeneous graph to obtain the final allocation result.

[0176] For example, the modeling of the reinforcement learning model includes an agent, a state, an action, a reward and an environment. Next, they will be introduced one by one:

[0177] Agent: The allocation model is modeled as an agent in reinforcement learning. The task of the agent is to learn how to make the best decision (i.e., choose which stand and flight order list) based on the current state.

[0178] State: The feasible region of the current flight and the flight-stand heterogeneous graph. This means that the agent needs to understand which flights need to be allocated to the stand, and the relationship between these flights and the stand

[0179] Action: Select the target pairing scheme in the heterogeneous graph. That is, the agent needs to decide which flights should be allocated to which stand, and needs to decide the order of processing these flights.

[0180] Reward: The cumulative preference of the current allocation. Based on the weight of the edge in the heterogeneous graph, the goal of the agent is to maximize the cumulative weight, i.e., to find a way of allocation that maximizes the interests of all parties involved.

[0181] Environment: Perform seat constraint checking according to the current allocation and output the next state. The environment is responsible for verifying whether the agent's decision meets all the constraint conditions (such as the size, position, time limit of the seat, etc.), and updates the state according to the current allocation, providing the basis for the agent's next decision.

[0182] Please refer to FIG. 9, which is a running schematic diagram of the reinforcement learning algorithm for seat allocation. The main work is divided into two stages: model training and model testing (reasoning). In combination with the seat allocation system of FIG. 7, the training stage aims to train the seat allocation model offline according to the historical flight plans of the airport operation database AODB, allocation rules, seat types, etc. The training process includes data organization and association, rule system architecture and verification, allocation on the flight-seat heterogeneous graph, model training, etc. The trained allocation model is used in the testing stage to optimize the problem instances with the same distribution in real time, i.e., the flight plan data of the flight information management system FIMS. The optimized seat allocation results are transmitted back and stored in the flight information management system FIMS, and then further transmitted to the airport collaborative decision system, etc.

[0183] The above describes the method provided by the embodiments of the present application in detail. Next, a device for executing the above method provided by the embodiments of the present application will be introduced.

[0184] Please refer to FIG. 10, which is a structural schematic diagram of a resource allocation device 1000 provided by the embodiments of the present application. As shown in FIG. 10, the device includes:

[0185] The obtaining module 1001 is configured to obtain flight information and seat rule information of a target airport, the target airport including multiple seats, the flight information being used to indicate multiple flights to be parked at the target airport, and the seat rule information including parking rules of the multiple seats.

[0186] The processing module 1002 is configured to construct N heterogeneous graphs according to the flight information and the seat rule information, each heterogeneous graph corresponding to a seat cluster, the seat cluster including at least one seat, and N being a positive integer greater than 1.

[0187] Each heterogeneous graph includes multiple nodes connected by edges, each node being used to represent a pairing scheme, the pairing scheme including a first seat and a first flight, the first seat being one seat in the seat cluster corresponding to the heterogeneous graph, and the first flight being one flight satisfying the parking rule of the first seat, and each edge being used to represent that there is no conflict relationship between the pairing schemes at both ends of the edge.

[0188] The processing module 1002 is further configured to generate a first allocation strategy according to the N heterogeneous graphs, the first allocation strategy including a parking seat corresponding to each flight in the multiple flights.

[0189] In a possible implementation, the obtaining module 1001 is specifically configured to obtain flight information and stand rule information of a target airport according to a target rule, the target rule including a plurality of data fields and a data type of each data field, the plurality of data fields including a data field of the flight information and a data field of the stand rule information, and the data types of the data fields with the same business meaning between the plurality of data fields being the same.

[0190] In a possible implementation, the stand rule information includes at least one taxi conflict, the taxi conflict indicating that there is a conflict in taxi-in time and / or taxi-out time between two adjacent stands;

[0191] The processing module 1002 is specifically configured to divide the plurality of stands into N stand clusters according to the at least one taxi conflict, the stands in a same stand cluster having a taxi conflict; determine a set of stoppable flights in each of the N stand clusters according to the flight information and the stand rule information, the flights in the set of stoppable flights in each stand cluster being the union of the stoppable flights of each stand in the stand cluster; and construct a heterogeneous graph of each stand cluster according to the N stand clusters and the set of stoppable flights in each stand cluster.

[0192] In a possible implementation, the processing module 1002 is specifically configured to divide the plurality of flights into M first flight sets according to the flight information, the stand matching constraints of the flights in each first flight set being the same, M being a positive integer greater than 1; divide the plurality of stands into K first stand sets according to the stop rules of the stands, the stop rules of the stands in each first stand set being the same, K being a positive integer greater than 1; generate a first matching matrix, the plurality of elements in each row of the first matching matrix being the matching results of a first flight set and each first stand set in the K first stand sets, and the first flight set in each row being different; and obtain the stoppable flights of each stand and the set of stoppable flights in each of the N stand clusters based on the first matching matrix.

[0193] In a possible implementation, the attribute of the node includes a priority of the pairing scheme, and the attribute of the edge includes a weight, the weight indicating a sum of the priorities of the pairing schemes at two ends of the edge.

[0194] The processing module 1002 is specifically configured to sequentially select a target pairing scheme from the heterogeneous graph corresponding to a target stand cluster according to a first sequence, the first sequence being obtained based on the number of flights in the set of stoppable flights in the N stand clusters from small to large, the target stand cluster being the stand cluster with the least number of flights in the first sequence, and the target pairing scheme being at least two pairing schemes or one pairing scheme with the highest cumulative weight in the heterogeneous graph corresponding to the target stand cluster.

[0195] In a possible implementation, the processing module 1002 is specifically configured to select a target position with the highest cumulative weight from the heterogeneous graph corresponding to the target position cluster; and determine a target pairing scheme based on the target position, where the target pairing scheme includes the target position.

[0196] In a possible implementation, the processing module 1002 is specifically configured to obtain the target pairing scheme according to the heterogeneous graph corresponding to the target position cluster, by using a reinforcement learning model, where a reward of the reinforcement learning model is a cumulative weight of the allocation result.

[0197] In a possible implementation, the priority of the pairing scheme is determined by one or more of the following:

[0198] Whether the first position is close to a corridor bridge;

[0199] Whether the first position is a preferred position of the first flight;

[0200] A distance between the first position and the boarding gate; or

[0201] Ground service facilities of the first position.

[0202] Embodiments of the present application also relate to an execution device. FIG. 11 is a structural schematic diagram of an execution device according to an embodiment of the present application. As shown in FIG. 11, the execution device 1100 can be a tablet, a notebook computer, a server, etc., which is not limited here. The execution device 1100 can be deployed with the position allocation system described in the embodiment corresponding to FIG. 7, to implement the resource allocation method in the embodiment corresponding to FIG. 3. Specifically, the execution device 1100 includes a receiver 1110, a transmitter 1120, a processor 1130, and a memory 1140 (wherein the number of processors 1130 in the execution device 1100 can be one or more, and one processor is taken as an example in FIG. 11), wherein the processor 1130 can include an application processor 1131 and a communication processor 1132. In some embodiments of the present application, the receiver 1110, the transmitter 1120, the processor 1130, and the memory 1140 can be connected through a bus or other means.

[0203] The memory 1140 can include a read-only memory and a random access memory, and provide the processor 1130 with instructions and data. A part of the memory 1140 can also include a non-volatile random access memory (NVRAM). The memory 1140 stores processor and operation instructions, executable modules or data structures, or subsets thereof, or expanded sets thereof, wherein the operation instructions can include various operation instructions for implementing various operations.

[0204] The processor 1130 controls the operation of the execution device. In a specific application, various components of the execution device are coupled together by a bus system, which can include a data bus, a power bus, a control bus, and a state signal bus, etc. However, for the sake of clarity, various buses are referred to as a bus system in the figure.

[0205] The method disclosed in the embodiments of the present application can be applied to or implemented by the processor 1130. The processor 1130 can be an integrated circuit chip having a signal processing capability. In the implementation process, the steps of the above method can be completed by hardware integrated logic circuits in the processor 1130 or by instructions in the form of software. The processor 1130 described above can be a general processor, a digital signal processor (DSP), a microprocessor or a microcontroller. It can further include an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The processor 1130 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium in the art. The storage medium is located in the memory 1140, and the processor 1130 reads the information in the memory 1140 and combines the hardware to complete the steps of the above method.

[0206] The receiver 1110 can be used to receive input digital or character information, and generate signal input related to the relevant settings and function control of the execution device. The transmitter 1120 can be used to output digital or character information through the first interface; the transmitter 1120 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; the transmitter 1120 can also include a display device such as a display screen.

[0207] Embodiments of the present application also relate to a training device. FIG. 12 is a structural schematic diagram of a training device according to an embodiment of the present application. As shown in FIG. 12, the training device 1200 is implemented by one or more servers. The training device 1200 can be quite different in configuration or performance, and can include one or more central processing units (CPUs) 1214 (e.g., one or more processors) and a memory 1232, and one or more storage media 1230 (e.g., one or more mass storage devices) storing application programs 1242 or data 1244. The memory 1232 and the storage media 1230 can be temporary or persistent storage. The programs stored in the storage media 1230 can include one or more modules (not shown in the figure), each of which can include a series of instruction operations in the training device. Further, the central processing unit 1214 can be configured to communicate with the storage media 1230 and execute the series of instruction operations in the storage media 1230 on the training device 1200.

[0208] In a possible implementation, the processor used can also be a graphics processing unit (GPU).

[0209] The training device 1200 can also include one or more power supplies 1226, one or more wired or wireless network interfaces 1250, one or more input / output interfaces 1258, or one or more operating systems 1241, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0210] Specifically, the training device can execute the model training method in the embodiment corresponding to FIG. 9, so as to obtain the camera position allocation model.

[0211] Embodiments of the present application also relate to a computer storage medium, which stores a program for signal processing. When the program is run on a computer, the computer executes the steps performed by the foregoing execution device, or the computer executes the steps performed by the foregoing training device.

[0212] Embodiments of the present application also relate to a computer program product, which stores instructions. When the instructions are executed by a computer, the computer executes the steps performed by the foregoing execution device, or the computer executes the steps performed by the foregoing training device.

[0213] The execution device, the training device or the terminal device provided in the embodiments of the present application can specifically be a chip, which comprises a processing unit, for example, a processor, and a communication unit, for example, an input / output interface, a pin or a circuit, etc. The processing unit can execute computer execution instructions stored in a storage unit, so that the chip in the execution device executes the data processing method described in the above embodiments, or so that the chip in the training device executes the data processing method described in the above embodiments. Alternatively, the storage unit is a storage unit in the chip, such as a register, a cache, etc., and the storage unit can also be a storage unit outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.

[0214] Specifically, please refer to FIG. 13, which is a structural schematic diagram of a chip provided in the embodiments of the present application. The chip can be represented as a neural network processor NPU 1300, which is mounted on a host CPU (Host CPU) as a coprocessor and is assigned tasks by the Host CPU. The core part of the NPU is an operation circuit 1303, which extracts matrix data in a memory and performs multiplication operation under the control of a controller 1304.

[0215] In some implementations, the operation circuit 1303 internally includes a plurality of processing units (PEs). In some implementations, the operation circuit 1303 is a two-dimensional systolic array. The operation circuit 1303 can also be a one-dimensional systolic array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the operation circuit 1303 is a general-purpose matrix processor.

[0216] For example, it is assumed that there are an input matrix A, a weight matrix B and an output matrix C. The operation circuit takes corresponding data of the matrix B from the weight memory 1302 and caches it on each PE in the operation circuit. The operation circuit takes the matrix A data from the input memory 1301 and performs matrix operation with the matrix B, and the partial result or final result of the obtained matrix is saved in an accumulator 1308.

[0217] The unified memory 1306 is used to store input data and output data. The weight data is transferred to the weight memory 1302 through a direct memory access controller (DMAC) 1305. The input data is also transferred to the unified memory 1306 through the DMAC.

[0218] BIU for Bus Interface Unit, i.e., Bus Interface Unit 1313, is used for the interaction between AXI bus and DMAC and instruction fetch buffer (IFB) 1309.

[0219] Bus Interface Unit 1313 (Bus Interface Unit, referred to as BIU) is used for instruction fetch buffer 1309 to obtain instructions from external memory, and also used for storage unit access controller 1305 to obtain original data of input matrix A or weight matrix B from external memory.

[0220] DMAC is mainly used to carry input data in external memory DDR to unified memory 1306, or to carry weight data to weight memory 1302, or to carry input data to input memory 1301.

[0221] Vector calculation unit 1307 includes a plurality of operation processing units, which further process the output of operation circuit 1303 as needed, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. It is mainly used for non-convolution / full connection layer network calculation in neural network, such as batch normalization, pixel-level summation, upsampling of prediction label plane, etc.

[0222] In some implementations, vector calculation unit 1307 can store the processed output vector to unified memory 1306. For example, vector calculation unit 1307 can apply a linear function; or, a nonlinear function to the output of operation circuit 1303, such as linear interpolation on the prediction label plane extracted by the convolution layer, and further, for example, a vector of accumulated values to generate activation values. In some implementations, vector calculation unit 1307 generates normalized values, pixel-level summation values, or both. In some implementations, the processed output vector can be used as an activation input to operation circuit 1303, for example, for use in subsequent layers in the neural network.

[0223] Controller 1304 is connected to instruction fetch buffer 1309, which is used to store instructions used by controller 1304;

[0224] Unified memory 1306, input memory 1301, weight memory 1302, and instruction fetch buffer 1309 are all on-chip memories. The external memory is private to the NPU hardware architecture.

[0225] The processor mentioned in any of the above can be a general central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling execution of the above programs.

[0226] It should be noted that the above-described apparatus embodiments are merely illustrative, and the units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e., they can be located in one place or distributed on multiple network units. Some or all of the modules can be selected to achieve the purpose of the embodiment according to actual needs. In addition, the connection relationship between the modules in the apparatus embodiments provided in the present application indicates that there is a communication connection between them, which can be implemented as one or more communication buses or signal lines.

[0227] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software and the necessary general hardware, and of course it can also be implemented by special hardware including special integrated circuits, special CPUs, special GPUs, special memories, special components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure for implementing the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better embodiment. Based on this understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including a plurality of instructions for making a computer device (which can be a personal computer, a training device, or a network device, etc.) execute the methods described in various embodiments of the present application.

[0228] In the above embodiments, all or part can be realized by software, hardware, firmware or any combination thereof. When realized by software, it can be realized in the form of a computer program product in whole or in part.

[0229] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from one website, computer, training device or data center to another website, computer, training device or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be stored by the computer or a data storage device such as a training device, a data center, etc. integrated with one or more available media sets. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

Claims

1. A resource allocation method, characterized by, The method comprises the following steps: obtaining flight information and stand rule information of a target airport, the target airport comprising a plurality of stands, the flight information being used to indicate a plurality of flights to be parked at the target airport, and the stand rule information being used to represent parking rules of the plurality of stands; constructing N heterogeneous graphs according to the flight information and the stand rule information, each of the heterogeneous graphs corresponding to a stand cluster, the stand cluster comprising at least one stand, and N being a positive integer greater than 1; each of the heterogeneous graphs comprising a plurality of nodes connected by edges, each of the nodes being used to represent a pairing scheme, the pairing scheme comprising a first stand and a first flight, the first stand being one of the stands in the stand cluster corresponding to the heterogeneous graph, and the first flight being one of the flights satisfying the parking rule of the first stand, and each of the edges being used to represent that there is no conflict relationship between the pairing schemes at both ends of the edge; generating a first allocation strategy according to the N heterogeneous graphs, the first allocation strategy comprising a parking stand corresponding to each of the flights.

2. The method of claim 1, wherein, The method comprises the following steps: obtaining flight information and stand rule information of a target airport according to target rules, the target rules comprising a plurality of data fields and a data type of each of the data fields, the plurality of data fields comprising data fields of the flight information and data fields of the stand rule information, and the data types of the data fields with the same business meaning being the same.

3. The method according to claim 1 or 2, characterized in that, The stand rule information comprises at least one taxi conflict, the taxi conflict indicating that two adjacent stands have a conflict in flight taxi-in time and / or flight taxi-out time; The method comprises the following steps: dividing the plurality of stands into the N stand clusters according to the at least one taxi conflict, the stands in the same stand cluster having the taxi conflict; determining a set of parkable flights of each of the N stand clusters according to the flight information and the stand rule information, the flights in the set of parkable flights of each of the stand clusters being the union of the parkable flights of the stands in the stand cluster; constructing a heterogeneous graph of each of the stand clusters according to the N stand clusters and the set of parkable flights of each of the stand clusters.

4. The method of claim 3, wherein, The method comprises the following steps: dividing the plurality of flights into M first flight sets according to the flight information, the stand matching constraints of the flights in each of the first flight sets being the same, and M being a positive integer greater than 1; dividing the plurality of stands into K first stand sets according to the parking rules of the plurality of stands, the parking rules of the stands in each of the first stand sets being the same, and K being a positive integer greater than 1; generate a first matching matrix, each row of the first matching matrix comprising a plurality of elements respectively representing a matching result of a first flight set and each of K first stand sets, and the first flight set of each row being different; obtain, based on the first matching matrix, the stoppable flights of each stand and the stoppable flight set of each stand cluster in the N stand clusters.

5. The method according to claim 3 or 4, characterized in that, The attributes of the nodes include the priorities of the pairing schemes, and the attributes of the edges include weights, the weights indicating the sum of the priorities of the pairing schemes at both ends of the edges; The first allocation strategy is generated according to the N heterogeneous graphs, including: According to a first sequence, sequentially select a target pairing scheme from the heterogeneous graph corresponding to a target stand cluster, the first sequence being obtained by sorting the number of flights in the stoppable flight set of the N stand clusters from small to large, the target stand cluster being the stand cluster with the smallest number of flights in the first sequence, and the target pairing scheme being at least two pairing schemes or one pairing scheme with the highest cumulative weight in the heterogeneous graph corresponding to the target stand cluster.

6. The method of claim 5, wherein, The sequentially selecting a target pairing scheme from the heterogeneous graph corresponding to a target stand cluster includes: Selecting a target stand with the highest cumulative weight from the heterogeneous graph corresponding to the target stand cluster; Determining the target pairing scheme based on the target stand, the target pairing scheme including the target stand.

7. The method of claim 5, wherein, The sequentially selecting a target pairing scheme from the heterogeneous graph corresponding to a target stand cluster includes: According to the heterogeneous graph corresponding to the target stand cluster, obtaining the target pairing scheme through a reinforcement learning model, the reward of the reinforcement learning model being the cumulative weight of the allocation result.

8. The method according to any one of claims 5-7, characterized in that, The priority of the pairing scheme is determined by one or more of the following: Whether the first stand is near a terminal bridge; Whether the first stand belongs to the preferred stand of the first flight; The distance between the first stand and the boarding gate; or The ground service facilities of the first stand.

9. A resource allocation apparatus characterized by comprising: It includes: An acquisition module is configured to obtain flight information and stand rule information of a target airport, the target airport including a plurality of stands, the flight information being used to indicate a plurality of flights to be parked at the target airport, and the stand rule information including parking rules of the plurality of stands; A processing module is configured to construct N heterogeneous graphs according to the flight information and the stand rule information, each of the heterogeneous graphs corresponding to a stand cluster, the stand cluster including at least one stand, and N being a positive integer greater than 1; Each of the heterogeneous graphs includes a plurality of nodes connected by edges, each of the nodes is used to represent a pairing scheme, the pairing scheme including a first stand and a first flight, the first stand being one of the stands in the stand cluster corresponding to the heterogeneous graph, and the first flight being one flight satisfying the parking rule of the first stand, and each of the edges is used to represent that there is no conflict relationship between the pairing schemes at both ends of the edge. The processing module is further configured to generate a first allocation strategy according to the N heterogeneous graphs, the first allocation strategy including a parking stand corresponding to each of the plurality of flights.

10. The apparatus of claim 9, wherein, The acquisition module is specifically configured to: acquire flight information and gate rule information of a target airport according to a target rule, the target rule comprising a plurality of data fields and a data type of each data field, the plurality of data fields comprising a data field of the flight information and a data field of the gate rule information, and the data types of the data fields with the same business meaning being the same.

11. A computer storage medium, characterized in that The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the operations of the method of any one of claims 1-8.

12. A computer program product, characterised in that, Computer-readable instructions are included, which, when run on a computer device, cause the computer device to perform the method of any one of claims 1-8.

13. A system, characterized by The processor, the memory are connected through a communication bus and complete mutual communication. The at least one memory is configured to store code. The at least one processor is configured to execute the code to perform the method of any one of claims 1-8.

14. A chip, characterized by The at least one processing unit and the interface circuit are included, the interface circuit is configured to provide program instructions or data for the at least one processing unit, and the at least one processing unit is configured to execute the program instructions to implement the method of any one of claims 1-8.

Citation Information

Patent Citations

  • Automatic seat distributing method adapting to flight schedule abnormity

    CN107578159A

  • Gate position distribution method and device and terminal equipment

    CN111047915A

  • Recommendation method and system based on adaptive dynamic knowledge graph in heterogeneous network

    CN115329215A

  • Airport gate position distribution method and device, electronic equipment and storage medium

    CN116029534A

  • Higher-Order Graph Clustering

    US20200342006A1