A method and device for predicting typhoon and adjusting flight
By using pre-trained typhoon trajectory prediction models and genetic algorithms, flight routes are dynamically adjusted to avoid the impact of typhoons, and the problem of difficult prediction and response to the impact of typhoons on air transportation is solved, achieving efficient optimization and safety guarantee of flight scheduling.
Patent Information
- Application Number
- CN202510227883.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-28
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2045-02-28
AI Technical Summary
The impact of typhoons on air transportation is intensifying year by year. It is difficult for existing technology to effectively predict the trajectory and scope of impact of typhoons, resulting in difficulty in timely adjustment of flight scheduling, increasing safety hazards and economic losses.
By obtaining the current trajectory characteristics of the current trajectory point of the typhoon to be predicted and the flight information data in the flight plan, the pre-trained typhoon trajectory prediction model outputs the predicted trajectory characteristics, combined with the genetic algorithm, optimize the flight plan, and dynamically adjust the flight route to avoid the impact of the typhoon.
Accurate prediction of typhoon trajectory and dynamic optimization of flight scheduling have been achieved, timeliness and accuracy of flight adjustments have been improved, and safety hazards and economic losses caused by extreme weather have been reduced.
Smart Images

Figure CN119721656B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data prediction, and in particular to a method and device for predicting typhoon-adjusted flights. Background Art
[0002] At present, global climate change has led to frequent extreme weather events. Typhoons are one of the most serious natural disasters and are prone to cause tsunamis, floods and other secondary disasters, resulting in heavy casualties and huge economic losses. The impact of typhoons on air transportation has intensified year by year. Therefore, it is necessary to predict typhoons, which has important application value and research significance, so that flights can be adjusted to avoid danger in advance and reduce losses. Therefore, it is necessary to predict typhoons and optimize flight scheduling through predicted typhoons to ensure flight safety. Summary of the invention
[0003] Based on this, it is necessary to provide a method and device for predicting typhoons and adjusting flights in response to the above technical problems.
[0004] In a first aspect, a method for predicting typhoon-adjusted flights is provided, the method comprising:
[0005] Acquire the current track characteristics of the current track point of the to-be-forecasted typhoon and the flight information data of multiple flights in the flight plan;
[0006] Inputting the current trajectory feature into a pre-trained typhoon trajectory prediction model, and outputting a predicted trajectory feature corresponding to at least one trajectory point of the typhoon to be predicted;
[0007] Determine whether each of the flights will be affected by the to-be-forecasted typhoon according to the predicted trajectory features and the flight information data, wherein the predicted trajectory features include trajectory point coordinates, trajectory point time, and trajectory point influence radius, and the flight information includes flight path coordinate points and flight path time;
[0008] If there is a flight that will be affected, determining the fitness function of the flight according to the flight information data, delay duration, whether it is cancelled and the predicted trajectory characteristics of the flight;
[0009] According to the fitness function, the flight information and the genetic algorithm, the flight plan of the flight is adjusted to an optimal solution.
[0010] As an optional implementation manner, the determining whether each flight will be affected by the to-be-forecasted typhoon according to the predicted trajectory characteristics and the flight information data includes:
[0011] For any flight, the distance between the flight path coordinate point of the flight and the coordinates of the trajectory point is determined by a great circle distance algorithm;
[0012] If the distance is less than the influence radius of the trajectory point, the trajectory point time is compared with the flight path time. If the time difference between the trajectory point time and the flight path time is less than a first preset duration threshold, it is determined that the flight will be affected by the typhoon to be predicted.
[0013] As an optional implementation manner, determining the fitness function of the flight according to the flight information data, delay duration, whether the flight is cancelled, and the predicted trajectory characteristics of the flight includes:
[0014] Determine the distance score, time overlap score and intensity score of the typhoon to be predicted of the flight according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration between the trajectory point time and the flight path time of the flight and the trajectory point influence radius;
[0015] Determine the sum of the distance score, the time overlap score and the intensity score as the risk level score of the flight;
[0016] Determine the flight delay score based on the flight delay time and the preset flight delay penalty formula;
[0017] Determine the flight cancellation score based on whether the flight is cancelled and the preset flight cancellation penalty formula;
[0018] The fitness function of the flight is determined according to the risk level score, the delay duration score, and the cancellation score.
[0019] As an optional implementation manner, determining the distance score, time overlap score and intensity score of the typhoon to be predicted of the flight according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration between the trajectory point time and the flight path time of the flight and the trajectory point influence radius includes:
[0020] According to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, query the distance score between the flight and the typhoon to be predicted in the preset distance scoring rules;
[0021] According to the overlap duration of the trajectory point time and the flight path time of the flight, query the time overlap score between the flight and the to-be-forecasted typhoon in the preset time overlap rule;
[0022] In the preset typhoon intensity rules, the intensity score of the typhoon to be predicted corresponding to the influence radius of the trajectory point is queried.
[0023] As an optional implementation manner, determining the fitness function of the flight according to the risk level score, the delay duration score, and the cancellation score includes:
[0024] The sum of the product of the risk level score and the preset risk level weight, the product of the delay time score and the preset delay penalty weight, and the product of the cancellation score and the preset cancellation penalty weight is determined as the fitness function of the flight.
[0025] As an optional implementation, the preset flight delay penalty formula is:
[0026] ;
[0027] Among them, delay_penalty represents the delay time score, and delay_time represents the delay time.
[0028] As an optional implementation, the preset flight cancellation penalty formula is:
[0029] cancellation_penalty=max(0,x=100);
[0030] Among them, cancellation_penalty represents the cancellation score, x represents the flight cancellation, and 0 represents the flight not canceled.
[0031] As an optional implementation, the method further includes:
[0032] Acquire a training sample set, wherein the training sample set includes a plurality of training samples and sample trajectory feature results corresponding to each of the training samples;
[0033] Based on each of the training samples and the sample track feature results corresponding to each of the training samples, the initial typhoon track prediction model is trained to obtain the trained typhoon track prediction model.
[0034] As an optional implementation manner, the initial typhoon track prediction model is trained based on each of the training samples and the sample track feature results corresponding to each of the training samples to obtain the trained typhoon track prediction model, including:
[0035] Inputting each of the training samples into the initial typhoon track prediction model, and outputting the first track feature result corresponding to each of the training samples;
[0036] Determine the average of the absolute values of the differences between each of the first track feature results and the corresponding sample track feature results as the first prediction accuracy of the initial typhoon track prediction model;
[0037] If the first prediction accuracy is greater than or equal to a preset training accuracy threshold, it is determined that the training of the initial typhoon track prediction model is completed;
[0038] If the first prediction accuracy is less than the preset training accuracy threshold, the model parameters of the initial typhoon track prediction model are adjusted, and the steps of inputting each of the training samples into the initial typhoon track prediction model and outputting the first track feature results corresponding to each of the training samples are repeated until the first prediction accuracy of the initial typhoon track prediction model is greater than or equal to the preset training accuracy threshold.
[0039] As an optional implementation, the method further includes:
[0040] Acquire a detection sample set, wherein the detection sample set includes multiple detection samples and detection trajectory feature results corresponding to each of the detection samples;
[0041] Inputting each of the detection samples into the trained initial typhoon track prediction model, and outputting the second track feature results corresponding to each of the detection samples;
[0042] Determine, according to an average of the absolute values of the differences between each of the second track feature results and the corresponding detection track feature results, a second prediction accuracy rate of the trained initial typhoon track prediction model;
[0043] If the second prediction accuracy is greater than or equal to the preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model meets the preset training requirements;
[0044] If the second prediction accuracy is less than the preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model does not meet the preset training requirements.
[0045] As an optional implementation manner, adjusting the flight plan of the flight to an optimal solution according to the fitness function, each flight information and the genetic algorithm includes:
[0046] Multiple flights in the flight plan constitute an initial population;
[0047] Select outstanding individuals from the current population and use genetic operations to generate the next generation population;
[0048] Perform a crossover operation on the individuals in the current population to generate new offspring individuals;
[0049] Perform mutation operations on individuals in the current population to introduce new individual differences;
[0050] Evaluate the quality of each individual based on the fitness function to determine the fitness value of each individual;
[0051] Selecting excellent individuals that meet the constraint conditions from the current population according to the fitness value, and generating the next generation population by genetic operation;
[0052] The process stops when the end condition is met, and the optimal solution output is the optimal solution for the flight plan.
[0053] In a second aspect, a device for predicting typhoons and adjusting flights is provided, the device further comprising:
[0054] A first acquisition module is used to acquire current track characteristics of the current track point of the to-be-forecasted typhoon and flight information data of multiple flights in the flight plan;
[0055] A first output module, used to input the current trajectory feature into a pre-trained typhoon trajectory prediction model, and output a predicted trajectory feature corresponding to at least one trajectory point of the typhoon to be predicted;
[0056] A first determination module is used to determine whether each flight will be affected by the typhoon to be predicted based on the predicted trajectory characteristics and the flight information data, the predicted trajectory characteristics including trajectory point coordinates, trajectory point time and trajectory point influence radius, and the flight information including flight path coordinate points and flight path time;
[0057] A second determination module is used to determine the fitness function of a flight if there is a flight that will be affected, based on the flight information data, delay duration, whether it is cancelled, and the predicted trajectory characteristics of the flight;
[0058] The adjustment module is used to adjust the flight plan of the flight to an optimal plan according to the fitness function, the flight information and the genetic algorithm.
[0059] As an optional implementation manner, the first determining module is specifically configured to:
[0060] For any flight, the distance between the flight path coordinate point of the flight and the coordinates of the trajectory point is determined by a great circle distance algorithm;
[0061] If the distance is less than the influence radius of the trajectory point, the trajectory point time is compared with the flight path time. If the time difference between the trajectory point time and the flight path time is less than a first preset duration threshold, it is determined that the flight will be affected by the typhoon to be predicted.
[0062] As an optional implementation manner, the second determining module is specifically configured to:
[0063] Determine the distance score, time overlap score and intensity score of the typhoon to be predicted of the flight according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration between the trajectory point time and the flight path time of the flight and the trajectory point influence radius;
[0064] Determine the sum of the distance score, the time overlap score and the intensity score as the risk level score of the flight;
[0065] Determine the flight delay score based on the flight delay time and the preset flight delay penalty formula;
[0066] Determine the flight cancellation score based on whether the flight is cancelled and the preset flight cancellation penalty formula;
[0067] The fitness function of the flight is determined according to the risk level score, the delay duration score, and the cancellation score.
[0068] As an optional implementation manner, the second determining module is specifically configured to:
[0069] According to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, query the distance score between the flight and the typhoon to be predicted in the preset distance scoring rules;
[0070] According to the overlap duration of the trajectory point time and the flight path time of the flight, query the time overlap score between the flight and the to-be-forecasted typhoon in the preset time overlap rule;
[0071] In the preset typhoon intensity rules, the intensity score of the typhoon to be predicted corresponding to the influence radius of the trajectory point is queried.
[0072] As an optional implementation manner, the second determining module is specifically configured to:
[0073] The sum of the product of the risk level and the preset risk level weight, the product of the delay duration score and the preset delay penalty weight, and the product of the cancellation score and the preset cancellation penalty weight is determined as the fitness function of the flight.
[0074] As an optional implementation, the device further includes:
[0075] A second acquisition module is used to acquire a training sample set, wherein the training sample set includes a plurality of training samples and sample trajectory feature results corresponding to each of the training samples;
[0076] The first training module is used to train the initial typhoon track prediction model based on each of the training samples and the sample track feature results corresponding to each of the training samples to obtain the trained typhoon track prediction model.
[0077] As an optional implementation manner, the first training module is specifically used to:
[0078] Inputting each of the training samples into the initial typhoon track prediction model, and outputting the first track feature result corresponding to each of the training samples;
[0079] Determine the average of the absolute values of the differences between each of the first track feature results and the corresponding sample track feature results as the first prediction accuracy of the initial typhoon track prediction model;
[0080] If the first prediction accuracy is greater than or equal to a preset training accuracy threshold, it is determined that the training of the initial typhoon track prediction model is completed;
[0081] If the first prediction accuracy is less than the preset training accuracy threshold, the model parameters of the initial typhoon track prediction model are adjusted, and the steps of inputting each of the training samples into the initial typhoon track prediction model and outputting the first track feature results corresponding to each of the training samples are repeated until the first prediction accuracy of the initial typhoon track prediction model is greater than or equal to the preset training accuracy threshold.
[0082] As an optional implementation, the device further includes:
[0083] A third acquisition module is used to acquire a detection sample set, wherein the detection sample set includes multiple detection samples and detection trajectory feature results corresponding to each of the detection samples;
[0084] A second output module is used to input each of the detection samples into the trained initial typhoon track prediction model, and output a second track feature result corresponding to each of the detection samples;
[0085] A third determination module, used to determine a second prediction accuracy rate of the trained initial typhoon track prediction model according to an average value of the absolute value of the difference between each of the second track feature results and the corresponding detection track feature result;
[0086] A comparison module, configured to determine whether the trained initial typhoon track prediction model meets a preset training requirement if the second prediction accuracy is greater than or equal to the preset training accuracy threshold;
[0087] A determination module is used to determine that the trained initial typhoon track prediction model does not meet the preset training requirements if the second prediction accuracy is less than the preset training accuracy threshold.
[0088] As an optional implementation manner, the adjustment module is specifically used to:
[0089] Multiple flights in the flight plan constitute an initial population;
[0090] Select outstanding individuals from the current population and use genetic operations to generate the next generation population;
[0091] Perform a crossover operation on the individuals in the current population to generate new offspring individuals;
[0092] Perform mutation operations on individuals in the current population to introduce new individual differences;
[0093] Evaluate the quality of each individual based on the fitness function to determine the fitness value of each individual;
[0094] Selecting excellent individuals that meet the constraint conditions from the current population according to the fitness value, and generating the next generation population by genetic operation;
[0095] The process stops when the end condition is met, and the optimal solution output is the optimal solution for the flight plan.
[0096] In a third aspect, a computer device is provided, comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, and when the processor executes the computer program, the method steps described in the first aspect are implemented.
[0097] In a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the method steps described in the first aspect are implemented.
[0098] The present application provides a method for predicting typhoons and adjusting flights. The technical solution provided by the embodiments of the present application brings at least the following beneficial effects: predicting the next trajectory point of the predicted typhoon through a typhoon trajectory prediction model, outputting the predicted trajectory features of the trajectory points, and predicting the path of the predicted typhoon. Matching the predicted typhoon path with the flight information determines whether the flight will be affected by the typhoon. If so, flight scheduling is optimized through genetic algorithms to dynamically adjust flight plans, improve the operating efficiency of flight companies, and effectively reduce safety hazards and economic losses caused by extreme weather.
[0099] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0100] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0101] Figure 1 A flowchart of a method for predicting typhoons and adjusting flights provided in an embodiment of the present application;
[0102] Figure 2 A schematic diagram of the structure of a device for predicting typhoons and adjusting flights provided in an embodiment of the present application;
[0103] Figure 3 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0104] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0105] The following will describe in detail a method for predicting typhoons and adjusting flights provided in an embodiment of the present application in conjunction with a specific implementation method. Figure 1 A flowchart of a method for predicting typhoons and adjusting flights provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the specific steps are as follows:
[0106] Step 101 , obtaining current track characteristics of the current track point of the to-be-forecasted typhoon and flight information data of multiple flights in a flight plan.
[0107] In practice, global climate change has led to frequent extreme weather events. Typhoons are one of the most serious natural disasters and are prone to cause tsunamis, floods and other secondary disasters, resulting in heavy casualties and huge economic losses. The impact of typhoons on air transportation has intensified year by year. Therefore, it is necessary to predict typhoons, which has important application value and research significance. Flights can be adjusted according to the typhoon path, so that flights can avoid danger in advance and reduce losses. Therefore, it is necessary to predict the trajectory of the typhoon when it is about to appear or has already appeared, and optimize flight scheduling through the predicted typhoon to ensure flight safety. Therefore, it is necessary to first obtain the current trajectory characteristics of the current trajectory point of the typhoon to be predicted and the flight information data of multiple flights in the flight plan. Subsequently, one or more trajectory points of the typhoon to be predicted can be predicted based on the current trajectory characteristics of the current trajectory point, so as to predict the future direction of the typhoon, optimize flight scheduling, and reduce accidents. Among them, the flight information data of multiple flights in the flight plan of the flight can be obtained from the supply-side data interface.
[0108] Step 102: input the current trajectory feature into a pre-trained typhoon trajectory prediction model, and output the predicted trajectory feature corresponding to at least one trajectory point of the typhoon to be predicted.
[0109] In the implementation, the current trajectory features of the current trajectory point of the typhoon to be predicted are input into the pre-trained typhoon trajectory prediction model, and the predicted trajectory features corresponding to at least one trajectory point of the typhoon to be predicted are output. In this way, one or more predicted trajectory features of the typhoon to be predicted are predicted by the pre-trained typhoon trajectory prediction model. Among them, the typhoon trajectory prediction model can be a CNN+LSTM model built by tensorFlow / Keras.
[0110] For example, the pseudo code for building a typhoon track prediction model is as follows:
[0111] import tensorflow as tf; from tensorflow.keras.models importSequential; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense, Flatten; #Build CNN+LSTM model model = Sequential([Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(typhoon_data.shape[1], typhoon_data.shape[2])), MaxPooling1D(pool_size=2), LSTM(units=100, return_sequences=True), LSTM(units=50, return_sequences=False), Dense(64, activation='relu'), Dense(4)#Output future latitude, longitude and influence radius ]); #Compile model model.compile(optimizer='adam', loss='mse') #Print model structure model.summary().
[0112] Step 103, based on the predicted trajectory characteristics and flight information data, determine whether each flight will be affected by the predicted typhoon. The predicted trajectory characteristics include trajectory point coordinates, trajectory point time and trajectory point influence radius. The flight information includes flight path coordinate points and flight path time.
[0113] In implementation, the predicted trajectory features include trajectory point coordinates, trajectory point time, and trajectory point influence radius. After predicting at least one predicted trajectory feature of the typhoon to be predicted, the time and location of the typhoon to be predicted are determined. When the typhoon to be predicted appears, it will have an impact on a range around it. Therefore, in order to determine whether a flight will be affected by the typhoon to be predicted, it is also necessary to determine whether each flight will be affected by the typhoon to be predicted based on the trajectory point influence radius. Then, it can be determined whether the typhoon to be predicted will have an impact on flight transportation in the future by predicting trajectory features and flight information data. Among them, flight information includes flight path coordinate points and flight path time. Furthermore, the predicted trajectory features may also include start time, end time, intensity, air pressure, wind speed, moving speed, and moving direction. Flight information may also include flight number, starting point, destination, take-off time, adjusted take-off time, landing time, adjusted landing time, multiple coordinate points of the flight path, flight alternative path array index, as well as estimated flight time, current flight status (0 for normal, 1 for delayed, 2 for canceled, 3 for route adjustment, 4 for flight rescheduling, 5 for final arrival time change), and delay time.
[0114] The specific process of executing step 103 is as follows:
[0115] Step 1: For any flight, the distance between the flight path coordinate point and the trajectory point coordinate of the flight is determined by the great circle distance algorithm.
[0116] In practice, if the flight path coordinate point is within the trajectory point influence radius of the trajectory point coordinate predicted by the typhoon to be predicted, then the flight will be affected by the typhoon to be predicted. Therefore, it is necessary to first determine the distance between the flight path coordinate point and the trajectory point coordinate of the flight. The distance between the flight path coordinate point and the trajectory point coordinate of the flight can be determined by the great circle distance algorithm. In this way, it can be determined whether the flight will be affected by the typhoon to be predicted.
[0117] For example, the pseudo code for determining the distance between the flight path coordinate point and the trajectory point coordinate of the flight through the great circle distance algorithm is as follows: import numpy as np # Haversine formula calculates the distance between two points on the earth's surface def haversine(lat1, lon1, lat2, lon2): R = 6371 # Earth radius (unit: kilometers); phi1, phi2 = np.radians(lat1), np.radians(lat2); dphi = np.radians(lat2-lat1); dlambda = np.radians(lon2-lon1); a = np.sin(dphi / 2); 2 + np.cos(phi1) X np.cos(phi2) X np.sin(dlambda / 2); 2; return 2 XRX np.arctan2(np.sqrt(a), np.sqrt(1-a)).
[0118] Step 2: If the distance is less than the influence radius of the trajectory point, the trajectory point time and the flight path time are compared. If the time difference between the trajectory point time and the flight path time is less than the first preset duration threshold, it is determined that the flight will be affected by the predicted typhoon.
[0119] In implementation, the distance between the flight path coordinate point and the trajectory point coordinate of the flight is compared with the trajectory point influence radius. If the distance is less than the trajectory point influence radius, it means that if the typhoon to be predicted and the flight appear at the same time, the flight will be affected by the typhoon to be predicted. Then, it is also necessary to determine whether the typhoon to be predicted and the flight appear at the same time or at the same time within a period of time. If the typhoon to be predicted and the flight appear at the same time or at the same time within a period of time, the flight will be affected by the typhoon to be predicted. If the typhoon to be predicted and the flight do not appear at the same time or appear at the same time within a period of time, the flight will not be affected by the typhoon to be predicted. Therefore, when the distance is less than the trajectory point influence radius, the trajectory point time and the flight path time are compared. If the time difference between the trajectory point time and the flight path time is less than the first preset duration threshold, it is determined that the flight will be affected by the typhoon to be predicted.
[0120] For example, based on the predicted typhoon and the time and distance of each flight, the pseudo code for determining whether a flight will be affected is as follows:
[0121] #Time difference allowed range (minutes) TIME_THRESHOLD=30; def check_flight_impact_with_time(typhoon_forecast, flight_path): impacted=False; impact_points=[]; fortyphoon_point in typhoon_forecast: typhoon_lat, typhoon_lon, radius, typhoon_time=typhoon_point; typhoon_time=datetime.strptime(typhoon_time, "%Y-%m-%d %H:%M"); for flight_point in flight_path:flight_lat,flight_lon,flight_time=flight_point;flight_time=datetime.strptime(flight_time,"%Y-%m-%d %H:%M");#Calculate the difference between flight time and typhoon timetime_diff=abs((flight_time-typhoon_time).total_seconds()) / 60#Convert to minutes#If the time difference is within the threshold, detect collision in space againif time_diff≤TIME_THRESHOLD:distance=haversine(typhoon_lat,typhoon_lon,flight_lat,flight_lon);#Judge whether it is within the impact radiusif distance≤radius:impacted=True;impact_points.append((flight_lat,flight_lon,flight_time));break return impacted,impact_points.
[0122] Step 104: If there is a flight that will be affected, the fitness function of the flight is determined based on the flight information data, delay duration, whether it is cancelled, and predicted trajectory characteristics of the flight.
[0123] In implementation, if it is determined that a flight will be affected by the typhoon to be predicted and there is a risk of cancellation or delay, then it is necessary to generate a dynamic scheduling optimization plan to adjust the flight. The fitness function is used to evaluate the pros and cons of the generated scheduling plan, which can reduce the impact of high-risk flights while maintaining punctuality. Therefore, when determining the fitness function of a flight, it is necessary to base it on flight information data, delay duration, and whether it is canceled. At the same time, it is also necessary to determine the intensity level of the typhoon to be predicted. The higher the intensity level, the more dangerous the typhoon to be predicted, and the greater the impact on the flight. Since the intensity level of the typhoon to be predicted is determined based on the characteristics of the predicted trajectory, it is also necessary to determine the fitness function of the flight based on the characteristics of the predicted trajectory.
[0124] Specifically, the execution step determines the fitness function of the flight according to the flight information data, delay duration, whether it is cancelled and predicted trajectory characteristics of the flight as follows:
[0125] Step three, based on the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration between the trajectory point time and the flight path time of the flight, and the trajectory point influence radius, determine the distance score, time overlap score, and level score of the typhoon to be predicted for the flight.
[0126] In implementation, when determining that a flight will be affected by a typhoon to be predicted, the closer the distance between the flight path coordinate point of the flight and the trajectory point coordinate of the typhoon to be predicted, the higher the risk level of the flight. Then, the distance score of the flight can be determined according to the distance between the trajectory point coordinate and the flight path coordinate point of the flight. The more the time overlap between the flight path time of the flight and the trajectory point time of the typhoon to be predicted, the higher the risk level of the flight. Then, the time overlap score of the flight can be determined according to the overlap time of the trajectory point time and the flight path time of the flight. The intensity level of the typhoon to be predicted, the higher the risk level, the more dangerous the typhoon to be predicted, and the greater the impact on the flight. The risk level of the typhoon to be predicted is determined based on the characteristics of the predicted trajectory, so the level score of the typhoon to be predicted can be determined by the trajectory point influence radius. In this way, the distance score of the flight can be determined by the distance between the trajectory point coordinate and the flight path coordinate point of the flight, the time overlap score of the flight can be determined by the overlap time of the trajectory point time and the flight path time of the flight, and the intensity score of the typhoon to be predicted can be determined by the trajectory point influence radius.
[0127] Specifically, the process of executing step three is as follows:
[0128] Step 1), according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, query the distance score between the flight and the typhoon to be predicted in the preset distance scoring rules.
[0129] In implementation, the closer the distance between the flight path coordinate point of the flight and the trajectory point coordinate of the typhoon to be predicted, the higher the risk level of the flight. When determining the distance of the flight affected by the typhoon to be predicted, the distance score can be used as a basis. The preset distance score rule can be: when the distance is less than the first proportional coefficient X radius, D = first distance score (high risk); when the distance is [first proportional coefficient X radius, radius], D = second distance score (medium risk); when the distance is [radius, second proportional coefficient X radius], D = third distance score (low risk); when the distance exceeds the second proportional coefficient X radius, D = 0 (no risk). Wherein, radius represents the radius of influence of the trajectory point. According to the ratio of the distance between the trajectory point coordinate and the flight path coordinate point of the flight and the radius of the trajectory point, the distance score between the flight and the typhoon to be predicted is queried in the preset distance score rule. The first preset proportional coefficient can be 0.5, and the second preset proportional coefficient can be 2. The first distance score can be 3, the second distance score can be 2, and the third distance score can be 1.
[0130] Step 2), according to the overlap duration between the trajectory point time and the flight path time of the flight, query the time overlap score between the flight and the typhoon to be predicted in the preset time overlap rule.
[0131] In implementation, the more overlap time there is between the flight path time of the flight and the track point time of the to-be-forecasted typhoon, the more time the to-be-forecasted typhoon affects the flight, and the higher the risk level of the flight. In determining whether the flight is affected by the to-be-forecasted typhoon in terms of time, the time overlap score can be used as a basis. The preset time overlap rule is: when overlap_duration≥the first preset duration, T=the first time score (high risk); when the second preset duration≤overlap_duration<the first preset duration, T=the second time score (medium risk); when overlap_duration<the second preset duration, T=the third time score (low risk); when there is no overlap, T=0 (no risk). Among them, the first preset duration can be 60 minutes, the second preset duration can be 30 minutes, the first time score can be 3, the second time score can be 2, and the third time score can be 1, which can be set according to actual conditions and are not limited here. In this way, according to the overlap time between the track point time and the flight path time of the flight, the time overlap score of the flight and the to-be-forecasted typhoon is queried in the preset time overlap rule.
[0132] Step 3), in the preset typhoon intensity rules, query the intensity score of the typhoon to be predicted corresponding to the influence radius of the trajectory point.
[0133] In implementation, the greater the intensity of the typhoon to be predicted, the higher the risk level of the flight. When determining the intensity of the typhoon to be predicted, the typhoon intensity can be determined by the impact radius of the trajectory point of the typhoon to be predicted. The technicians determine the corresponding typhoon intensity for different trajectory point impact radiuses in advance, and store the trajectory point impact radius and the typhoon intensity score. Therefore, the intensity score of the typhoon to be predicted corresponding to the trajectory point impact radius can be queried in the preset typhoon intensity rule. The preset typhoon intensity rule is: when radius≥the first preset distance, S=the first intensity score (high risk); when the second preset distance≤radius<the first preset distance, S=the second intensity score (medium risk); when radius<the second preset distance, S=the third intensity score (low risk). Among them, the first preset distance can be 150 kilometers, the second preset distance can be 100 kilometers, the first intensity score can be 3, the second intensity score can be 2, and the third intensity score can be 1.
[0134] Step 4: The sum of the distance score, time overlap score and intensity score is determined as the risk level score of the flight.
[0135] In implementation, the sum of the determined distance score, time overlap score, and intensity score is determined as the risk level score of the flight. R=D+T+S, where R represents the risk level score, D represents the distance score, T represents the time overlap score, and S represents the intensity score. When R≥the first risk level score, it means that the risk level of the flight is extremely high risk; when the second risk level score≤R<the first risk level score, it means that the risk level of the flight is high risk; when the third risk level score≤R<the second risk level score, it means that the risk level of the flight is medium risk; when R<the third risk level score, it means that the risk level of the flight is low risk. Among them, the third risk level score can be 7, the third risk level score can be 4, and the third risk level score can be 2, without limitation here.
[0136] In an embodiment, the pseudocode for determining the risk level score of a flight is as follows: def evaluate_flight_risk(typhoon_forecast, flight_path): overlap_duration = 0 # Initialize the overlap duration; max_distance_score = 0 # Distance score; max_intensity_score = 0 # Intensity score of the typhoon; for typhoon_point in typhoon_forecast: typhoon_lat, typhoon_lon, radius, typhoon_time = typhoon_point; typhoon_time = datetime.strptime(typhoon_time, "%Y-%m-%d %H:%M"); for flight_point in flight_path: flight_lat, flight_lon, flight_time = flight_point; flight_time = datetime.strptime(flight_time, "%Y-%m-%d %H:%M") # Check if the time difference is within the threshold; time_diff = abs((flight_time - typhoon_time).total_seconds()) / 60 # Convert to minutes; if time_diff <= TIME_THRESHOLD: distance = haversine(typhoon_lat, typhoon_lon, flight_lat, flight_lon) # Calculate the distance score; if distance < 0.5 * radius: distance_score = 3; elif distance < radius: distance_score = 2; elif distance < 2 * radius: distance_score = 1; else: distance_score = 0; # Update the maximum distance score, max_distance_score = max(max_distance_score, distance_score) # If within the typhoon influence range, increase the overlap time.if distance is less than or equal to radius: overlap_duration+=TIME_THRESHOLD #Assume that each time step is a threshold (for example, 30 minutes) #Typhoon intensity score if radius≥150: intensity_score=3; elif radius≥100: intensity_score =2; else: intensity_score=1; max_intensity_score=max(max_intensity_score, intensity_score) #Calculate overlapping time score if overlap_duration≥60: time_score=3; elif overlap_duration≥30: time_score=2; elif overlap_duration>0: time_score=1; else: time_score=0; Calculate comprehensive risk score risk_score=max_distance_score+time_score+max_intensity_score; #Define risk level based on comprehensive score if risk_score≥7: risk_level="Extremely high risk"; elif risk_score≥4: risk_level = "high risk"; elif risk_score≥2: risk_level="medium risk"; else: risk_level="low risk"; return risk_level, risk_score.
[0137] Step 5: Determine the flight delay time score based on the flight delay time and the preset flight delay penalty formula.
[0138] During implementation, when a predicted typhoon causes flight delays, the flight delay time score can be determined by the flight delay time and the preset flight delay penalty formula.
[0139] As an optional implementation, the preset flight delay penalty formula is:
[0140] ;
[0141] Among them, delay_penalty represents the delay time score, and delay_time represents the delay time.
[0142] Step 6: Determine the cancellation score of the flight based on whether the flight is cancelled and the preset flight cancellation penalty formula.
[0143] In implementation, when a flight is canceled due to a predicted typhoon, the cancellation score of the flight needs to be determined by whether to cancel the flight and the preset flight cancellation penalty formula. The cancellation score is used to measure the impact of flight cancellation on the overall scheduling plan. Flight cancellation is usually the last option in the plan because it has a greater impact on both passengers and airlines. In order to quantify the penalty score for flight cancellation, a fixed high score penalty, such as 50 or 100 points, can be set for each flight to ensure that individuals who cancel flights are avoided as much as possible during optimization.
[0144] As an optional implementation, the preset flight cancellation penalty formula is:
[0145] cancellation_penalty=max(0,x=100);
[0146] Among them, cancellation_penalty represents the cancellation score, x represents the flight cancellation, and 0 represents the flight not canceled.
[0147] Step 7: Determine the flight's fitness function based on the risk level score, delay duration score, and cancellation score.
[0148] In implementation, the fitness function of the flight is determined based on the determined risk level score, delay duration score, and cancellation score.
[0149] Specifically, the steps of executing step seven are: determining the sum of the product of the risk level score and the preset risk level weight, the product of the delay time score and the preset delay penalty weight, and the product of the cancellation score and the preset cancellation penalty weight as the fitness function of the flight.
[0150] In implementation, the sum of the product of the risk level score and the preset risk level weight, the product of the delay duration score and the preset delay penalty weight, and the product of the cancellation score and the preset cancellation penalty weight is determined as the fitness function of the flight. Among them, the preset risk level weight can be between 0.5-0.7. If safety is the primary consideration, a higher weight value should be given. The preset delay penalty weight can be between 0.2-0.4. The preset delay penalty weight is used to balance the trade-off between risk control and punctuality. The higher the preset delay penalty weight, the higher the requirement for punctuality. The preset cancellation penalty weight can be between 0.1-0.3. The preset cancellation penalty weight is a lower value, but it can be appropriately increased during peak hours or special circumstances to avoid easily canceling flights.
[0151] Step 105, adjusting the flight plan of the flight to the optimal solution according to the fitness function, the information of each flight and the genetic algorithm.
[0152] In the implementation, the flight information of each flight is explored through the genetic algorithm, and the fitness of the population is determined through the fitness function, so as to obtain the optimal solution of the flight plan. In this way, the flight plan of the flight can be adjusted to the optimal solution according to the fitness function, the flight information and the genetic algorithm. Among them, the flight information can be the flight number, flight status, flight take-off adjustment time, flight alternative path index and delay time, etc.
[0153] Specifically, the specific process of executing step 105 is as follows:
[0154] Step eight, multiple flights in the flight plan constitute the initial population.
[0155] In practice, when determining the optimal flight plan through genetic algorithms, multiple flights in the flight plan constitute the initial population. In the process of generating the initial population, it is necessary to pay attention to maintaining the diversity of the population and avoiding redundancy or duplication between individuals. If there are too many similar individuals in the population, the search space will be reduced, which will affect the global search ability of the genetic programming algorithm. The individuals in the population are represented as a multi-parameter solution including risk level score, delay time score and cancellation score ratio.
[0156] Step nine: Select outstanding individuals from the current population and use genetic operations to generate the next generation population.
[0157] In the implementation, excellent individuals are selected from the current population, and the next generation of population is generated by genetic operation. In the process of selection operation, it is necessary to pay attention to maintaining the diversity of the population and avoid premature convergence or falling into the local optimal solution. Among them, the selection operation is based on the fitness function evaluation of individuals in the group. Among them, roulette selection or tournament selection can be used.
[0158] Step 10: Perform a crossover operation on the individuals in the current population to generate new offspring individuals.
[0159] In implementation, a crossover operation is performed on individuals in the current population to generate new offspring individuals, wherein the crossover operation can be performed by any crossover operation method including single-point crossover, multi-point crossover, and uniform crossover, which is not limited here.
[0160] Step 11: Perform mutation operations on individuals in the current population to introduce new individual differences.
[0161] In the implementation, mutation operations are performed on individuals in the current population to introduce new individual differences. During the mutation operation, the size of the mutation probability will affect the search efficiency and accuracy of the genetic programming algorithm, and the mutation probability needs to be adjusted and optimized according to the actual situation. Among them, mutation can be performed by random perturbation or parameter bit flipping.
[0162] Step 12: Evaluate the quality of each individual based on the fitness function and determine the fitness value of each individual.
[0163] In implementation, based on the fitness function determined in the above steps, the fitness value of each individual is determined to evaluate the quality of each individual.
[0164] Step 13: Select excellent individuals that meet the constraints from the current population based on the fitness value, and use genetic operations to generate the next generation population.
[0165] In the implementation, according to the calculated fitness values of each individual, excellent individuals that meet the constraints are selected from the current population, and the next generation population is generated using genetic operations.
[0166] Step 14: Stop until the end condition is met, and the optimal solution output is the optimal solution for the flight plan.
[0167] In implementation, the process stops when the termination condition is met, and the optimal solution outputted is the optimal solution of the flight plan. The termination condition may be met when a preset maximum number of generations is reached.
[0168] For example, the pseudo code for adjusting the flight plan of a flight to the optimal solution through a genetic algorithm is as follows:
[0169] # Initialization parameters population_size = 50 # population size; generations = 100 # maximum number of generations; mutation_rate = 0.1 # mutation rate; alpha, beta, gamma = 0.6, 0.3, 0.1 # fitness function weight; # Assume flight data flights = [{"flight_no": "FL123", "flight_state": "0", "risk_level": 3, "scheduled_time": 600, "flight_routes_backoff": [0, 1, 2]}, # More flights...] # Fitness function def fitness(individual): flight = flights[individual[0]]; risk_score = flight["risk_level"] # Calculated from the previous algorithm delay_penalty = abs(individual[2]) # Absolute value of the offset time; cancellation_penalty = 50 if flight["flight_state"] == "2" else 0 #Fixed penalty; return -(alpha X risk_score + beta X delay_penalty + gamma X cancellation_penalty); #Initialize population def initialize_population(): population = [] for in range(population_size): for flight in flights: time_offset = random.randint(-120, 120) #Offset; path_index = random.choice(flight["flight_routes_backoff" flight alternative path index]); population.append([flight["flight_no"], flight["flight_state"], time_offset time offset, path_index path index]); return population #Selection operation def select(population, fitness_values): return random.choices(population, weights=fitness_values, k=population_size) # Cross - over operation def crossover(parent1, parent2): child = parent1[:] child[2] = parent2[2] # Cross - over time offset child[3] = parent1[3] if random.random() > 0.5 else parent2[3] # Randomly select a path return child # Mutation operation def mutate(individual): if random.random() < mutation_rate: individual[2] += random.randint(-10, 10) # Fine - tune the time offset individual[3] = random.choice(flights[individual[0]]["flight_routes_backoff"]) # Random path mutation # Main process of genetic algorithm population = initialize_population() for generation in range(generations): fitness_values = [fitness(ind) for ind in population] selected_population = select(population, fitness_values) next_population = [] for i in range(0, population_size, 2): parent1, parent2 = selected_population[i], selected_population[i + 1] child1, child2 = crossover(parent1, parent2), crossover(parent2, parent1) mutate(child1), mutate(child2) next_population.extend([child1, child2]) population = next_population # Update the population # Select the best solution best_individual = max(population, key=lambda ind: fitness(ind)) print("Best solution:", best_individual) .
[0170] Furthermore, the process of typhoon track prediction model training is as follows:
[0171] Step A: obtaining a training sample set, wherein the training sample set includes a plurality of training samples and sample trajectory feature results corresponding to each training sample.
[0172] In implementation, a training sample set is obtained, which includes multiple training samples and sample trajectory feature results corresponding to each training sample. The training samples are a first preset number of historical typhoon trajectory features, and the sample trajectory feature results are trajectory features of historical typhoons following the historical typhoon trajectory features. The first preset number may be 80%.
[0173] Furthermore, after obtaining the historical typhoon track features, the historical typhoon track features can be preprocessed. Each typhoon track can be represented as a sequence, including the feature vector of the time point. The feature vector of each time point can be: [latitude, longitude, power, pressure, radius, speed, move_speed, move_dir]. Assume that each typhoon track has multiple track points. We represent each typhoon track as a three-dimensional array: (number of samples, time step, number of features).
[0174] For example, the pseudo code for preprocessing historical typhoon track features is as follows:
[0175] import numpy as np#Track point data (assuming that each typhoon has N time points and each time point has M features); typhoon_data=[#Track point: [latitude, longitude, power, pressure, radius, speed, move_speed, move_dir]; [23.5, 121.0, 2, 980, 100, 30, 20, 180], [23.6, 121.1, 3, 975, 110, 35, 18, 185]...M], ..N]#Output predicted typhoon track point data future_coords_radius=np.load('future_coor ds_radius_labels.npy')#Convert the data into a format suitable for CNN+LSTM model input #Historical typhoon trajectory feature data typhoon_data=np.array(typhoon_data)#Shape: (number of samples, time steps, number of features) #Coordinate labels of future trajectory points future_coords_radius=np.array(future_coords_radius)The shape is (number of samples, 4), where 3 represents [typhoon_lat, typhoon_lon, radius, typhoon_time].
[0176] Step B: Based on each training sample and the sample trajectory feature results corresponding to each training sample, the initial typhoon trajectory prediction model is trained to obtain a trained typhoon trajectory prediction model.
[0177] In implementation, the initial typhoon track prediction model is trained based on each training sample and the sample track feature results corresponding to each training sample to obtain a trained typhoon track prediction model.
[0178] Specifically, the specific training process of executing step B is as follows:
[0179] Step a: input each training sample into the initial typhoon track prediction model, and output the first track feature result corresponding to each training sample.
[0180] In implementation, each training sample is input into the typhoon track prediction model respectively, and the initial typhoon track prediction model outputs the first track feature result corresponding to each training sample.
[0181] Step b: determining the average of the absolute values of the differences between each first track feature result and the corresponding sample track feature result as the first prediction accuracy of the initial typhoon track prediction model.
[0182] In implementation, the average of the absolute values of the differences between each first track feature result and the corresponding sample track feature result is determined as the first prediction accuracy of the initial typhoon track prediction model.
[0183] Step c: if the first prediction accuracy is greater than or equal to a preset training accuracy threshold, it is determined that the initial typhoon track prediction model training is completed.
[0184] In implementation, the first prediction accuracy is compared with a preset training accuracy threshold. If the first prediction accuracy is greater than or equal to the preset training accuracy threshold, it is determined that the initial typhoon track prediction model training is completed. If the first prediction accuracy is less than the preset training accuracy threshold, it means that the initial typhoon track prediction model has not been trained. Among them, the preset training accuracy threshold is a standard for judging whether the initial typhoon track prediction model has been trained.
[0185] Step d: If the first prediction accuracy is less than the preset training accuracy threshold, adjust the model parameters of the initial typhoon track prediction model, and repeat the steps of inputting each of the training samples into the typhoon track prediction model and outputting the first track feature results corresponding to each training sample until the first prediction accuracy of the initial typhoon track prediction model is greater than or equal to the preset training accuracy threshold.
[0186] In implementation, the first prediction accuracy is compared with the preset training accuracy threshold. If the first prediction accuracy is less than the preset training accuracy threshold, it indicates that the initial typhoon trajectory prediction model is in the state of failure. The model parameters of the initial typhoon trajectory prediction model are adjusted, and the steps of inputting each of the training samples into the typhoon trajectory prediction model and outputting the first trajectory feature results corresponding to each training sample are repeated until the first prediction accuracy of the initial typhoon trajectory prediction model is greater than or equal to the preset training accuracy threshold. Furthermore, the training of the initial typhoon trajectory prediction model can be ended by the number of iterations of the initial typhoon trajectory prediction model. That is, when the number of iterations of the initial typhoon trajectory prediction model reaches the preset maximum number of iterations threshold, the initial typhoon trajectory prediction model completes training. Among them, the preset maximum number of iterations threshold can be 50 times, which can be set according to actual conditions and is not limited here.
[0187] Furthermore, after the typhoon track prediction model is trained, it is necessary to perform a test to determine whether the typhoon track prediction model has been trained. The specific steps are as follows:
[0188] Step C: obtaining a detection sample set, which includes multiple detection samples and detection trajectory feature results corresponding to each detection sample.
[0189] In implementation, a detection sample set is obtained, and the detection sample set includes multiple detection samples and detection trajectory feature results corresponding to each detection sample. The detection samples are the second preset number of historical typhoon trajectory features, and the detection trajectory feature results are the trajectory features of the historical typhoons following the historical typhoon trajectory features. The second preset number can be 20%.
[0190] Step D: input each detection sample into the trained initial typhoon track prediction model, and output the second track feature result corresponding to each detection sample.
[0191] In the implementation, each test sample is input into the trained initial typhoon track prediction model, and the second track feature result corresponding to each test sample is output. Subsequently, it can be judged whether the trained initial typhoon track prediction model is accurate according to the second track feature result predicted during the test and the test track feature result.
[0192] Step E: determining the second prediction accuracy of the trained initial typhoon track prediction model according to the average of the absolute values of the differences between each second track feature result and the corresponding detection track feature result.
[0193] In implementation, the second prediction accuracy of the trained initial typhoon track prediction model is determined according to the average of the absolute values of the differences between each second track feature result and the corresponding detection track feature result. Subsequently, it can be determined whether the trained initial typhoon track prediction model is trained according to the second prediction accuracy.
[0194] Step F: If the second prediction accuracy is greater than or equal to a preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model meets the preset training requirements.
[0195] During implementation, the second prediction accuracy is compared with the preset training accuracy threshold. If the second prediction accuracy is greater than or equal to the preset training accuracy threshold, it is considered that the accuracy of the trained initial typhoon trajectory prediction model is very high and meets the preset training requirements, and the training of the initial typhoon trajectory prediction model is completed.
[0196] Step G: If the second prediction accuracy is less than the preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model does not meet the preset training requirements.
[0197] In implementation, the second prediction accuracy is compared with a preset training accuracy threshold. If the second prediction accuracy is less than the preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model does not meet the preset training requirements. The trained initial typhoon track prediction model needs to continue training.
[0198] For example, the pseudo code for training and testing the typhoon track prediction model is as follows:
[0199] #Training model history = model.fit(typhoon_data, future_coords_radius, epochs=20, batch_size=16, validation_split=0.2 #20% of the data is used for validation); #Visualize the training process import matplotlib.pyplot as plt; plt.plot(history.history['loss'], label='Training loss'); plt.plot(history.history['val_loss'], label='Validation loss'); plt.xlabel('Iterations'); plt.ylabel('Loss'); plt.legend(); plt.show().
[0200] # Assume that there is new typhoon trajectory data new_typhoon_data; #new_typhoon_data=np.array([...])#New typhoon trajectory data; #Make prediction predicted_coords_radius=model.predict(new_typhoon_data); print("Predicted future coordinates and impact radius:", predicted_coords_radius).
[0201] The embodiment of the present application provides a method for predicting typhoon-adjusted flights, which uses a deep learning algorithm to accurately predict the typhoon path, and can predict the movement path, time and intensity of the typhoon. And based on the matching of flights and typhoon trajectories, a scheduling optimization plan is dynamically generated to generate an optimized flight adjustment strategy. Through real-time monitoring of typhoon trajectories and intelligent scheduling algorithms, the timeliness and accuracy of flight adjustments can be improved, effectively reducing safety hazards caused by extreme weather, ensuring flight safety and reducing economic losses due to delays and cancellations. Through continuous data feedback and adaptive optimization, the effectiveness of scheduling is further improved.
[0202] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0203] The present application also provides a device for predicting typhoons and adjusting flights. Figure 2 As shown, the device comprises:
[0204] The first acquisition module 201 is used to acquire the current track characteristics of the current track point of the typhoon to be predicted and the flight information data of multiple flights in the flight plan;
[0205] The first output module 202 is used to input the current trajectory feature into a pre-trained typhoon trajectory prediction model, and output the predicted trajectory feature corresponding to at least one trajectory point of the typhoon to be predicted;
[0206] A first determination module 203 is used to determine whether each flight will be affected by the typhoon to be predicted based on the predicted trajectory characteristics and the flight information data, the predicted trajectory characteristics including trajectory point coordinates, trajectory point time and trajectory point influence radius, and the flight information including flight path coordinate points and flight path time;
[0207] The second determination module 204 is used to determine the fitness function of the flight if there is a flight that will be affected, based on the flight information data, delay duration, whether it is cancelled and the predicted trajectory characteristics of the flight;
[0208] The adjustment module 205 is used to adjust the flight plan of the flight to an optimal solution according to the fitness function, the flight information and the genetic algorithm.
[0209] As an optional implementation manner, the first determining module 203 is specifically configured to:
[0210] For any flight, the distance between the flight path coordinate point of the flight and the coordinates of the trajectory point is determined by a great circle distance algorithm;
[0211] If the distance is less than the influence radius of the trajectory point, the trajectory point time is compared with the flight path time. If the time difference between the trajectory point time and the flight path time is less than a first preset duration threshold, it is determined that the flight will be affected by the typhoon to be predicted.
[0212] As an optional implementation manner, the second determining module 204 is specifically configured to:
[0213] Determine the distance score, time overlap score and grade score of the typhoon to be predicted of the flight according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration between the trajectory point time and the flight path time of the flight and the trajectory point influence radius;
[0214] Determine the sum of the distance score, the time overlap score and the intensity score as the risk level score of the flight;
[0215] Determine the flight delay score based on the flight delay time and the preset flight delay penalty formula;
[0216] Determine the flight cancellation score based on whether the flight is cancelled and the preset flight cancellation penalty formula;
[0217] The fitness function of the flight is determined according to the risk level score, the delay duration score, and the cancellation score.
[0218] As an optional implementation manner, the second determining module 204 is specifically configured to:
[0219] According to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, query the distance score between the flight and the typhoon to be predicted in the preset distance scoring rules;
[0220] According to the overlap duration of the trajectory point time and the flight path time of the flight, query the time overlap score between the flight and the to-be-forecasted typhoon in the preset time overlap rule;
[0221] In the preset typhoon intensity rules, the intensity score of the typhoon to be predicted corresponding to the influence radius of the trajectory point is queried.
[0222] As an optional implementation manner, the second determining module 204 is specifically configured to:
[0223] The sum of the product of the risk level and the preset risk level weight, the product of the delay duration score and the preset delay penalty weight, and the product of the cancellation score and the preset cancellation penalty weight is determined as the fitness function of the flight.
[0224] As an optional implementation, the device further includes:
[0225] A second acquisition module is used to acquire a training sample set, wherein the training sample set includes a plurality of training samples and sample trajectory feature results corresponding to each of the training samples;
[0226] The first training module is used to train the initial typhoon track prediction model based on each of the training samples and the sample track feature results corresponding to each of the training samples to obtain the trained typhoon track prediction model.
[0227] As an optional implementation manner, the first training module is specifically used to:
[0228] Inputting each of the training samples into the initial typhoon track prediction model, and outputting the first track feature result corresponding to each of the training samples;
[0229] Determine the average of the absolute values of the differences between each of the first track feature results and the corresponding sample track feature results as the first prediction accuracy of the initial typhoon track prediction model;
[0230] If the first prediction accuracy is less than or equal to a preset training accuracy threshold, it is determined that the training of the initial typhoon track prediction model is completed;
[0231] If the first prediction accuracy is less than the preset training accuracy threshold, the model parameters of the initial typhoon track prediction model are adjusted, and the steps of inputting each of the training samples into the initial typhoon track prediction model and outputting the first track feature results corresponding to each of the training samples are repeated until the first prediction accuracy of the initial typhoon track prediction model is greater than or equal to the preset training accuracy threshold.
[0232] As an optional implementation, the device further includes:
[0233] A third acquisition module is used to acquire a detection sample set, wherein the detection sample set includes multiple detection samples and detection trajectory feature results corresponding to each of the detection samples;
[0234] A second output module is used to input each of the detection samples into the trained initial typhoon track prediction model, and output a second track feature result corresponding to each of the detection samples;
[0235] A third determination module, used to determine a second prediction accuracy rate of the trained initial typhoon track prediction model according to an average value of the absolute value of the difference between each of the second track feature results and the corresponding detection track feature result;
[0236] A comparison module, configured to determine whether the trained initial typhoon track prediction model meets a preset training requirement if the second prediction accuracy is greater than or equal to the preset training accuracy threshold;
[0237] A determination module is used to determine that the trained initial typhoon track prediction model does not meet the preset training requirements if the second prediction accuracy is less than the preset training accuracy threshold.
[0238] As an optional implementation manner, the adjustment module 205 is specifically configured to:
[0239] Multiple flights in the flight plan constitute an initial population;
[0240] Select outstanding individuals from the current population and use genetic operations to generate the next generation population;
[0241] Perform a crossover operation on the individuals in the current population to generate new offspring individuals;
[0242] Perform mutation operations on individuals in the current population to introduce new individual differences;
[0243] Evaluate the quality of each individual based on the fitness function to determine the fitness value of each individual;
[0244] Selecting excellent individuals that meet the constraint conditions from the current population according to the fitness value, and generating the next generation population by genetic operation;
[0245] The process stops when the end condition is met, and the optimal solution output is the optimal solution for the flight plan.
[0246] The embodiment of the present application provides a device for predicting typhoon-adjusted flights, which uses a deep learning algorithm to accurately predict the typhoon path, and can predict the movement path, time and intensity of the typhoon. And based on the matching of flights and typhoon trajectories, a scheduling optimization plan is dynamically generated to generate an optimized flight adjustment strategy. Through real-time monitoring of typhoon trajectories and intelligent scheduling algorithms, the timeliness and accuracy of flight adjustments can be improved, effectively reducing safety hazards caused by extreme weather, ensuring flight safety and reducing economic losses due to delays and cancellations. Through continuous data feedback and adaptive optimization, the effectiveness of scheduling is further improved.
[0247] The specific definition of the device for predicting typhoon-adjusted flights can be found in the above-mentioned definition of the method for predicting typhoon-adjusted flights, which will not be repeated here. Each module in the above-mentioned device for predicting typhoon-adjusted flights can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above-mentioned modules.
[0248] In one embodiment, a computer device is provided, such as Figure 3As shown, it includes a memory and a processor, the memory stores a computer program that can be run on the processor, and the processor implements the above-mentioned method steps of predicting typhoons and adjusting flights when executing the computer program.
[0249] In one embodiment, a computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the above-mentioned method for adjusting flights by predicting a typhoon.
[0250] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0251] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A method for adjusting flights by predicting a typhoon, characterized in that: The method comprises: Acquire the current track characteristics of the current track point of the to-be-forecasted typhoon and the flight information data of multiple flights in the flight plan; Inputting the current trajectory feature into a pre-trained typhoon trajectory prediction model, and outputting the predicted trajectory feature corresponding to at least one trajectory point of the typhoon to be predicted; the typhoon trajectory prediction model is a CNN+LSTM model; According to the predicted trajectory features and the flight information data, determine whether each flight will be affected by the typhoon to be predicted, the predicted trajectory features include trajectory point coordinates, trajectory point time and trajectory point influence radius, start time, end time, intensity, air pressure, wind speed, moving speed and moving direction, the flight information includes flight path coordinate points and flight path time, flight number, start point, end point, take-off time, flight take-off adjustment time, landing time, landing adjustment time, multiple coordinate points of the flight path, flight alternative path array subscript, and expected flight time, current flight status, delay time; the specific steps of performing this step are: for any flight, determine the distance between the flight path coordinate point of the flight and the trajectory point coordinate by a great circle distance algorithm; if the distance is less than the trajectory point influence radius, compare the trajectory point time with the flight path time, and if the time difference between the trajectory point time and the flight path time is less than a first preset duration threshold, determine that the flight will be affected by the typhoon to be predicted; If there is a flight that will be affected, the fitness function of the flight is determined according to the flight information data, delay duration, whether it is cancelled and the predicted trajectory characteristics of the flight; the specific steps of performing this step are: according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration of the trajectory point time and the flight path time of the flight and the trajectory point influence radius, the distance score, time overlap score and the intensity score of the typhoon to be predicted of the flight are determined; the sum of the distance score, the time overlap score and the intensity score is determined as the risk level score of the flight; according to the delay duration of the flight and the preset flight delay penalty formula, the delay duration score of the flight is determined; according to whether the flight is cancelled and the preset flight cancellation penalty formula, the cancellation score of the flight is determined; according to the risk level score, the delay duration score and the cancellation score, the fitness function of the flight is determined; According to the fitness function, the flight information and the genetic algorithm, the flight plan of the flight is adjusted to an optimal solution.
2. The method according to claim 1, characterized in that The step of determining the distance score, time overlap score and intensity score of the typhoon to be predicted of the flight according to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, the overlap duration between the trajectory point time and the flight path time of the flight and the trajectory point influence radius comprises: According to the distance between the trajectory point coordinates and the flight path coordinate points of the flight, query the distance score between the flight and the typhoon to be predicted in the preset distance scoring rules; According to the overlap duration of the trajectory point time and the flight path time of the flight, query the time overlap score between the flight and the to-be-forecasted typhoon in the preset time overlap rule; In the preset typhoon intensity rules, the intensity score of the typhoon to be predicted corresponding to the influence radius of the trajectory point is queried.
3. The method according to claim 1, characterized in that The step of determining the fitness function of the flight according to the risk level score, the delay duration score, and the cancellation score includes: The sum of the product of the risk level score and the preset risk level weight, the product of the delay time score and the preset delay penalty weight, and the product of the cancellation score and the preset cancellation penalty weight is determined as the fitness function of the flight.
4. The method according to claim 1, characterized in that: The preset flight delay penalty formula is: ; Among them, delay_penalty represents the delay time score, and delay_time represents the delay time.
5. The method according to claim 1, characterized in that The preset flight cancellation penalty formula is: cancellation_penalty=max(0,x=100); Among them, cancellation_penalty represents the cancellation score, x represents the flight cancellation, and 0 represents the flight not canceled.
6. The method according to claim 1, characterized in that The method further comprises: Acquire a training sample set, wherein the training sample set includes a plurality of training samples and sample trajectory feature results corresponding to each of the training samples; Based on each of the training samples and the sample track feature results corresponding to each of the training samples, the initial typhoon track prediction model is trained to obtain the trained typhoon track prediction model.
7. The method according to claim 6, characterized in that The initial typhoon track prediction model is trained based on each of the training samples and the sample track feature results corresponding to each of the training samples to obtain the trained typhoon track prediction model, including: Inputting each of the training samples into the initial typhoon track prediction model, and outputting the first track feature result corresponding to each of the training samples; Determine the average of the absolute values of the differences between each of the first track feature results and the corresponding sample track feature results as the first prediction accuracy of the initial typhoon track prediction model; If the first prediction accuracy is greater than or equal to a preset training accuracy threshold, it is determined that the training of the initial typhoon track prediction model is completed; If the first prediction accuracy is less than the preset training accuracy threshold, the model parameters of the initial typhoon track prediction model are adjusted, and the steps of inputting each of the training samples into the initial typhoon track prediction model and outputting the first track feature results corresponding to each of the training samples are repeated until the first prediction accuracy of the initial typhoon track prediction model is greater than or equal to the preset training accuracy threshold.
8. The method according to claim 6, characterized in that The method further comprises: Acquire a detection sample set, wherein the detection sample set includes multiple detection samples and detection trajectory feature results corresponding to each of the detection samples; Inputting each of the detection samples into the trained initial typhoon track prediction model, and outputting the second track feature results corresponding to each of the detection samples; Determine, according to an average of the absolute values of the differences between each of the second track feature results and the corresponding detection track feature results, a second prediction accuracy rate of the trained initial typhoon track prediction model; If the second prediction accuracy is greater than or equal to the preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model meets the preset training requirements; If the second prediction accuracy is less than the preset training accuracy threshold, it is determined that the trained initial typhoon track prediction model does not meet the preset training requirements.
9. The method according to claim 1, characterized in that: The step of adjusting the flight plan of the flight to an optimal solution according to the fitness function, the flight information and the genetic algorithm comprises: Multiple flights in the flight plan constitute an initial population; Select outstanding individuals from the current population and use genetic operations to generate the next generation population; Perform a crossover operation on the individuals in the current population to generate new offspring individuals; Perform mutation operations on individuals in the current population to introduce new individual differences; Evaluate the quality of each individual based on the fitness function to determine the fitness value of each individual; Selecting excellent individuals that meet the constraint conditions from the current population according to the fitness value, and generating the next generation population by genetic operation; The process stops when the end condition is met, and the optimal solution output is the optimal solution for the flight plan.
Citation Information
Patent Citations
Flight efficiency improving system based on GPU computing power scheduling
CN114693190A
Typhoon trajectory prediction method based on deep learning
CN117952255A