Agile imaging satellite task sequence time optimization method based on neighborhood optimization

Through the method of neighborhood optimization, the execution time of the imaging task of agile imaging satellites is adjusted, and the problem of poor imaging resolution is solved, the comprehensive optimal time optimization of the imaging task sequence is achieved, and the imaging efficiency of the satellite is improved.

CN119512702APending Publication Date: 2025-02-25BEIJING INST OF CONTROL ENG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411486084.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

When performing multiple imaging missions, it is difficult for agile imaging satellites to optimize imaging time within a limited satellite transit time, resulting in poor imaging resolution.

Method used

The task sequence time optimization method based on neighborhood optimization is adopted. By adjusting the execution time of the imaging task, combining the weight coefficient and adaptive search step adjustment, the imaging time is optimized to achieve comprehensive optimization.

Benefits of technology

The overall optimal imaging time points of the imaging task sequence are achieved, and the imaging resolution and satellite operation efficiency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512702A_ABST
    Figure CN119512702A_ABST
Patent Text Reader

Abstract

The invention provides a sequence imaging time optimization method based on neighborhood search. The task planning problem of an agile imaging satellite is solved. According to the method, the number of neighborhood scales is determined according to the length of a task sequence, the probability that a neighborhood reference task is selected is determined according to the optimal time difference of the task, and then the time adjustment amount of the reference task is determined by adaptively adjusting the search step length, so that the imaging moment is optimized and adjusted. And with the reference task as a starting point, the executable performance of the adjusted sequence is verified forwards and backwards respectively. And selecting the neighborhood subset with the optimal optimization effect as the latest state, and continuing the subsequent optimization until the optimization is finished. According to the method, based on the rapid maneuvering capability of the agile satellite, the imaging moment adjustment of the imaging task in the visible time window is realized, the imaging task sequence is realized, especially the comprehensive imaging moment optimization of the multi-task sequence in the local area is realized, the high-resolution imaging is realized, and the satellite operation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to an imaging task sequence execution time optimization method for an agile imaging satellite, and belongs to the field of spacecraft autonomous task planning. Background Art

[0002] Agile imaging satellites have the ability to quickly maneuver in rolling, pitching, and yaw, and can also adjust the direction of the visual axis in real time during the imaging process. Therefore, its pitch attitude maneuverability can be used to look forward, straight, or backward at the observed target, so that the observation start time can be freely selected within a wide time window. And for multiple imaging tasks in a local area, by adjusting different imaging pitch angles, the time conflict between tasks can be eliminated, thereby increasing the number of targets that the satellite can photograph in one pass.

[0003] However, while agile satellites have significantly improved their mission execution capabilities, their mission planning has also become more complex and difficult. In addition to selecting observation tasks and observation time windows, it is also necessary to determine the order of different observation tasks with conflicting imaging times, the specific start time of the imaging task within its time window, and the direction of the scanning strip.

[0004] For general agile imaging satellites, although each task has a freely adjustable execution time window, in terms of imaging resolution, each task has an optimal imaging time, which is the moment of zero pitch attitude, when the camera can image the target with the highest resolution. However, for multiple imaging tasks in a local area, it is impossible for each task to achieve the optimal time point due to limitations such as satellite maneuverability and visible time window. Therefore, it is urgent to develop relevant optimization methods to achieve the overall optimal imaging time point of an imaging task sequence. Therefore, the traditional task planning method that only supports side-swing imaging satellites is no longer applicable, and new solutions need to be found. Summary of the invention

[0005] The technical problem solved by the present invention is: a method for optimizing the time of agile imaging satellite mission sequences based on neighborhood optimization is proposed. According to a given imaging sequence and satellite attitude maneuverability constraints, especially for multiple imaging mission sequences in a local area, the imaging time is optimized within a limited satellite transit time to achieve the comprehensive optimal imaging pitch angle of the imaging sequence and achieve optimal resolution imaging.

[0006] The technical solution of the present invention is: a method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization, comprising the following steps:

[0007] (1) Determine the optimized agile imaging satellite mission sequence, including the executable imaging mission sequence Σ σ , the execution time series of the task sequence Σ t, the state variable sequence related to execution time in task attributes∑ X , the weight coefficient sequence of the task sequence ∑ ω And the allowed execution time window range sequence of the task ∑ WIN ; The number of elements in each sequence is N, that is, the number of sequence tasks is N;

[0008] (2) Initialize parameters, including the flag indicating successful task sequence time optimization opt , iterative loop times n opt1 、Number of consecutive unsuccessful optimizations opt2 and the time adjustment factor k t ;

[0009] (3) Determine the number of neighborhood subsets M for single optimization according to the number of sequence tasks N, and save the sequence ∑ t and∑ X The initial value is ∑ t ′ and Σ X ′;

[0010] (4) Perform loop optimization, including:

[0011] (4.1) The optimal execution time difference sequence of each task is calculated to be Δ = {δ1δ2…δ N} and the average optimal absolute execution time difference of the sequence

[0012] (4.2) Calculation task σ i The probability p of being selected during the optimization process i ;

[0013] (4.3) Perform time search coefficient k t Adjustments:

[0014] (4.4) Perform local optimization;

[0015] (4.5) Determine the effectiveness of local optimization results;

[0016] For the M calculation results, we can get The minimum value of m∈[1M] is set

[0017] like This loop optimization is effective, set Flag opt =1, and let Otherwise set Flag opt =0;

[0018] (4.6) Determine if continuous optimization is unsuccessful;

[0019] If Flagopt = 0, then the number of consecutive unsuccessful optimizations is n opt2 Add 1; otherwise, let n opt2 =0;

[0020] (4.7) Let the number of iterations n opt1 Add 1;

[0021] (4.8) When the total number of optimizations n opt1 Greater than or equal to MaxN1, or the number of consecutive unsuccessful optimizations is n opt2 If it is greater than or equal to MaxN2, the optimization ends and the optimized Σ is output. t and∑ X ; Among them, MaxN1 and MaxN2 are preset thresholds, both of which are positive integers greater than 0.

[0022] Furthermore, the executable imaging task sequence is ∑ σ ={σ1σ2...σ N}, the execution time sequence of the task sequence is ∑ t ={t1 t2...t N}, the sequence of state variables related to execution time in task attributes is ∑ X ={X1 X2...X N}, the weight coefficient sequence of the task sequence is Σ ω ={ω1ω2...ω N}, the allowed execution time window range sequence of the task is ∑ WIN ={WIN1 WIN2...WIN N};

[0023] Where N is the number of sequence tasks, σ i represents an independent imaging task, i∈[1N];

[0024] The weight coefficient of the task ω i Positively correlated with the priority of the task. The higher the priority, the greater the weight coefficient.

[0025] WIN i ={t fi ,t mi ,t hi}, i∈[1N], t fi Representative task σ i The minimum execution time, t hi Representative task σ i The maximum execution time, t mi Representative task σ i The optimal value at execution time.

[0026] Furthermore, the parameter initialization specifically includes: initially setting the task sequence time optimization success flag Flag opt =1, number of iterations n opt1 =0, number of consecutive unsuccessful optimizations n opt2 =0, time adjustment coefficient k t =0.5.

[0027] Furthermore, the number M of neighborhood subsets to be optimized in a single time is determined according to the number N of sequence tasks, specifically:

[0028] M=min(4,Ceil(0.5*N))

[0029] The function Ceil(x) represents the smallest integer greater than or equal to x, and the function min(x,y) is a function that takes a smaller value.

[0030] Furthermore, the optimal execution time difference sequence in step (4.1) is Δ={δ1δ2...δ N}, δ i =t i -t mi , i∈[1N],

[0031] Average optimal absolute execution time difference of the sequence The calculation is as follows:

[0032] ω i is the weight coefficient.

[0033] Furthermore, the calculation task σ i The probability p of being selected during the optimization process i , specifically:

[0034] Furthermore, the step (4.3) performs a time search for the coefficient k t The adjustments are as follows:

[0035] Let k t,old =k t , if Flag opt =1, then k t =mk up ·k t,old ; otherwise k t =mk down ·k t,old . Among them, mk up The value is between [1.0 2.0], mk down The value is between [0.5 1.0]; and k t The value is limited to [0.2 1.5].

[0036] Furthermore,

[0037] The step (4.4) performs local optimization, specifically, the following steps are repeated M times for calculation:

[0038] (4.4.1) t and∑ X The value of is restored to the historically saved value, that is, Σ t =∑ t ′,∑ X =∑ X ′;

[0039] (4.4.2) According to the probability p of each task being selected i , i∈[1N], randomly selected from the sequence ∑ σ Select a task from j , j∈[1N];

[0040] (4.4.3) Calculate the time correction: δt add =k t ·δ j ·k m , where k m Get a random number between the interval [0 1];

[0041] (4.4.4) Limit δt add If Then If δt add | <mk minadd , then let δt add =mk minadd ·sign(δt add );mk minadd is the preset threshold, mk minadd >0;

[0042] (4.4.5) Update task σ j The execution time of j =t j +δt add , that is, let t j +δt add Update j If t j >t hj , then let t j =t hj If t j <t fj , then let t j =t fj , and synchronously update the task σ j Over time t jThe variable X that changes with changes j ;

[0043] (4.4.6) If j = N, then set Flag = 1 and exit the calculation; if j < N, according to the updated t j and X j , calculate the shortest task interval time t j and σ j+1 of task σ mneed (j, j + 1), and the actual time interval t j and σ j+1 of task σ mhave (j, j + 1) = t j+1 -t j ; if t mhave (j, j + 1) ≥ t mneed (j, j + 1), then the time adjustment of task σ j does not affect the execution of task σ j+1 , the step (4.4.6) ends, set Flag = 1;

[0044] If t mhave (j, j + 1) < t mneed (j, j + 1), then after the time adjustment of task σ j , the execution time of task σ j+1 needs to be adjusted accordingly, and a new execution time t j that meets the shortest task interval time requirement of tasks σ j+1 and σ j+1 is determined; if t j+1 > t hj+1 , or t j+1 < t fj+1 , then this adjustment is unsuccessful, end the calculation, set Flag = -1;

[0045] If t fj+1 ≤ t j+1 ≤ t hj+1 , then this adjustment is successful, set Flag = 1, let j = j + 1, that is, increase the value of j by 1, and continue to perform local optimization;

[0046] (4.4.7) If j = 1, then set Flag = 1 and exit the calculation; if j > 1, according to the updated t j and X j , calculate the shortest task interval time t j-1 and σ j of task σ mneed (j - 1, j), and the actual time interval t j-1 and σ j of task σ mhave (j - 1, j) = tj -t j-1 ;

[0047] If t mhave (j-1,j)≥t mneed (j-1,j), then task σ j The time adjustment does not affect the task σ j-1 The task is executed, (4.4.7) the execution is completed, and Flag = 1 is set;

[0048] If t mhave (j-1,j) <t mneed (j-1,j), then task σ j After the time adjustment, the task σ j-1 The execution time needs to be adjusted accordingly to determine the new task σ j-1 and σ j The shortest task interval required execution time t j-1 If t j-1 >t hj-1 , or t j-1 <t fj-1 , then this adjustment is unsuccessful, the calculation ends, and Flag is set to -1;

[0049] If t fj-1 ≤t j-1 ≤t hj-1 , then this adjustment is successful, set Flag = 1, set j = j-1, that is, set the value of j to increase by 1, and continue to perform local optimization;

[0050] (4.4.8) If Flag = 1, the optimization is successful and the updated optimal time difference δ is calculated. i =t i -t mi and the average value of the optimal time difference If Flag = -1, the calculation is successful. For large numbers;

[0051] (4.4.9) If Flag = 1, save the new sequence ∑ t and∑ X to and m∈[1M].

[0052] In a second aspect, the present invention further proposes a non-volatile storage medium, comprising: a computer program product, which, when executed, executes the neighborhood optimization-based agile imaging satellite task sequence time optimization method.

[0053] In a third aspect, the present invention further proposes a computer program product, which, when executed by a processor, implements the neighborhood optimization-based agile imaging satellite task sequence time optimization method.

[0054] Compared with the existing technology, the present invention has the following technical innovations:

[0055] (1) The present invention proposes a method for optimizing the time sequence of agile imaging satellite tasks, which adopts a neighborhood-based steepest descent optimization method to effectively improve the imaging resolution; proposes an average optimal time difference evaluation function based on a weight coefficient to achieve comprehensive optimal time imaging; proposes an adaptive search step adjustment method that can adaptively adjust the optimization step according to the previous optimization results. This avoids the problem that in a fixed step search, the search results do not converge due to a large step, and the search results converge slowly due to a small step; by randomly selecting the optimization benchmark task and randomly setting the optimization duration, the generalization ability of the optimization algorithm is improved, and the task selection method based on fixed rules avoids the optimization result falling into a local optimal solution.

[0056] (2) The method of the present invention is suitable for time optimization of agile imaging task sequences, realizes high-resolution satellite imaging, and can be extended to other satellite platforms. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 It is a flowchart of the method of the present invention;

[0058] Figure 2 The optimization curve for the average optimal absolute execution time difference of the sequence. DETAILED DESCRIPTION

[0059] Aiming at the task planning problem of agile imaging satellites, the present invention proposes a method for optimizing the time of sequential imaging based on neighborhood search. The method determines the number of neighborhood scales according to the length of the task sequence, determines the probability of the neighborhood benchmark task being selected according to the optimal time difference of the task, and then determines the time adjustment amount of the benchmark task by adaptively adjusting the search step size to achieve left and right adjustment of the imaging moment. Then, starting from the benchmark task, the executableness of the adjusted sequence is verified forward and backward respectively. By selecting the neighborhood subset with the best optimization effect as the latest state, the subsequent optimization is continued until the optimization is completed.

[0060] The method of the present invention is based on the rapid maneuverability of agile satellites to achieve imaging time adjustment of imaging tasks within a visible time window, to achieve imaging task sequences, especially to optimize the comprehensive imaging time of multi-task sequences in local areas, to achieve high-resolution imaging, and to improve satellite operation efficiency.

[0061] Specifically, Figure 1As shown, the present invention proposes a method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization, comprising the following steps:

[0062] (1) Determine the optimized agile imaging satellite mission sequence, including executable imaging mission sequence∑ σ , the execution time sequence of the task sequence∑ t , the state variable sequence related to execution time in task attributes∑ X , the weight coefficient sequence of the task sequence Σ ω And the allowed execution time window range sequence of tasks Σ WIN ; The number of elements in each sequence is N, that is, the number of sequence tasks is N;

[0063] The executable imaging task sequence is Σ σ ={σ1σ2…σ N}, the execution time sequence of the task sequence is Σ t ={t1t2…t N}, the sequence of state variables related to execution time in task attributes is ∑ X ={X1 X2...X N}, the weight coefficient sequence of the task sequence is ∑ ω ={ω1ω2...ω N}, the allowed execution time window range sequence of the task is ∑ WIN ={WIN1WIN2...WIN N};

[0064] Where N is the number of sequence tasks, σ i represents an independent imaging task, i∈[1N];

[0065] The weight coefficient of the task ω i Positively correlated with the priority of the task. The higher the priority, the greater the weight coefficient.

[0066] WIN i ={t fi ,t mi ,t hi}, i∈[1N], t fi Representative task σ i The minimum execution time, t hi Representative task σ i The maximum execution time, t mi Representative task σ i The optimal value at execution time.

[0067] (2) Initialize parameters, including the flag indicating successful task sequence time optimization opt , iterative loop times n opt1、Number of consecutive unsuccessful optimizations opt2 and the time adjustment factor k t ;

[0068] Specifically include: Initial setting of task sequence time optimization success flag opt =1, number of iterations n opt1 =0, number of consecutive unsuccessful optimizations n opt2 =0, time adjustment coefficient k t =0.5.

[0069] (3) Determine the number of neighborhood subsets M for single optimization according to the number of sequence tasks N, and save the sequence ∑ t and Σ X The initial value is Σ t ′ and Σ X ′;

[0070] The number M of neighborhood subsets to be optimized in a single time is determined according to the number N of sequence tasks, specifically:

[0071] M=min(4,Ceil(0.5*N))

[0072] The function Ceil(x) represents the smallest integer greater than or equal to x, and the function min(x,y) is a function that takes a smaller value.

[0073] (4) Perform loop optimization, including:

[0074] (4.1) The optimal execution time difference sequence of each task is calculated to be Δ = {δ1δ2...δ N} and the average optimal absolute execution time difference of the sequence

[0075] δ i =t i -t mi , i∈[1N],

[0076] Average optimal absolute execution time difference of the sequence The calculation is as follows:

[0077] ω i is the weight coefficient.

[0078] (4.2) Calculation task σ i The probability p of being selected during the optimization process i ;

[0079]

[0080] (4.3) Perform time search coefficient k t Adjustment of

[0081] Let k t,old =k t , if Flag opt =1, then k t =mk up ·k t,old ; otherwise k t =mk down ·k t,old . Among them, mk up The value is between [1.0 2.0], mk down The value is between [0.5 1.0]; and k t The value is limited to [0.2 1.5].

[0082] (4.4) Perform local optimization;

[0083] The step (4.4) performs local optimization, specifically, the following steps are repeated M times for calculation:

[0084] (4.4.1) t and∑ X The value of is restored to the historical saved value, that is, ∑ t =∑ t ′,∑ X =∑ X ′;

[0085] (4.4.2) According to the probability p of each task being selected i , i∈[1N], randomly selected from the sequence ∑ σ Select a task from j , j∈[1N];

[0086] (4.4.3) Calculate the time correction: δt add =k t ·δ j ·k m , where k m Get a random number between the interval [0 1];

[0087] (4.4.4) Limit δt add If Then If δt add | <mk minadd , then let δt add =mk minadd ·sign(δt add );mk minadd is the preset threshold, mk minadd >0;

[0088] (4.4.5) Update task σj At the execution time, let t j = t j + δt add , that is, let t j + δt add Update t j ; If t j > t hj , then let t j = t hj ; If t j < t fj , then let t j = t fj , and synchronously update the variable X j in task σ j that changes with time t j ;

[0089] (4.4.6) If j = N, then set Flag = 1 and exit the calculation; if j < N, calculate the shortest task interval time t j and X j after the update, and calculate the shortest task interval time t j of tasks σ j+1 and σ mneed (j, j + 1), as well as the actual time interval t j of tasks σ j+1 and σ mhave (j, j + 1) = t j+1 - t j ; If t mhave (j, j + 1) ≥ t mneed (j, j + 1), then the time adjustment of task σ j does not affect the execution of task σ j+1 , and step (4.4.6) ends, set Flag = 1;

[0090] If t mhave (j, j + 1) < t mneed (j, j + 1), then after the time adjustment of task σ j , the execution time of task σ j+1 needs to be adjusted accordingly, and a new execution time t j that meets the shortest task interval time requirement of tasks σ j+1 and σ j+1 is determined; if t j+1 > t hj+1 , or t j+1 < t fj+1 , then this adjustment is unsuccessful, end the calculation, and set Flag = -1;

[0091] If t fj+1 ≤ t j+1 ≤ thj+1 , then this adjustment is successful, set Flag = 1, set j = j + 1, that is, set the value of j to increase by 1, and continue to perform local optimization;

[0092] (4.4.7) If j = 1, set Flag = 1 and exit the calculation; if j > 1, according to the updated t j and X j , computing task σ j-1 and σ j The shortest task interval time t mneed (j-1,j), and task σ j-1 and σ j The actual time interval t mhave (j-1,j)=t j -t j-1 ;

[0093] If t mhave (j-1,j)≥t mneed (j-1,j), then task σ j The time adjustment does not affect the task σ j-1 The task is executed, (4.4.7) the execution is completed, and Flag = 1 is set;

[0094] If t mhave (j-1,j) <t mneed (j-1,j), then task σ j After the time adjustment, the task σ j-1 The execution time needs to be adjusted accordingly to determine the new task σ j-1 and σ j The shortest task interval required execution time t j-1 If t j-1 >t hj-1 , or t j-1 <t fj-1 , then this adjustment is unsuccessful, the calculation ends, and Flag is set to -1;

[0095] If t fj-1 ≤t j-1 ≤t hj-1 , then this adjustment is successful, set Flag = 1, set j = j-1, that is, set the value of j to increase by 1, and continue to perform local optimization;

[0096] (4.4.8) If Flag = 1, the optimization is successful and the updated optimal time difference δ is calculated. i =t i -t mi and the average value of the optimal time difference If Flag = -1, the calculation is successful. For large numbers;

[0097] (4.4.9) If Flag = 1, save the new sequence ∑ t and∑ X to and m∈[1M].

[0098] (4.5) Determine the effectiveness of local optimization results;

[0099] For the M calculation results, we can get The minimum value of m∈[1M] is set

[0100] like This loop optimization is effective, set Flag opt =1, and let Otherwise set Flag opt =0;

[0101] (4.6) Determine if continuous optimization is unsuccessful;

[0102] If Flag opt = 0, then the number of consecutive unsuccessful optimizations is n opt2 Add 1; otherwise, let n opt2 =0;

[0103] (4.7) Let the number of iterations n opt1 Add 1;

[0104] (4.8) When the total number of optimizations n opt1 Greater than or equal to MaxN1, or the number of consecutive unsuccessful optimizations is n opt2 If it is greater than or equal to MaxN2, the optimization ends and the optimized Σ is output. t and Σ X ; Among them, MaxN1 and MaxN2 are preset thresholds, both of which are positive integers greater than 0.

[0105] Example:

[0106] (1) Agile imaging satellite mission sequence to be optimized Σ σ ={11,12,19,13,21,14,44}, the number of sequences N is 7. The execution time sequence of the task sequence ∑ t ={13667.215,13697.111,13796.959,13867.691,13936.990,13997.092,14274.539}(seconds), the state variables related to the execution time in the task attributes are the roll angle and pitch angle at the imaging moment, and the state variable sequence ∑ X={[-33.941,20.434],[-23.499,20.367],[-34.754,20.336],[31.100,20.310],[26.264,20.296],[29.582,20.168],[-37.937,20.070]}(degrees), weight coefficient sequence of task sequence Σ ω ={1.0,1.0,1.0,1.0,1.0,1.0}, the allowed execution time window range sequence of the task ∑ WIN ={[13667.215,13697.098,13750.223],[13697.111,13722.098,13786.063],[13796.959,13830.105,13884.500],[13867.691,13897.098,13954.129],[13936.990,13971.902,14041.727],[13997.092,14029.520,14092.410],[14274.539,14309.988,14357.254]}(seconds).

[0107] (2) Initialize parameters: Set the task sequence time optimization success flag opt =1, number of iterations n opt1 =0, number of consecutive unsuccessful optimizations n opt2 =0, time adjustment coefficient k t =0.5.

[0108] (3) Determine the number of neighborhood subsets for single optimization M = 4, and save the sequence Σ t and Σ X The initial value is Σ t ′ and Σ X ′;

[0109] (4) Perform loop optimization as follows:

[0110] (4.1) First optimization:

[0111] (4.1.1) Calculate the optimal execution time difference sequence of each task Δ = {29.883, 24.986, 33.147, 29.407, 34.912, 32.428, 35.449} (seconds) and the average optimal absolute execution time difference of the sequence

[0112] (4.1.2) Calculate the probability of tasks being selected during the optimization process, which are: {0.135700, 0.113465, 0.150522, 0.133538, 0.158539, 0.147258, 0.160978}. The sum of the probabilities of all tasks being selected is 1;

[0113] (4.1.3) Time search coefficient k t Adjusted to 0.75;

[0114] (4.1.4) Perform local optimization and repeat the calculation 4 times:

[0115] (4.1.4.1) t and Σ X The value of is restored to the historically saved value, that is, Σ t =Σ t ′,Σ X =Σ X ′;

[0116] (4.1.4.2) According to the probability p of each task being selected i , randomly from the sequence Σ σ Select a task from the 4 loops, and select the task σ j They are 44, 21, 19, and 14.

[0117] (4.1.4.3) Calculate the current time correction value δt add The time corrections calculated for the four cycles are 7.9761 seconds, 7.8550 seconds, 7.4580 seconds, and 7.2960 seconds respectively.

[0118] (4.1.4.4) Limit δt add The upper and lower limits of , and the correction amount is between the upper and lower limits;

[0119] (4.1.4.5) Update task σ j The execution time t j , and synchronously update the task σ j Over time t j The variable X changes with the change j ;

[0120] (4.1.4.6) Starting from tasks 44, 21, 19, and 14, respectively, the execution time is verified and updated backwards.

[0121] (4.1.4.7) Starting from tasks 44, 21, 19, and 14, respectively, the execution time is verified and updated forward.

[0122] (4.1.4.8) According to the calculation results, the optimization was successful in all four cycles, and the updated average optimal time differences were 30.3194 seconds, 30.3367 seconds, 30.3934 seconds, and 30.4165 seconds respectively.

[0123] (4.1.4.9) Save the new sequence Σ respectively t and Σ X to and m∈[1 4].

[0124] (4.1.5) Comparing the results of the four calculations, the average value of the optimal time difference of the first optimization result is the smallest, and Indicates that this loop optimization is effective and sets the Flag opt = 1. And let

[0125] (4.1.6) This optimization is successful, and the number of consecutive optimization failures is n opt2 Set to 0;

[0126] (4.1.7) Iteration cycle number n opt1 Add 1 and you get 1;

[0127] After the first optimization calculation is completed, the calculation cycle continues and the optimization is continued.

[0128] (4.8) When n opt1 When the number reaches 23, the optimization has failed for 5 (MaxN2) consecutive times, and the optimization ends. Figure 2 The figure shows the optimization curve of the average optimal absolute execution time difference of the sequence. It can be seen that after optimization, the average optimal absolute execution time difference of the sequence is reduced from 31.459 (seconds) before optimization to 3.080 seconds after optimization. After optimization, the roll angle and pitch angle sequence at the imaging moment are updated to {[-34.490, 4.627], [-24.012, 4.290], [-35.282, 2.560], [31.020, 4.507], [26.111, -0.489], [29.533, 1.627], [-38.189, 1.586]}.

[0129] By comparison, the pitch angle at the time of imaging has dropped significantly, thereby achieving the goal of improving the resolution of the satellite at the time of imaging and enhancing the efficiency of satellite use.

[0130] The contents not described in detail in the specification of the present invention belong to the common knowledge of those skilled in the art.

Claims

1. A time optimization method for agile imaging satellite mission sequence based on neighborhood optimization, characterized in that include: (1) Determine the optimized agile imaging satellite mission sequence, including executable imaging mission sequence∑ σ , the execution time sequence of the task sequence∑ t , the state variable sequence related to execution time in task attributes∑ X , the weight coefficient sequence of the task sequence ∑ ω And the allowed execution time window range sequence of the task ∑ WIN ; The number of elements in each sequence is N, that is, the number of sequence tasks is N; (2) Initialize parameters, including the flag indicating successful task sequence time optimization opt , iterative loop times n opt1 、Number of consecutive unsuccessful optimizations opt2 and the time adjustment factor k t ; (3) Determine the number of neighborhood subsets M for single optimization according to the number of sequence tasks N, and save the sequence ∑ t and∑ X The initial value is ∑ t ′ and ∑ X ′; (4) Perform loop optimization, including: (4.1) The optimal execution time difference sequence of each task is calculated to be Δ = {δ1δ2...δ N } and the average optimal absolute execution time difference of the sequence (4.2) Calculation task σ i The probability p of being selected during the optimization process i ; (4.3) Perform time search coefficient k t Adjustments: (4.4) Perform local optimization; (4.5) Determine the effectiveness of local optimization results; For the M calculation results, we can get The minimum value of m∈[1M] is set like This loop optimization is effective, set Flag opt =1, and let Otherwise set Flag opt =0; (4.6) Determine if continuous optimization is unsuccessful; If Flag opt = 0, then the number of consecutive unsuccessful optimizations is n opt2 Add 1; otherwise, let n opt2 =0; (4.7) Let the number of iterations n opt1 Add 1; (4.8) When the total number of optimizations n opt1 Greater than or equal to MaxN1, or the number of consecutive unsuccessful optimizations is n opt2 If it is greater than or equal to MaxN2, the optimization ends and the optimized ∑ t and∑ X ; Among them, MaxN1 and MaxN2 are preset thresholds, both of which are positive integers greater than 0.

2. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 1 is characterized in that: The executable imaging task sequence is ∑ σ ={σ1σ2...σ N }, the execution time sequence of the task sequence is ∑ t ={t1 t2...t N }, the sequence of state variables related to execution time in task attributes is Σ X ={X1 X2...X N }, the weight coefficient sequence of the task sequence is Σ ω ={ω1ω2…ω N }, the allowed execution time window range sequence of the task is Σ WIN ={WIN1WIN2...WIN N }; Where N is the number of sequence tasks, σ i represents an independent imaging task, i∈[1N]; The weight coefficient of the task ω i Positively correlated with the priority of the task. The higher the priority, the greater the weight coefficient. WIN i ={t fi ,t mi ,t hi }, i∈[1N], t fi Representative task σ i The minimum execution time, t hi Representative task σ i The maximum execution time, t mi Representative task σ i The optimal value at execution time.

3. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 1 is characterized in that: The parameter initialization specifically includes: initially setting the task sequence time optimization success flag Flag opt =1, number of iterations n opt1 =0, number of consecutive unsuccessful optimizations n opt2 =0, time adjustment coefficient k t =0.

5.

4. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 1 is characterized in that: The number M of neighborhood subsets to be optimized in a single time is determined according to the number N of sequence tasks, specifically: M=min(4,Ceil(0.5*N)) The function Ceil(x) represents the smallest integer greater than or equal to x, and the function min(x,y) is a function that takes a smaller value.

5. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 1 is characterized in that: The optimal execution time difference sequence in step (4.1) Δ={δ1δ2...δ N }, δ i =t i -t mi , i∈[1N], Average optimal absolute execution time difference of the sequence The calculation is as follows: ω i is the weight coefficient.

6. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 5 is characterized in that: Computational task σ i The probability p of being selected during the optimization process i , specifically:

7. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 1 is characterized in that: The step (4.3) performs a time search for the coefficient k t The adjustments are as follows: Let k t,old =k t , if Flag opt =1, then k t =mk up ·k t,old ; otherwise k t =mk down ·k t,old . Among them, mk up The value is between [1.0 2.0], mk down The value is between [0.5 1.0]; and k t The value is limited to [0.2 1.5].

8. The method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization according to claim 1 is characterized in that: The step (4.4) performs local optimization, specifically, the following steps are repeated M times for calculation: (4.4.1) t and Σ X The value of is restored to the historically saved value, that is, Σ t =∑ t ′,∑ X =∑ X ′; (4.4.2) According to the probability p of each task being selected i , i∈[1 N], randomly selected from the sequence ∑ σ Select a task from j , j∈[1 N]; (4.4.3) Calculate the time correction: δt add =k t ·δ j ·k m , where k m Get a random number between the interval [0 1]; (4.4.4) Limit δt add If Then If |δt add | <mk minadd , then let δt add =mk minadd ·sign(δt add );mk minadd is the preset threshold, mk minadd >0; (4.4.5) Update task σ j The execution time of j =t j +δt add , that is, let t j +δt add Update j If t j >t hj , then let t j =t hj If t j <t fj , then let t j =t fj , and synchronously update the task σ j Over time t j The variable X changes with the change j ; (4.4.6) If j = N, then set Flag = 1 and exit the calculation; if j < N, according to the updated t j and X j , calculate the shortest task interval time t j and σ j+1 of task σ mneed (j, j + 1), and the actual time interval t j and σ j+1 of task σ mhave (j, j + 1) = t j+1 -t j ; if t mhave (j, j + 1) ≥ t mneed (j, j + 1), then the time adjustment of task σ j does not affect the task execution of task σ j+1 , the execution of step (4.4.6) ends, and set Flag = 1; If mhave (j,j+1) <t mneed (j,j+1), then task σ j After the time adjustment, the task σ j+1 The execution time needs to be adjusted accordingly to determine the new task σ j and σ j+1 The shortest task interval required execution time t j+1 If t j+1 >t hj+1 , or t j+1 <t fj+1 , then this adjustment is unsuccessful, the calculation ends, and Flag is set to -1; If fj+1 ≤t j+1 ≤t hj+1 , then this adjustment is successful, set Flag = 1, set j = j + 1, that is, set the value of j to increase by 1, and continue to perform local optimization; (4.4.7) If j = 1, set Flag = 1 and exit the calculation; if j > 1, according to the updated t j and X j , computing task σ j-1 and σ j The shortest task interval time t mneed (j-1,j), and task σ j-1 and σ j The actual time interval t mhave (j-1,j)=t j -t j-1 ; If mhave (j-1,j)≥t mneed (j-1,j), then task σ j The time adjustment does not affect the task σ j-1 The task is executed, (4.4.7) the execution is completed, and Flag = 1 is set; If mhave (j-1,j) <t mneed (j-1,j), then task σ j After the time adjustment, the task σ j-1 The execution time needs to be adjusted accordingly to determine the new task σ j-1 and σ j The shortest task interval required execution time t j-1 If t j-1 >t hj-1 , or t j-1 <t fj-1 , then this adjustment is unsuccessful, the calculation ends, and Flag is set to -1; If fj-1 ≤t j-1 ≤t hj-1 , then this adjustment is successful, set Flag = 1, set j = j-1, that is, set the value of j to increase by 1, and continue to perform local optimization; (4.4.8) If Flag = 1, the optimization is successful and the updated optimal time difference δ is calculated. i =t i -t mi and the average value of the optimal time difference If Flag = -1, the calculation is successful. For large numbers; (4.4.9) If Flag = 1, save the new sequence Σ t and Σ X to and m∈[1M].

9. A non-volatile storage medium, characterized in that: include: A computer program product, when executed, performs the method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization as described in any one of claims 1 to 8.

10. A computer program product, characterized in that When the computer program product is executed by a processor, the method for optimizing the time sequence of agile imaging satellite missions based on neighborhood optimization as described in any one of claims 1 to 8 is implemented.