An improved method for solving mission planning of semi-agile observation satellites
By applying multiple acceleration technologies in semi-agile observation satellite mission planning, the problems of low computing performance and high complexity in the existing technology are solved, and more efficient task planning solutions are achieved.
Patent Information
- Application Number
- CN202410242790.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-04
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2044-03-04
AI Technical Summary
In the planning of semi-agile observation satellite missions, the calculation performance is low and the complexity is high, making it difficult to effectively solve the problems of insertion and scheduling optimization of observation tasks.
An improved method is proposed to improve time efficiency and improve the performance of problem solving through multiple acceleration techniques, including fast insertion position calculation based on set operations, iterative update of historical values, parallel calculations, and improved greedy random iterative search algorithm.
It significantly improves computing performance and doubles the time efficiency, greatly improving the solution efficiency of semi-agile observation satellite mission planning.
Smart Images

Figure CN117993680B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of satellite scheduling, and in particular to an improved method for solving semi-agile observation satellite mission planning. Background Art
[0002] The scheduling optimization process of intelligent mission planning for semi-agile Earth observation satellites requires not only to determine a feasible observation subsequence in the set of observations to be scheduled, but also to solve the start time of each observation in the subsequence; therefore, this problem is both a combinatorial optimization problem and an integer programming problem.
[0003] The current related technologies mostly adopt heuristic algorithms based on permutation coding and have achieved good results, but they need to completely traverse each observation task to be scheduled and each insertion position of the current feasible sequence to find a feasible insertion, which obviously affects the computing performance; secondly, compared with the global example, the national land example has the characteristics of a large number of tasks and a large time window density, and the complexity of solving the optimal solution is significantly increased; finally, the switching time constraints and computational complexity of the semi-agile satellite for observation attitude adjustment increase the difficulty of solving. Therefore, the present invention proposes an improved method for solving the task planning of semi-agile observation satellites to solve the problems existing in the prior art. Summary of the invention
[0004] In view of the above problems, the purpose of the present invention is to propose an improved method for solving semi-agile observation satellite mission planning. The improved method for solving semi-agile observation satellite mission planning proposes multiple acceleration methods for insertion decoding of observation tasks, and at the same time, the acceleration technology is reasonably applied to each link of the currently better greedy random search framework, which can double the performance in time efficiency and greatly improve the time performance of problem solving.
[0005] To achieve the purpose of the present invention, the present invention is implemented by the following technical solution: an improved method for solving semi-agile observation satellite mission planning, comprising the following steps:
[0006] Step 1: Quickly calculate the candidate feasible insertion list based on set operations. In the permutation coding, based on set operations, traverse the insertion positions in the current feasible scheduling sequence and quickly calculate the candidate feasible insertion list;
[0007] Step 2: Generate a candidate feasible insertion list based on historical value iteration and acceleration. In the process of inserting the observation tasks one by one, the candidate feasible insertion list is generated through historical value iteration and acceleration;
[0008] Step 3: Synchronously update the feasible sequence and candidate feasible insertion list. Parallel calculations are performed on the permutation coding numerical solution and candidate feasible insertion list in step 2 to speed up the update process.
[0009] Step 4: Improved greedy random iterative solution algorithm: Based on the random greedy iterative search framework, the optimization and acceleration operations of steps 1 to 3 are integrated to form an improved greedy random iterative solution algorithm, which is used to solve the semi-agile observation satellite mission planning.
[0010] A further improvement is that: in step 1, the insertion gaps between the observed tasks are used as the operation unit and the set intersection operation is used to solve the feasible insertion method of the insertion position; at the same time, all the insertion gaps of the current feasible sequence are traversed to solve the candidate feasible insertion list of the entire sequence.
[0011] A further improvement is that in step 2, when the feasible sequence undergoes local changes after the observation task is inserted, the candidate feasible task insertion list of the feasible sequence before the task is inserted is used for adjustment and update to obtain the candidate feasible insertion list of the new sequence after the task is inserted.
[0012] Further improvement lies in: step 4 specifically uses step 1 to implement step 2, step 1 is used to recalculate the candidate feasible list after the arrangement of the coded numerical solution destruction and reconstruction, and then the optimization and acceleration operations of step 2 and step 3 are comprehensively applied to the greedy random iteration framework to construct an improved greedy random iteration solution algorithm.
[0013] The beneficial effects of the present invention are as follows: the present invention proposes multiple acceleration methods for insertion decoding of observation tasks, and at the same time rationally applies the acceleration technology to various links of the currently better greedy random search framework. Compared with the current heuristic random greedy iterative search framework algorithm based on permutation coding, the time efficiency can be doubled, which greatly improves the performance of problem solving. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 The figure is a flow chart of the method of the present invention.
[0015] Figure 2 This is a diagram showing an example of arrangement coding of semi-agile satellites satisfying the FIFO property according to the prior art solution of Example 1.
[0016] Figure 3 This is a schematic diagram of the lower bound of the numerical solution of the feasible sequence after the insertion point is updated and the starting time of the candidate feasible insertion according to Embodiment 2 of the present invention.
[0017] Figure 4 This is a schematic diagram of the upper bound of the numerical solution of the feasible sequence before the update insertion point and the start time of the candidate feasible insertion in Example 2 of the present invention. DETAILED DESCRIPTION
[0018] In order to deepen the understanding of the present invention, the present invention will be further described in detail below in conjunction with examples. The examples are only used to explain the present invention and do not constitute a limitation on the protection scope of the present invention.
[0019] Example 1
[0020] according to Figure 2 As shown, this embodiment provides a derivation process of symbols, variables, constraints, and function formulas for solving semi-agile observation satellite mission planning, including the following:
[0021] 1. Symbols and variables
[0022] J={j 1 ,…,j n}: A set of observation tasks given by the user, where n represents the total number of observations to be scheduled.
[0023] The set of orbital circles of the observation satellite flying around the earth within the scheduling time range, where m o Indicates the total number of tracks.
[0024] Any observation j i ∈J, define the following variables:
[0025] p i :Complete observation mission J i Profits obtained.
[0026] d i :Perform observation mission J i The length of work required.
[0027] Within the scheduling time range, the observation task J i A set of optional observation periods (i.e., visible time windows), where m i for j i The total number of visible time windows.
[0028] vtv i,q =(tws i,q ,twe i,q ,o i,q ):Observation Mission J i The qth visible time window of , where tws i,q is the start time of the time window, twe i,q is the end time of the time window, o i,q The track index number where the time window is located.
[0029] y i :Solve the decision variables of the problem. If j i is selected and the observation is performed, then y i =1, otherwise y i =0.
[0030] t i: Solve the problem decision variables and perform observation j i The start time of the observation, measured in integer seconds.
[0031] In the time window vtw i,q In the observation period within t i is the observation angle vector at the start time of observation. The observation angle is composed of three angle components: pitch α, roll β, and yaw γ. The specific angle is known data and is determined according to the observation satellite and mission.
[0032] The observation scheduling scheme of agile earth observation satellite intelligent mission planning is also the solution to this problem, where sch k is the feasible observation sequence scheduled on track k.
[0033] 2. Constraints
[0034] Any j i ∈J, at most one start time is selected to perform one observation. In addition, any two consecutive adjacent observations j on the same orbital cycle p and j s , the observation windows cannot overlap, and there must be enough gap time for the attitude transition of the observation angle, where j p and j s represent the predecessor task and the successor task respectively. The constraints that the feasible sequence S needs to satisfy are expressed by formulas (1) and (2), where tr p,s The switching time between adjacent tasks:
[0035]
[0036] t p +d p +tr p,s ≤t s , if j p andj s are two consecutive observations and in sch k (2)
[0037] Constraint (2) is satisfied and is denoted as p→s, called j p KDJ s , otherwise it is recorded as Taking the semi-agile earth observation satellite AS-01 as an example, the switching time between adjacent tasks is given by formulas (3) and (4), where v 1 =1.5° / s, a 1 =5, v 2 =2° / s, a 2=10, v 3 =2.5° / s, a 3 =16, v 4 =3° / s, a 4 =22.
[0038]
[0039]
[0040] 3. Objective Function
[0041] Any feasible observation sequence is a solution to the agile earth observation satellite mission planning. The quality of the solution is evaluated by the objective function, with maximizing the observation benefit as the optimization goal, as shown in formula (5).
[0042]
[0043] 4. Time dependency characteristics of semi-agile earth observation satellite mission planning. In agile earth observation satellite mission planning, the start time and switch time of two adjacent tasks are interdependent. On the one hand, the observation start time corresponding to the adjacent tasks determines the orbital space position, the observation target angle and the size of the switch time; on the other hand, the switch time determines whether the adjacent task is feasible, that is, whether the start observation time is legal. In addition, the start time of the observation task can move bidirectionally within the corresponding visible time window, which will cause the tasks before and after it to move or adjust to meet the above constraint condition (2), so the time dependency feature has bidirectional propagation.
[0044] Property 1. FIFO property: Public literature has proved that the semi-agile earth observation satellite AS-01 meets the FIFO rule. Two consecutive missions J p and J s , when the start time of one task is fixed, the farther the observation time of the other task is, the more favorable it is for J p Accessible to J s , and satisfy the switching time constraint; the closer the distance, the more J p Unreachable J s , and violates the switching time constraint.
[0045] Property 2: The upper and lower bounds of the observation start time are defined and given in the public literature. Due to the FIFO property, two consecutive tasks J p and J s It has the following mathematical properties:
[0046] Given an observation j p The start time t p , then the observation j s The start time t s There is a lower bound when When , p→s holds; Calculated by binary search, recorded as EarliestStartTime(vtw p,q ,vtw s,r ,t p ), as shown in formula (6).
[0047]
[0048] Similarly, given observation j s The start time t s , then observe j p The start time t p There is an upper bound when When , p→s holds; Calculated by binary search, recorded as LatestStartTime(vtw p,q ,vtw s,r ,t s ), as shown in formula (7).
[0049]
[0050] Property 3: Observe the unreachable upper and lower bounds. Due to the FIFO property and the above property 2, two consecutive tasks J p and J s It has the following mathematical properties:
[0051] Given vtw s,r , for any t s , then the observation j p The start time t p There is a lower bound when hour, It is valid; it can be calculated The maximum t p Value As shown in formula (8).
[0052]
[0053] Similarly, given vtw p,q , for any t p , then observe j s The start time t s There is an upper bound when hour, It is valid; it can be calculated The minimum t s Value Request As shown in formula (9).
[0054]
[0055] Preprocessing: During the insertion of observation tasks based on permutation coding, it is necessary to perform feasibility detection of task insertion and solve the task start time. The above operations require frequent use of the above properties 2 and 3 to define the upper and lower bounds of time. In order to solve the problem of frequent calls to the dichotomy method, existing literature uses preprocessing techniques to reduce computational overhead. For ordered visible time windows on the same track, and can be pre-calculated and stored in the file. Similarly, for the start time of each preceding (successor) time window in the legal interval, Can be precomputed and stored in files.
[0056] 5. Permutation Coding for Semi-agile Earth Observation Satellite Mission Planning
[0057] Existing technology adoption As the permutation coding solution to the problem, for each sch k , the feasible observation sequence is expressed as Then the start time of the observation satisfies
[0058] make Recursive calculation using formula (10) Etc., then the vector It's sch k The lower bound integer solution of .
[0059]
[0060] Similarly, Using formula (11) to calculate recursively Etc., then the vector It's sch k The upper bound integer solution of .
[0061]
[0062]
[0063] For any Inequality (12) always holds. When solving the problem, the lower bound solution is usually chosen. As sch k The integer solution of gives a scheduling solution, which simplifies the integer programming problem into a combinatorial optimization problem.
[0064] The decoding process of the permutation code is to insert the observation tasks in the visible time window on the corresponding orbit time axis in sequence according to the relevant strategy. An observation task satisfies Only when , can it be inserted into the feasible sequence and generate a new feasible sequence. Figure 2 shown.
[0065] Formula (1) shows that for the same observation task, if there are multiple time windows, only one time window can be selected for observation. Therefore, when decoding and scheduling observation tasks by orbit, observations scheduled more than twice on different orbits must be deduplicated. At present, the intuitive deduplication strategy given in the public literature is to preferentially assign observation tasks to orbits with a small number of time windows, and delete duplicate observations from the feasible sequence of orbits with a large number of time windows, so that other tasks can be better scheduled. This is based on the consideration that the more time windows, the more difficult it is to insert into the feasible sequence of orbits. When duplicate scheduling occurs and deduplication is performed through the strategy, the corresponding observations will be frozen to avoid deleting the duplicate observation task and then scheduling the task again when inserting it into the construction again, resulting in duplicate scheduling again.
[0066] In the arrangement space, by k Insert unscheduled and unfrozen observation tasks into the construct a new feasible sequence sck' k . The feasible insertion of an observation task in different tracks and different insertion positions on the track is determined by the size of the visible time window and the state of the currently scheduled feasible sequence set S. The feasible insertions based on all unscheduled and unfrozen observation tasks in S constitute the candidate feasible insertion list CFIL. A feasible insertion on track K includes the observation task identifier, the time window identifier, the insertion position, the upper bound of the observation start time, the lower bound of the observation start time and the insertion cost. The prior art uses formula (12) to calculate the insertion cost.
[0067] The best algorithm in the current technology is the greedy random iterative heuristic search algorithm. The essence of random greedy construction insertion is to update sch k and CFIL k Dynamically generate a better insertion order. The insertion order is determined by the selection strategy of feasible insertion, which can be customized according to actual demand preferences. In the prior art, for different positions of the same observation task, the feasible insertion is selected according to formula (13) to generate a new candidate feasible insertion list CFIL' k ', then CFIL' k 'Sort by observed returns in descending order and intercept CFIL according to the greed coefficient' k 'The front part in the feasible insertion, and then use the profit roulette method to select a feasible insertion as the observation task for insertion.
[0068]
[0069] Example 2
[0070] according to Figure 1 , Figure 3 and Figure 4 As shown, this embodiment provides an implementation method for solving semi-agile observation satellite mission planning, including the following:
[0071] Step 1: Based on set operations in permutation coding, a method is provided to traverse the insertion positions in the current feasible scheduling sequence and quickly calculate and obtain a candidate feasible insertion list;
[0072] Specifically for sch k Medium p and j s The insertion position between the two is calculated through feasibility judgment and set operation to quickly calculate the candidate feasible insertion. The calculation process is as follows:
[0073] S1, unscheduled and unfrozen observation tasks in track K, filtered by unreachable upper bound start time and unreachable lower bound start time, j s The set of feasible previous observation tasks is denoted as The set of feasible successor observation tasks is denoted as The set of tasks scheduled in is denoted as SCHJ k ; The calculation of the above set is shown in formulas (14)-(16);
[0074]
[0075]
[0076]
[0077] S2,j p and j s The possible feasible observation set PFJ p→s Calculated by formula (17), where FZJ is the frozen observation task;
[0078]
[0079] S3, for j i ∈PFJ p→s ,if Then i Can be inserted into j p and j s Otherwise, it cannot be inserted;
[0080] S4, adding the insertable observations obtained in S1-S3 above to the candidate feasible list;
[0081] S5, traverse sch k All insertion positions between tasks in , according to the above S1-S4 operations, can calculate sch k The candidate feasible insertion list CFIL k .
[0082] Step 2: In the process of inserting the observation tasks one by one, a method for accelerating the generation of a candidate feasible insertion list by iteratively updating the historical values;
[0083] When in sch k Insert new observation tasks into the k When, with CFIL k In comparison, at this time and sch' k The corresponding candidate feasible insertion list CFIL' k will change; here we propose a CFIL-based k Iterative update calculation CFIL' k Method: First assume that the observation j i Insert into observation j p and j s , the insertion position is recorded as ip, CFIL k The following adjustments will be made:
[0084] (1)sch k In all insertion positions, j i A feasible insertion from CFIL k Delete from;
[0085] (2)sch k All possible insertions of location ip from CFIL k Delete it.
[0086] (3)sch' k In step 1, we use the method in step 1 to calculate j i The feasible insertions on both sides of the insertion position are added to the CFIL k middle.
[0087] (4) For j i The feasible insertion in the insertion position after the successor task updates the lower bound time and insertion cost of its observed start time. The feasible insertion that violates the constraint condition due to the update of the lower bound time greater than the upper bound time is removed from CFIL k Delete the steps in the instruction manual. Figure 3 shown.
[0088] (5) For j iThe feasible insertion in the insertion position before the predecessor task updates the upper bound time and insertion cost of its observed start time. The feasible insertion that violates the constraint condition due to the update of the lower bound time being less than the upper bound time is obtained from CFIL k Delete the steps in the instruction manual. Figure 4 shown.
[0089] (6)CFIL k After executing the above steps (1)-(5), update to CFIL' k .
[0090] Step 3: a method for accelerating synchronous updating of the permutation coding numerical solution and the candidate feasible insertion list in step 2;
[0091] When in sch k Observation p and j s Insert a new observation task j i , construct a new feasible observation sequence sch' k When k The arrangement code value of is updated and adjusted as follows:
[0092] (1) j i Join sch k .
[0093] (2)sch k In, J i The lower bound of the observation start time of the subsequent observation task is Use formula (10) for recursive update.
[0094] (3)sch k In, J i The upper bound of the observation start time of the previous observation task is taken as Use formula (11) for recursive update.
[0095] (4)sch k After executing the above steps (1)-(3), it is updated to sch' k .
[0096] Considering that the above (2)-(3) and steps (4)-(5) in step 2 have similar traversal directions and processes, the above traversal processes in the same direction are combined and executed, and steps 2 and 3 are combined with respect to sch k and CFIL k Updated to sch' k and CFIL' kThe operations are merged into one operation to form an insertion operator which is used to construct a heuristic iterative algorithm for target optimization.
[0097] Step 4: Based on the random greedy iterative search framework, the optimization and acceleration operations of steps 1 to 3 are integrated to form an improved greedy random iterative solution algorithm;
[0098] Using the prior art GRILS framework, before the algorithm is executed, it is assumed that the preprocessing has been completed, and the upper and lower bounds of the reachable and unreachable observation start times defined by formulas (6)-(9) can be directly read by table lookup; the basic idea of the algorithm is to construct a solution by greedy random insertion, destroy the solution by jitter operation, iteratively perform the operations of constructing and destroying the solution, and accept and save the improved solution as the optimal solution; the random greedy construction and insertion process is as follows:
[0099] Step 1, initialization: for each track On the empty orbital time axis, two observation tasks are created, one is the first observation task, with the observation mark 0, and the other is the last observation task, with the mark -1. i In j 0 and j -1 The insertion positions between generate feasible insertions and form a list of candidate feasible insertions; the lower bound of the observation start time of the initialized feasible insertion is tws i,q , the upper bound is twe i,q -d i ; Frozen observation tasks
[0100] The second step is to traverse each track and perform a greedy random build insertion operation on each track. During the construction process, the CFIL k Select the observation task to insert, sch k and CFIL k It is also constantly updated until CFIL k When it is empty, the sch k is a better scheduling solution for track k; sch k and CFIL k The update uses the acceleration algorithm in steps 2 and 3;
[0101] Step 3: Summarize the sch of all tracks obtained in step 2 k, for the observations that are scheduled more than twice on different orbits for the same observation task, deduplication is performed according to the deduplication strategy, and it is marked as a frozen observation task to ensure that an observation task is only scheduled once; due to the deduplication operation, the solution is destroyed, then jump to the second step to execute the construction insertion, and execute it in a loop until the solution obtained by the construction does not contain duplicate observations; during the deduplication process, some sch k Since the duplicate deletion task is destroyed, use S5 in step 1 to calculate CFIL k , to achieve the purpose of acceleration, sch k Use formulas (10) and (11) to recalculate the upper and lower bounds of the observation start time of the permutation code according to (2)-(3) in step 3;
[0102] Step 4: Execute steps 1 to 3 to construct a solution to a problem through random greedy insertion. After perturbing the feasible sequence of each trajectory and destroying the constructed solution, recalculate CFIL using S5 in step 1 and recalculate S using (2)-(3) in step 3. Then jump to step 2 to execute greedy random insertion construction, iterate repeatedly and generate a new solution. If the solution searched in the iteration is better than the currently known optimal solution, it is recorded and saved as the optimal solution.
[0103] Example 3
[0104] This embodiment provides an example of a specific implementation process of an improved method for solving semi-agile observation satellite mission planning, including the following:
[0105] First, prepare the example data and preprocess the data
[0106] A public example set with 300 single-star observation tasks is used as an example to illustrate the specific implementation process and method of the present invention.
[0107] 1. The example data of the observation task time window is shown in Table 1 below. In Table 1, each row describes a time window, and the columns from left to right represent the orbit index where the time window is located, the identification of the observation task, the sequence number of the time window under the observation task, the observation benefit, the observation duration, the start time of the time window, and the end time of the time window. The second row in the table represents the observation task j. 1 The information of the second time window.
[0108] Table 1 Time window data
[0109] <![CDATA[o i,q ]]> <![CDATA[j i ]]> <![CDATA[vtw i,q ]]> <![CDATA[p i ]]> <![CDATA[d i ]]> <![CDATA[tws i,q ]]> <![CDATA[twe i,q ]]> 22 1 1 2 20 30321 30635 27 1 2 2 20 65143 65450 20 2 1 4 16 18287 18578 25 2 2 4 16 53095 53424 … … … … … … … 20 8 1 3 24 18749 19074 20 9 1 4 19 18834 19101 22 10 1 5 26 30318 30576 27 10 2 5 26 65178 65521 28 10 3 5 26 71114 71156 … … … … … … … 21 295 1 3 23 24359 24639 27 295 2 3 23 65120 65390 28 296 1 1 28 70650 70718 20 297 1 7 25 18548 18817 26 297 2 7 25 58901 59165
[0110] 2. The observation angle data is shown in Table 2. In Table 2, each row describes the observation angle of an observation task at a specific time. The columns from left to right represent the identification of the observation task, the sequence number of the time window under the observation task, the observation start time, the pitch angle, the roll angle, and the yaw angle. The second row in the table represents the observation task j. 1 The observation angle information of 30322 seconds in the first time window.
[0111] Table 2 Observation angle data
[0112] <![CDATA[j i ]]> <![CDATA[vtw i,q ]]> <![CDATA[t i ]]> roll pitch yaw 1 1 30321 30.09 45 1 1 1 30322 30.132 44.842 1.003511 … … … … … … 1 1 30634 33.695 -44.753 1.005489 1 1 30635 33.673 -44.899 1.002244 1 2 65143 32.165 45 1 1 2 65144 32.182 44.873 1.002822 … … … … … … 1 2 65449 28.514 -44.784 1.0048 1 2 65450 28.471 -44.954 1.001022 2 1 18287 24.458 45 2 2 1 18288 24.47 44.945 2.002444 … … … … … … 2 1 18577 28.485 -44.799 2.008933 2 1 18578 28.469 -44.959 2.001822 2 2 53095 35.908 45 2 2 2 53096 35.917 44.956 2.001956 … … … … … … 2 2 53423 32.67 -44.764 2.010489 2 2 53424 32.626 -44.924 2.003378 297 1 18548 -21.779 45 3.5 297 1 18549 -21.779 44.972 3.502178 … … … … … … 297 1 18816 -15.924 -44.704 3.523022 297 1 18817 -15.884 -44.897 3.508011 297 2 58901 19.864 45 3.5 297 2 58902 19.864 44.939 3.504744 … … … … … … 297 2 59164 14.117 -44.635 3.528389 297 2 59165 14.079 -44.832 3.513067
[0113] 3. The preprocessed data of the lower bound start time of the successor task obtained according to formula (6) is shown in Table 3. The columns in Table 3 are from left to right, j p and vtw p,q represents the previous observation task and its observation window, j s and vtw s,r represents the subsequent observation task and its observation window, t p represents the start observation time of the predecessor observation task, and the last column is the lower bound of the start observation time of the successor task; similarly, according to formula (7), the preprocessed data of the upper bound of the start time of the predecessor task can also be obtained, as shown in Table 4.
[0114] Table 3 Preprocessing data of the earliest start time of the subsequent observation task
[0115] <![CDATA[j p ]]> <![CDATA[vtw p,q ]]> <![CDATA[j s ]]> <![CDATA[vtw s,r ]]> <![CDATA[t p ]]> <![CDATA[EarliestStartTime(vtw p,q ,vtw s,r ,t p )]]> 1 1 10 1 30321 30368 1 1 10 1 30322 30369 … … … … … … 1 1 10 1 30492 30549 1 1 10 1 30493 30550 … … … … … … 1 1 164 1 30324 30615 1 1 164 1 30325 30615 … … … … … … 1 1 164 1 30548 30617 1 1 164 1 30549 30618 … … … … … … 1 1 293 1 30321 30450 1 1 293 1 30322 30450 … … … … … … 1 1 293 1 30614 30654 1 1 293 1 30615 30655 … … … … … … … … … … … … 297 2 17 2 58901 58967 297 2 17 2 58902 58968 … … … … … … 297 2 17 2 59060 59119 297 2 17 2 59061 59120 … … … … … … 297 2 294 2 58901 58985 297 2 294 2 58902 58986 … … … … … … 297 2 294 2 59086 59161 297 2 294 2 59087 59162
[0116] Table 4 Preprocessing data of the latest start time of the preceding observation task
[0117]
[0118]
[0119] 4. According to formula (8), the lower bound time of the predecessor observation task whose adjacent observation task is unreachable is obtained, as shown in Table 5. At this time, the start time of the successor task can be any feasible time within the time window; the columns in Table 5 are from left to right, j p and vtw p,q represents the previous observation task and its observation window, j s and vtw s,r represents the successor observation task and its observation window, and the last column is the lower bound of the start time that the predecessor observation task cannot reach. Similarly, according to formula (9), the preprocessed data of the upper bound of the start time that the successor observation task cannot reach can also be obtained, as shown in Table 6.
[0120] Table 5 Preprocessing data for the lower bound of the start time of the unreachable predecessor observation task
[0121]
[0122]
[0123] Table 6 Preprocessing data of the upper bound of the start time of the unreachable subsequent observation task
[0124]
[0125]
[0126] Second, quickly generate feasible insertion instances based on the insertion position in the feasible sequence
[0127] Assume that the initialization has been completed on track 20 based on the permutation coding and a feasible insertion list has been generated. The observation tasks are selected and inserted one by one through the random greedy framework and decoded to obtain the solution sch on the current track 20 As shown in Table 7, the first and last rows are the virtual first and last tasks, respectively.
[0128] Table 7 Feasible sequences sch using permutation coding 20
[0129]
[0130] Next, we will use the observation task j 205 and j 181 Taking the insertion position between as an example, the calculation process of feasible insertion is explained:
[0131] 1. According to formula (15), select j from Table 6 above s for j 181 and The observation tasks and corresponding time windows are shown in Table 8. p The column is Feasible sequence sch 20 Medium Observation Mission 181 The set of feasible preceding observations .
[0132] Table 8 Feasible sequence sch 20 Medium Observation Mission 181 The set of feasible preceding observations
[0133] <![CDATA[j p ]]> <![CDATA[vtw p,q ]]> <![CDATA[j s ]]> <![CDATA[vtw s,r ]]> <![CDATA[UreachLatestStartTime(vtw p,q , vtw s,r )]]> 2 1 181 1 18948 4 1 181 1 18948 … … … … … … … … … … 100 1 181 1 19033 … … … … … … … … … … 294 1 181 1 18948 297 1 181 1 18948
[0134] 2. According to formula (16), select j from Table 5 above p for j 205 and The observation tasks and corresponding time windows are shown in Table 9. s The column is Feasible sequence sch20 Medium Observation Mission 205 The set of feasible successor observations of .
[0135] Table 9 Feasible sequence sch 20 Medium Observation Mission 205 The set of feasible successor observations
[0136] <![CDATA[j p ]]> <![CDATA[vtw p,q ]]> <![CDATA[j s ]]> <![CDATA[vtw s,r ]]> <![CDATA[UreachEarliestStartTime(vtw p,q , vtw s,r )]]> 205 1 43 1 19255 205 1 87 1 19255 … … … … … … … … … … 205 1 100 1 19219 … … … … … … … … … … 205 1 237 1 19255 205 1 239 1 19255
[0137] 3. According to formula (17), the above sch 20 Find the intersection of the unscheduled observation tasks in S and the unfrozen observation tasks in S; assuming that sch 20 For the first insertion construction, there is no frozen task yet, and the feasible observation set PFJ of the possible insertion position is obtained 205→181 ={j 43 ,j 87 ,…,j 100 ,…,j 237 ,j 239}.
[0138] 4. For If established, then j i Can be inserted into j p and j s Otherwise, it cannot be inserted. Finally, the feasible insertion of the insertion position is {j 100}. Traverse all insertion positions and finally get the candidate feasible insertion list CFIL 20 , as shown in Table 10; j i and vtw i,v represents the insertable observation task and its observation window, j p and vtw p,q represents the previous observation task and its observation window for inserting observation, j s and vtw s,r represents the subsequent observation task and its observation window of the inserted observation; cost i The increment of the switching time after the insertion observation is calculated by formula (13).
[0139] Table 10 Feasible sequence sch 20 Candidate Feasible Insertion List CFIL 20
[0140]
[0141] Third, based on the historical values of the candidate feasible insertion list, a new candidate feasible insertion list is generated
[0142] In the second step above, for sch20 A method to accelerate the generation of CFIL 20 method; when in sch 20 Continue to insert tasks to iteratively generate sch' 20 When using the updated CFIL 20 Generate CFIL' 20 , instead of recalculating, to further accelerate the iterative update process; assuming that the greedy random strategy is used, j is selected 43 Insert into sch 20 , CFIL 20 Update as follows:
[0143] 1. Because J 43 Insert into j 181 and j -1 between, then insert the feasible insertion position from CFIL 20 , that is, in Table 10, delete {j 43 ,j 162 ,j 92 ,j 87 ,}.
[0144] 2. Because J 43 Insert into j 181 and j -1 Between, for sch' 20 The last observation in sch' 20 and CFIL' 20 Medium 43 The previously scheduled observation tasks and the feasible insertion observations All need to be updated recursively forward in sequence; for example, sch' 20 J in 181 of Update from 19296 to 19293, then CFIL' 20 Medium 181 The previous feasible insertion observation j 100 of Updated from 19265 to At this time, it is feasible to insert j 100 becomes an illegal insertion; because sch' 20 Update forward to j 84 After that, with its previous observation j 290 The time interval is far away, and there is sufficient switching time, so that the update stops propagating forward and terminates. 20 Medium 84 The following feasible insertion j 274 and j 68 No longer updated, retained from Table 10; In summary, due to forward updating, the feasible observation to be deleted from Table 10 is j100 , The calculation of is obtained by preprocessing the data and looking up Table 4.
[0145] 3. Similarly, if the selected insertion observation is not at the tail, sch' 20 and CFIL' 20 The number of scheduled observation tasks and feasible insertion observations after inserting observations in All of them must be updated recursively backwards in sequence; due to the backward update, any feasible insertions that cannot be illegal must be deleted from table 10. The calculation of is obtained by preprocessing the data and looking up Table 3.
[0146] After 1-3 above, CFIL' is updated 20 As shown in Table 11.
[0147] Table 11 Feasible sequence sch' 20 Candidate feasible insertion list CFIL' 20
[0148]
[0149] Fourth, the update of the permutation encoding value and the iterative update of the candidate feasible insertion list are executed simultaneously
[0150] Let's take the third point as an example to illustrate. 43 Insert into sch 20 , because j 43 Insert into j 181 and j -1 Between, for sch' 20 The last observation in sch' 20 Medium 43 Previous observations The starting value is recursively updated forward according to formula (11); after the update is completed, CFIL' is recalculated by completely traversing the unscheduled and unfrozen observations and each insertion position under the observation. 20 ; Obviously sch 20 and CFIL 20 Serial updates are not efficient.
[0151] From the third point 2, we can see that sch 20 and CFIL 20 The updates of sch are performed bidirectionally with the observation insertion point as the demarcation point, and the updated content is the upper and lower bounds of the same attribute; this method naturally 20 and CFIL 20 The updates are put into the same loop and executed simultaneously, updating sch' 20 Medium 181 of At the same time, CFIL' 20 Medium 181 The previous feasible insertion observation j 100 of At the same time, update and check the legality and take corresponding measures.
[0152] Fifth, improved and accelerated greedy random iterative search algorithm
[0153] When constructing the solution by greedy random insertion, the candidate feasible insertion list of the third and fourth points is used to iteratively update and simultaneously execute the feasible sequence update acceleration algorithm. When the solution is destroyed by jitter, the method of the second point is used to accelerate the calculation of the candidate feasible insertion list, and then greedy random insertion is performed to reconstruct the solution; different orbit observation deduplication strategies, selection strategies for observations to be inserted, greedy rates and traversal ranges, and the maximum number of iterations without solution improvement use the framework disclosed by Peng Guansheng et al. in the aforementioned background technology. After experimental verification, the search time efficiency is increased by 1 times; Table 12 is the full orbit solution searched in this example.
[0154] Table 12 Examples of full orbital solutions
[0155]
[0156]
[0157]
[0158]
[0159]
[0160] The above shows and describes the basic principles, main features and advantages of the present invention. It should be understood by those skilled in the art that the present invention is not limited to the above embodiments. The above embodiments and descriptions are only for explaining the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention. The scope of protection of the present invention is defined by the attached claims and their equivalents.
Claims
1. An improved method for solving semi-agile observation satellite mission planning, characterized in that: The following steps are involved: Step 1: Based on set operations, the candidate feasible insertion list is quickly calculated. In the permutation coding, based on set operations, the insertion positions in the current feasible scheduling sequence are traversed to quickly calculate and obtain the candidate feasible insertion list; Specifically for sch k Medium p and j s The insertion position between them is calculated through feasibility judgment and set operation to quickly calculate the candidate feasible insertion. The calculation process is as follows: S1, unscheduled and unfrozen observation tasks in track K, filtered by unreachable upper bound start time and unreachable lower bound start time, j s The set of feasible previous observation tasks is denoted as j p The set of feasible successor observation tasks is denoted as sch k The set of tasks scheduled in is denoted as SCHJ k ; The calculation of the above set is shown in formulas (14)-(16); SCHJ k ={j i |j i in sch k } (14) S2,j p and j s The possible feasible observation set PFJ p→s Calculated by formula (17), where FZJ is the frozen observation task; S3, for j i ∈PFJ p→s ,if Then i Can be inserted into j p and j s Otherwise, it cannot be inserted; S4, adding the insertable observations obtained in S1-S3 above to the candidate feasible list; S5, traverse sch k All insertion positions between tasks in , according to the above S1-S4 operations, can calculate sch k The candidate feasible insertion list CFIL k ; Step 2: Based on the iterative update of historical values, a method for accelerating the generation of a candidate feasible insertion list is used to accelerate the generation of a candidate feasible insertion list by iteratively updating historical values during the insertion of observation tasks one by one; When in sch k Insert new observation tasks into the k When, with CFIL k Compared with sch′ k The corresponding candidate feasible insertion list CFIL′ k will change; here we propose a CFIL-based k Iterative update calculation CFIL′ k Method: First assume that the observation j i Insert into observation j p and j s , the insertion position is recorded as ip, CFIL k The following adjustments will be made: (1)sch k In all insertion positions, j i A feasible insertion from CFIL k Delete from; (2)sch k All possible insertions of location ip from CFIL k Delete from; (3) sch′ k In step 1, we use the method in step 1 to calculate j i The feasible insertions on both sides of the insertion position are added to the CFIL k middle; (4) For j i The feasible insertion in the insertion position after the successor task updates the lower bound time and insertion cost of its observed start time. The feasible insertion that violates the constraint condition due to the update of the lower bound time greater than the upper bound time is removed from CFIL k Delete from; (5) For j i The feasible insertion in the insertion position before the predecessor task updates the upper bound time and insertion cost of its observed start time. The feasible insertion that violates the constraint condition due to the update of the lower bound time being less than the upper bound time is obtained from CFIL k Delete from; (6)CFIL k After executing the above steps (1)-(5), update to CFIL′ k ; Step 3: The feasible sequence and the candidate feasible insertion list are synchronously updated, and the numerical solution of the permutation code and the candidate feasible insertion list in step 2 are synchronously updated at an accelerated speed; When in sch k Observation p and j s Insert a new observation task j i , construct a new feasible observation sequence sch′ k When k The arrangement code value of is updated and adjusted as follows: (1) j i Join sch k; (2)sch k In, J i The lower bound of the observation start time of the subsequent observation task is Use formula (10) for recursive update, which is as follows: (3)sch k In, J i The upper bound of the observation start time of the previous observation task is taken as Use formula (11) for recursive update, which is as follows: (4)sch k After executing steps (1)-(3) in step 3 above, update to sch′ k ; Considering that (2)-(3) in step 3 and (4)-(5) in step 2 have similar traversal directions and processes, the traversal processes in the same direction are combined and executed, and steps 2 and 3 are combined with respect to sch k and CFIL k Updated to sch′ k and CFIL′ k The operations are merged into one operation to form an insertion operator for constructing a heuristic iterative algorithm for target optimization; Step 4: Improved greedy random iterative solution algorithm: Based on the random greedy iterative search framework, the optimization and acceleration operations of steps 1 to 3 are integrated to form an improved greedy random iterative solution algorithm, which is used to solve the semi-agile observation satellite mission planning.
Citation Information
Patent Citations
Agile satellite scheduling method considering time-dependent conversion time
CN111651905A
Agile optical satellite scheduling method, device and equipment based on task synthesis
CN117371234A