Satellite interactive validation mode mission planning method based on depth-first search and double time matrix
By constructing a satellite type requirement set and combining a depth-first search algorithm with constraint rule pruning, the problem of lack of collaborative observation modeling in existing satellite mission planning is solved, and a resource-balanced and conflict-free efficient collaborative observation plan is realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HARBIN INST OF TECH
- Filing Date
- 2026-03-02
- Publication Date
- 2026-06-05
AI Technical Summary
Existing satellite mission planning models lack the ability to systematically model collaborative observations of multiple specific types of satellites in interactive verification missions, making it difficult to meet complex constraints. They also neglect conflict avoidance and resource balancing during the planning process, resulting in poor practical feasibility of the proposed solutions.
A mathematical model is constructed to clearly define the satellite type requirement set of the target. A depth-first search algorithm combined with constraint rule pruning is used to generate feasible candidate window combinations. Through discretized dual-time matrix evaluation, high-scoring combinations are iteratively selected to maximize the value score. Satellite load constraints and congestion scoring functions are introduced to ensure that the planning results meet the collaborative observation requirements.
It improved the quality of candidate solutions and planning efficiency, realized a high-quality collaborative observation plan with balanced resources and no conflicts, and enhanced the practical feasibility of satellite mission planning.
Smart Images

Figure FT_1 
Figure SMS_3 
Figure QLYQS_3
Abstract
Description
Technical Field
[0001] This invention belongs to the field of satellite mission planning, specifically involving a satellite interactive verification mode mission planning method based on depth-first search and dual time matrix. Background Technology
[0002] "Interactive verification" is a typical scenario in satellite mission planning, referring to scheduling multiple satellites carrying different types of sensors to jointly observe the same target. Single-type satellite data often only reflects local features of the target, while "interactive verification" uses multiple types of payloads to observe the same target, obtaining different types of observation information, realizing multi-source information fusion, and significantly improving the ability to acquire information about the target.
[0003] Current research on cross-validation is limited, and existing models typically treat all satellites as a homogeneous "resource pool" or one with only simple attribute distinctions. The core of these planning models is establishing a matching relationship between "satellites" and targets within visible time windows, with optimization objectives primarily focused on maximizing the number of observed targets, total observational gains, or global coverage. The fundamental flaw in this approach is the lack of modeling capability for the core logic of "one target, multiple specific types of satellites" in cross-validation tasks. Therefore, existing models produce independent task lists for individual satellites, rather than collaborative "task clusters" with inherent logical connections.
[0004] In terms of solution methods, existing methods widely employ metaheuristic algorithms such as genetic algorithms and ant colony algorithms. Taking genetic algorithms as an example, it is an optimization algorithm that simulates the principles of natural selection and genetics. It searches for the optimal solution to a problem through iterative selection, crossover, and mutation operations, and can effectively handle complex search spaces and find global or near-optimal solutions. Its main drawback is that during satellite autonomous operation mission planning, the onboard computing power is relatively weak, making it difficult to meet the computational resource requirements of intelligent optimization algorithms such as genetic algorithms and ant colony algorithms.
[0005] Furthermore, the optimization objectives of existing algorithms drive them to tend to select "high-return" tasks, with little consideration for resource balancing. This often leads to an over-concentration of tasks on a few satellites, resulting in excessive workload. The handling of conflicts between tasks is mostly done ex-post or through penalty mechanisms, rather than proactively avoiding them during the planning process, causing the planning results to deviate from the optimization objectives. Summary of the Invention
[0006] To address the following problems in existing technologies: lack of systematic multi-satellite collaborative task modeling, difficulty in meeting the complex requirements of "interactive verification"; difficulty in meeting the complex constraints of interactive verification; and neglect of conflict avoidance and resource balancing during the planning process, resulting in poor practical feasibility, this invention proposes a multi-satellite collaborative observation planning scheme for interactive verification tasks. First, a mathematical model is constructed, defining the target's observation requirements as the set of satellite types it needs, ensuring that the planning result is completed collaboratively by multiple heterogeneous satellites. Then, unlike current general schemes that directly plan and solve for visible windows, this invention employs a depth-first search algorithm combined with dynamic pruning of constraint rules to generate feasible candidate window combinations as candidate solutions for interactive verification, and directly plans these window combinations. In the solution phase, after pre-calculating the conflict relationships between each combination, this invention introduces a discretized dual-time matrix—the target observation opportunity matrix and the satellite congestion matrix—to comprehensively evaluate the candidate combinations. Through iterative selection of high-scoring combinations, synchronous removal of conflicting and overloaded satellite association combinations, a planning scheme that maximizes the value score of candidate combinations while satisfying all payload, maneuver, and load constraints is finally output. This invention specifically includes the following steps:
[0007] Step 1: Construct a mathematical model for the interactive verification task planning problem, and describe the interactive verification task planning problem, interactive verification task constraints, and interactive verification task optimization objectives;
[0008] Step 2: Construct candidate window combinations for the interactive verification task using a depth-first search algorithm;
[0009] Step 3: Interactively verify the task planning solution to obtain the interactive verification task planning result.
[0010] The interactive verification task planning problem, interactive verification task constraints, and interactive verification task optimization objective of the planning method are described in detail below:
[0011] (1) The interactive verification task planning problem is described as follows:
[0012] The planning problem is to solve a problem within a planning period. Satellite observation There are several objectives to optimize the objective function; the final output of task planning is mainly the allocation scheme of observation tasks; the task planning problem is expressed as follows:
[0013]
[0014] in:
[0015] It is a collection of satellites, with a total number of satellites. , For any satellite The information it contains includes :
[0016] Represents the types of satellites, assuming there are a total of [number] types of satellites. Seed, then The range of values is arrive All natural numbers;
[0017] The current satellite's designation consists of two types of numbers, namely... , This represents the satellite's number among all satellites of the same type, while This represents the satellite's number among all satellites;
[0018] For the set of observation targets, there are a total of One target to be observed. For any target The information it contains includes ;
[0019] The current target's number among all targets;
[0020] The set of satellite types required to complete the current objective verification task; the elements in the set are the satellite types required by the objective. ;
[0021] For satellite Observation target The set of visible windows ;in, This represents the visible time window of a satellite to a target, and includes parameters such as... ,in:
[0022] For time information of the time window, , Indicates the start and end times of the visible time window. Indicates the duration of the visible window. ;
[0023] , These represent the relevant information of the satellite and the target corresponding to that time window, respectively;
[0024] For the set of constraints;
[0025] The planning method is based on the following assumptions:
[0026] Each observation task is independent; satellite equipment malfunctions are not considered; extreme and special operating conditions are not taken into account.
[0027] Based on the above definitions and assumptions, the purpose of space-based target rotation planning is to select from the window combination set. Select a subset such that the generated planning scheme satisfies the constraint set. To obtain the maximum value score under the premise of;
[0028] (2) The constraints of the interactive verification task are described as follows:
[0029] ① Load capacity constraints
[0030] The observation time windows of the same satellite for different targets must not overlap;
[0031] For any two time windows and ,set up exist Previously, that is The mathematical description of the load capacity constraint is as follows:
[0032] like ,but ;
[0033] ②Maneuver Time Constraints
[0034] maneuver time It refers to the interval time required for a satellite to adjust its attitude and the working status of its imaging instruments when performing two adjacent tasks;
[0035] For any two time windows and ,set up exist Previously, that is Its mathematical description is:
[0036] like ,but ;
[0037] ③ Satellite load constraints
[0038] The number of times the same satellite can be used cannot exceed Second-rate;
[0039] (3) The optimization goals of the interactive verification task are described as follows:
[0040] The optimization objective is to maximize the value score of candidate combinations: the value score is a weighted value of two indicators, target observation opportunity and satellite congestion; the target observation opportunity value reflects the length of time a target can be observed by all satellites, and the satellite congestion reflects the degree of task overlap of a satellite in all candidate solutions.
[0041] Furthermore, in step 2, during the process of constructing candidate window combinations for the interactive verification task, a new time window that simultaneously satisfies the window combination constraint rules is added to the current window combination as the new last window in the window combination. The specific window combination constraint rules are as follows:
[0042] (1) Type non-repetition rule
[0043] When selecting a new candidate window for a window group, a new time window appears. The satellite type cannot be the same as the satellite type already existing in the window combination;
[0044] (2) Window order rules
[0045] When selecting new candidate windows for a window group, a new time window... It must be the last window in the current window group. After that, ;
[0046] (3) Cooperative time rules
[0047] Coordination time is the time interval between adjacent time windows within a window combination allocated for the same objective task; the coordination time must be less than a specified threshold. For any two time windows and ,set up exist Previously, that is The mathematical description of the cooperative time rule is: if ,but .
[0048] Furthermore, step 2 includes the following steps:
[0049] Step 2.1: For each target Construct a candidate window set
[0050] Traverse the collection of visible windows If the time window Then add the time window middle;
[0051] Read satellite demand set Construct an initial empty set of equal number according to the number of types. Then iterate through ,like Then, add the time window to the set of the corresponding satellite type. Among them;
[0052] Step 2.2: Construct window composition based on the depth-first search approach
[0053] Target Satellite demand set The satellite type in the middle is The candidate time windows obtained from step 2.1 are as follows: The idea of depth-first search is used to select a time window from each of the n sets to construct a window combination;
[0054] The specific filtering method is as follows: There are a total of window combinations. This arrangement order, traversing this There are several permutation orders. In each order, if the last window of the current combination can find a new window that satisfies the rules mentioned in step 2.1, then a new time window is added as the last window of the new combination, and the combination continues. If the last window of the current combination can no longer find a time window that meets the requirements, then backtrack to the combination form that can find a new time window and continue to try to combine.
[0055] Step 2.3: Construct the candidate set of window combinations for all targets.
[0056] For each target, construct its own candidate set according to step 2.2, and store it as a subset in the overall candidate set. This serves as the output of the entire step 2.
[0057] Furthermore, the window construction process in step 2.2 is implemented through multiple loops, as follows:
[0058] First loop: Iterate through the combinations There are 10 possible sequences, and each loop corresponds to one permutation order. Let the sequence corresponding to the i-th loop be... ;
[0059] Second loop: The first window in the filter window group. Satellite-like time window candidate set Each cycle represents a different The time window is used as the first window in the group, denoted as... ;
[0060] The third loop iterates through the second window of the filter window group. Satellite-like time window candidate set Each round selects a different one Time window type, denoted as . judge and Check if the three rules in step 2.1 are met. If all three are met, continue to the next level of the loop; if at least one rule is not met, the combination fails and there is no need to proceed to the next level of the loop.
[0061] No. Layered loop: Iterate through the nth window in the filter window group. Satellite-like time window candidate set Each round selects a different one Time window type, denoted as . judge and Does it satisfy the three rules in step 2.1? If all three are satisfied, then all n windows in the combination are determined. Store window combination collection In the middle, assign a globally unique number to the window group. ,Right now If at least one rule is not met, the combination fails, and the process continues. Other options for layered loops;
[0062] After the loop finishes, all generated window combinations are stored in a collection. In the middle, as the target The candidate set of window combinations.
[0063] Furthermore, step 3 includes the following steps:
[0064] Step 3.1: Perform conflict detection on each pair of all window groups to construct a conflict set among window groups. ;
[0065] Step 3.2: Construct a discretized time matrix for all targets and all satellites, and substitute the matrix into the scoring calculation formula to obtain the value score set for all window combinations. .
[0066] Step 3.3: Select the window combination with the highest score to enter the planning results set. and update the total candidate set. .
[0067] Step 3.4: Repeat the above steps until... If the result is empty, the solution process ends, and the set of planning results is output. .
[0068] Further, step 3.1 includes the following steps:
[0069] Step 3.1.1: For any two window combinations, iterate through all time windows within the two window combinations. ;
[0070] Step 3.1.2: When two time windows , Belonging to the same satellite, that is At the same time, load capacity constraints and maneuver time constraints are checked:
[0071] set up exist Previously, that is ,
[0072] like If so, the load capacity constraint is not met;
[0073] like If so, the maneuver time constraint is not satisfied;
[0074] If neither of the two constraints is satisfied, it means that there is a conflict between the two time windows, and therefore it is considered that there is a conflict in the combination of the two windows.
[0075] Step 3.1.3: If the two window combinations conflict, record their respective values. ; Traverse the entire candidate set Establish a conflict set for each candidate window combination. .
[0076] Furthermore, step 3.2 includes the following steps:
[0077] Step 3.2.1: Matrix Initialization
[0078] The task time is discretized into multiple time granularities of equal length, and two time matrices are constructed on this basis. The time windows in the interactive verification window combination are transformed into elements in the time matrix.
[0079] First, construct a scoring matrix to evaluate the abundance of observation opportunities for a target: Establish a... 3D matrix , This indicates the number of targets, with each line corresponding to one target. This represents the total number of discretized time segments; the time discretization granularity is set to 1 minute, and each column represents a specific point in time.
[0080] Next, a scoring matrix is constructed to evaluate satellite congestion: [Establish a...] 3D matrix , This indicates the number of satellites, with each row corresponding to one satellite. This represents the total number of discretized time segments; the time discretization granularity is set to 1 minute, and each column represents a specific point in time.
[0081] Both matrices are initially set to have all elements of 0.
[0082] Step 3.2.2: Matrix Update
[0083] The matrix update will be performed within two nested loops: the outer loop has a total of Wheel; in each outer cycle of the wheel, the following is performed. Inner layer circulation, in which This refers to the number of window combinations corresponding to the target in the outer loop of this round;
[0084] The specific operation process is as follows:
[0085] Assuming we are currently at the [number]th ... The outer loop of the wheel, at this time the corresponding target is Read Candidate set of window combinations Then proceed with the inner loop. In the... The candidate window combination read in the inner loop of the round is Reading further All included Each time window is then used to process the matrix. sum matrix Update;
[0086] matrix The update first requires determining the correspondence between the time segments and matrix columns based on the start and end times of the time window; furthermore, considering the impact of maneuver time constraints, a maneuver time needs to be added to the time window. Process accordingly; if the time window corresponds to the first [time window] of the matrix... List to Columns, then the matrix The OK Listed to number OK All elements of the column That's all;
[0087] matrix The update requires first reading the satellite number information in the time window. ,make The subsequent operations are the same as the matrix update method, that is, the matrix... The OK Listed to number OK All elements of the column That's all;
[0088] Step 3.2.3: Calculation of Window Combination Value Score
[0089] For matrix Summing each row yields the observation chance value of the target. Observation opportunity value The value contribution of the observation chance value after normalization :
[0090]
[0091] For matrix The satellite congestion level is obtained by multiplying the non-zero elements in each row. , will increase congestion The value contribution of congestion is obtained after normalization:
[0092]
[0093] Constructing a value scoring function for a window composition: For a window composition Its task rating is defined as
[0094]
[0095] in:
[0096] , This is the weighting coefficient, reflecting the relative importance of the two indicators. ;
[0097] yes The value contribution of the observation opportunity value corresponding to the target;
[0098] yes The sum of the value contributions of all satellites within the system due to congestion;
[0099] Calculated according to the above calculation method Value scores for all window combinations are stored in a score set. middle.
[0100] Furthermore, step 3.3 includes the following steps:
[0101] Step 3.3.1: Select planning results based on value scores and update the candidate set.
[0102] Read the rating collection Find the window combination with the highest rating value and denote it as... ,Will Store the sequence of interactive verification task planning results Among them, and will All candidate window combinations corresponding to the target are selected from the total candidate set. Remove from;
[0103] Step 3.3.2: Update the total candidate set based on conflict relationships.
[0104] Read of Sets, obtaining and Window combinations with conflicting relationships are numbered, and these windows are removed from the overall candidate set. Remove from;
[0105] Step 3.3.3: Update the total candidate set according to satellite payload constraints
[0106] Statistics of the current The number of windows for each satellite is used as the satellite's mission count. It is then checked whether any satellite has reached a set threshold for mission count; if so, a candidate set is identified. All window combinations related to that satellite are included in the collection, and these window combinations are removed from the collection.
[0107] Furthermore, the specific method for step 3.4 is as follows:
[0108] like If it is not empty, return to step 3.1 and iterate through the updated... Determine the conflict relationships in the window grouping, and then proceed to step 3.2 to calculate. The updated matrix is then used to calculate a new set of value scores. Then, repeat step 3.3 to select the best window combination for the next round, and continue this process in a loop until... If the value is empty, the solution ends and the output is complete. To interactively verify the results of the task planning.
[0109] The beneficial effects of this invention compared to the prior art are as follows:
[0110] 1. A dedicated mathematical model for interactive verification mission planning was established, clearly defining the satellite type requirements for a target and specifying which types of satellites are needed to jointly complete a target. Based on this, window combinations were constructed for mission planning, ensuring that windows within a combination come from different types of satellites, thus fundamentally satisfying the basic premise of collaborative observation.
[0111] 2. A method combining Depth-First Search (DFS) and rule pruning is used to construct candidate window combinations. At each step of DFS, three rules are strictly enforced: "no duplicate types," "window order," and "cooperation time." If any rule is not met, backtracking is immediately initiated, avoiding continued searching on invalid branches. This method ensures that every candidate window combination is a feasible solution satisfying the basic cooperation constraints during the generation phase, greatly improving the quality of the candidate solution set and the efficiency of subsequent planning.
[0112] 3. Introducing Satellite Load Constraints and Dynamic Update Mechanisms: A maximum number of missions per satellite is set. During the iterative solution process, the number of satellite missions is counted in real time. Once the threshold is reached, all related candidate combinations for that satellite are immediately removed to prevent excessive satellite consumption. Furthermore, a scoring function considering satellite congestion costs is constructed. This allows the algorithm to automatically favor schemes using "less busy" satellites when selecting high-scoring missions, thereby guiding load balancing globally and improving the long-term sustainable utilization of space resources. Attached Figure Description
[0113] Figure 1 This is the flowchart for step 3. Detailed Implementation
[0114] The present invention will be further described below with reference to specific embodiments.
[0115] The specific implementation method is as follows:
[0116] Step 1: Construct a mathematical model for the interactive verification task planning problem, and describe the interactive verification task planning problem, interactive verification task constraints, and interactive verification task optimization objectives;
[0117] The interactive verification task planning problem, interactive verification task constraints, and interactive verification task optimization objective of the planning method are described in detail below:
[0118] (1) The interactive verification task planning problem is described as follows:
[0119] The planning problem is to solve a problem within a planning period. Satellite observation There are several objectives to optimize the objective function; the final output of task planning is mainly the allocation scheme of observation tasks; the task planning problem is expressed as follows:
[0120]
[0121] in:
[0122] It is a collection of satellites, with a total number of satellites. , For any satellite The information it contains includes :
[0123] Represents the types of satellites, assuming there are a total of [number] types of satellites. Seed, then The range of values is arrive All natural numbers;
[0124] The current satellite's designation consists of two types of numbers, namely... , This represents the satellite's number among all satellites of the same type, while This represents the satellite's number among all satellites;
[0125] For the set of observation targets, there are a total of One target to be observed. For any target The information it contains includes ;
[0126] The current target's number among all targets;
[0127] The set of satellite types required to complete the current objective verification task; the elements in the set are the satellite types required by the objective. ;
[0128] For satellite Observation target The set of visible windows ;in, This represents the visible time window of a satellite to a target, and includes parameters such as... ,in:
[0129] For time information of the time window, , Indicates the start and end times of the visible time window. Indicates the duration of the visible window. ;
[0130] , These represent the relevant information of the satellite and the target corresponding to that time window, respectively;
[0131] For the set of constraints;
[0132] The planning method is based on the following assumptions:
[0133] Each observation task is independent; satellite equipment malfunctions are not considered; extreme and special operating conditions are not taken into account.
[0134] Based on the above definitions and assumptions, the purpose of space-based target rotation planning is to select from the window combination set. Select a subset such that the generated planning scheme satisfies the constraint set. To obtain the maximum value score under the premise of;
[0135] (2) The constraints of the interactive verification task are described as follows:
[0136] ① Load capacity constraints
[0137] The observation time windows of the same satellite for different targets must not overlap;
[0138] For any two time windows and ,set up exist Previously, that is The mathematical description of the load capacity constraint is as follows:
[0139] like ,but ;
[0140] ②Maneuver Time Constraints
[0141] maneuver time It refers to the interval time required for a satellite to adjust its attitude and the working status of its imaging instruments when performing two adjacent tasks;
[0142] For any two time windows and ,set up exist Previously, that is Its mathematical description is:
[0143] like ,but ;
[0144] ③ Satellite load constraints
[0145] The number of times the same satellite can be used cannot exceed Second-rate;
[0146] (3) The optimization goals of the interactive verification task are described as follows:
[0147] The optimization objective is to maximize the value score of candidate combinations: the value score is a weighted value of two indicators, target observation opportunity and satellite congestion; the target observation opportunity value reflects the length of time a target can be observed by all satellites, and the satellite congestion reflects the degree of task overlap of a satellite in all candidate solutions.
[0148] Step 2: Construct candidate window combinations for the interactive verification task using a depth-first search algorithm;
[0149] In step 2, during the process of constructing candidate window combinations for the interactive verification task, a new time window that simultaneously satisfies the window combination constraint rules is added to the current window combination as the new last window in the window combination. The specific window combination constraint rules are as follows:
[0150] (1) Type non-repetition rule
[0151] When selecting a new candidate window for a window group, a new time window appears. The satellite type cannot be the same as the satellite type already existing in the window combination;
[0152] (2) Window order rules
[0153] When selecting new candidate windows for a window group, a new time window... It must be the last window in the current window group. After that, ;
[0154] (3) Cooperative time rules
[0155] Coordination time is the time interval between adjacent time windows within a window combination allocated for the same objective task; the coordination time must be less than a specified threshold. For any two time windows and ,set up exist Previously, that is The mathematical description of the cooperative time rule is: if ,but .
[0156] Step 2 includes the following steps:
[0157] Step 2.1: For each target Construct a candidate window set
[0158] Traverse the collection of visible windows If the time window Then add the time window middle;
[0159] Read satellite demand set Construct an initial empty set of equal number according to the number of types. Then iterate through ,like Then, add the time window to the set of the corresponding satellite type. Among them;
[0160] Step 2.2: Construct window composition based on the depth-first search approach
[0161] Target Satellite demand set The satellite type in the middle is The candidate time windows obtained from step 2.1 are as follows: The idea of depth-first search is used to select a time window from each of the n sets to construct a window combination;
[0162] The specific filtering method is as follows: There are a total of window combinations. This arrangement order, traversing this There are several permutation orders. In each order, if the last window of the current combination can find a new window that satisfies the rules mentioned in step 2.1, then a new time window is added as the last window of the new combination, and the combination continues. If the last window of the current combination can no longer find a time window that meets the requirements, then backtrack to the combination form that can find a new time window and continue to try to combine.
[0163] With any target For example, in this specific implementation, we assume n=3, and that its satellite demand set... The satellite types are A, B, and C, and the candidate time windows obtained from step 2.1 are respectively... , , Constructing a window combination involves selecting one time window from each of these three sets.
[0164] According to the principle of permutations and combinations, based on the three different types of satellites, there are a total of [number missing] window combinations. There are six possible permutation orders. The construction process involves traversing these six permutation orders and using a depth-first search algorithm to combine and construct within each order: if the last window in the current combination can find a new window that satisfies the rules mentioned in step 2.1, then a new time window is added as the last window of the new combination, and the combination continues; if the last window in the current combination can no longer find a time window that meets the requirements, then backtracking to the combination form that can find a new time window, and continuing to try to combine.
[0165] The build process can be implemented using multiple loops, as follows:
[0166] Outermost loop: Iterates through the six possible sequences of combinations. For ease of explanation, let's use... The following steps will be performed using the order of the steps as an example.
[0167] The second loop—the first window of the window combination: iterates through the candidate set of time windows for Class A satellites. Each iteration represents a different type A time window as the first window in the combination, denoted as... .
[0168] The third loop – the second window in the window combination: traversing the candidate set of time windows for Class B satellites. In each round, a different type B time window is selected, denoted as . . judge and Check if the three rules in step 2.1 are met. If all three are met, continue to the next level of the loop; if at least one rule is not met, the combination fails and there is no need to proceed to the next level of the loop.
[0169] The fourth loop—the third window in the window combination: traversing the candidate set of time windows for Class C satellites. In each round, a different C-type time window is selected, denoted as... . judge and Does it meet the three rules in step 2.1? If all three rules are met, then all three combined windows are determined, and... , , Store window combination collection In the middle, assign a globally unique number to the window group. ,Right now If at least one rule is not met, the combination fails, and the process continues with other options in the fourth level of the loop.
[0170] After the loop finishes, all generated window combinations are stored in a collection. In the middle, as the target The candidate set of window combinations.
[0171] Step 2.3: Construct the candidate set of window combinations for all targets.
[0172] For each target, construct its own candidate set according to step 2.2, and store it as a subset in the overall candidate set. This serves as the output of the entire step 2.
[0173] Step 3: Interactively verify the task planning solution to obtain the interactive verification task planning result.
[0174] Step 3 includes the following steps:
[0175] Step 3.1: Perform conflict detection on each pair of all window groups to construct a conflict set among window groups. ;
[0176] Step 3.1 includes the following steps:
[0177] Step 3.1.1: For any two window combinations, iterate through all time windows within the two window combinations. ;
[0178] Step 3.1.2: When two time windows , Belonging to the same satellite, that is At the same time, load capacity constraints and maneuver time constraints are checked:
[0179] set up exist Previously, that is ,
[0180] like If so, the load capacity constraint is not met;
[0181] like If so, the maneuver time constraint is not satisfied;
[0182] If neither of the two constraints is satisfied, it means that there is a conflict between the two time windows, and therefore it is considered that there is a conflict in the combination of the two windows.
[0183] Step 3.1.3: If the two window combinations conflict, record their respective values. ; Traverse the entire candidate set Establish a conflict set for each candidate window combination. .
[0184] Step 3.2: Construct a discretized time matrix for all targets and all satellites, and substitute the matrix into the scoring calculation formula to obtain the value score set for all window combinations. .
[0185] Furthermore, step 3.2 includes the following steps:
[0186] Step 3.2.1: Matrix Initialization
[0187] The task time is discretized into multiple time granularities of equal length, and two time matrices are constructed on this basis. The time windows in the interactive verification window combination are transformed into elements in the time matrix.
[0188] First, construct a scoring matrix to evaluate the abundance of observation opportunities for a target: Establish a... 3D matrix , This indicates the number of targets, with each line corresponding to one target. This represents the total number of discretized time segments; the time discretization granularity is set to 1 minute, and each column represents a specific point in time.
[0189] Next, a scoring matrix is constructed to evaluate satellite congestion: [Establish a...] 3D matrix , This indicates the number of satellites, with each row corresponding to one satellite. This represents the total number of discretized time segments; the time discretization granularity is set to 1 minute, and each column represents a specific point in time.
[0190] Both matrices are initially set to have all elements of 0.
[0191] Step 3.2.2: Matrix Update
[0192] The matrix update will be performed within two nested loops: the outer loop has a total of Wheel; in each outer cycle of the wheel, the following is performed. Inner layer circulation, in which This refers to the number of window combinations corresponding to the target in the outer loop of this round;
[0193] The specific operation process is as follows:
[0194] Assuming we are currently at the [number]th ... The outer loop of the wheel, at this time the corresponding target is Read Candidate set of window combinations Then proceed with the inner loop. In the... The candidate window combination read in the inner loop of the round is Reading further All included Each time window is then used to process the matrix. sum matrix Update;
[0195] matrix The update first requires determining the correspondence between the time segments and matrix columns based on the start and end times of the time window; furthermore, considering the impact of maneuver time constraints, a maneuver time needs to be added to the time window. Process accordingly; if the time window corresponds to the first [time window] of the matrix... List to Columns, then the matrix The OK Listed to number OK All elements of the column That's all;
[0196] matrix The update requires first reading the satellite number information in the time window. ,make The subsequent operations are the same as the matrix update method, that is, the matrix... The OK Listed to number OK All elements of the column That's all;
[0197] Step 3.2.3: Calculation of Window Combination Value Score
[0198] For matrix Summing each row yields the observation chance value of the target. Observation opportunity value The value contribution of the observation chance value after normalization :
[0199]
[0200] For matrix The satellite congestion level is obtained by multiplying the non-zero elements in each row. , will increase congestion The value contribution of congestion is obtained after normalization:
[0201]
[0202] Constructing a value scoring function for a window composition: For a window composition Its task rating is defined as
[0203]
[0204] in:
[0205] , This is the weighting coefficient, reflecting the relative importance of the two indicators. ;
[0206] yes The value contribution of the observation opportunity value corresponding to the target;
[0207] yes The sum of the value contributions of all satellites within the system due to congestion;
[0208] Calculated according to the above calculation method Value scores for all window combinations are stored in a score set. middle.
[0209] Step 3.3: Select the window combination with the highest score to enter the planning results set. and update the total candidate set. .
[0210] Step 3.3 includes the following steps:
[0211] Step 3.3.1: Select planning results based on value scores and update the candidate set.
[0212] Read the rating collection Find the window combination with the highest rating value and denote it as... ,Will Store the sequence of interactive verification task planning results Among them, and will All candidate window combinations corresponding to the target are selected from the total candidate set. Remove from;
[0213] Step 3.3.2: Update the total candidate set based on conflict relationships.
[0214] Read of Sets, obtaining and Window combinations with conflicting relationships are numbered, and these windows are removed from the overall candidate set. Remove from;
[0215] Step 3.3.3: Update the total candidate set according to satellite payload constraints
[0216] Statistics of the current The number of windows for each satellite is used as the satellite's mission count. It is then checked whether any satellite has reached a set threshold for mission count; if so, a candidate set is identified. All window combinations related to that satellite are included in the collection, and these window combinations are removed from the collection.
[0217] Step 3.4: Repeat the above steps until... If the result is empty, the solution process ends, and the set of planning results is output. .
[0218] Step 3.4 The specific method is as follows:
[0219] like If it is not empty, return to step 3.1 and iterate through the updated... Determine the conflict relationships in the window grouping, and then proceed to step 3.2 to calculate. The updated matrix is then used to calculate a new set of value scores. Then, repeat step 3.3 to select the best window combination for the next round, and continue this process in a loop until... If the value is empty, the solution ends and the output is complete. To interactively verify the results of the task planning.
[0220] Simulation verification
[0221] To verify the above method, this invention constructed a heterogeneous constellation containing 324 satellites of 4 payload types, performed collaborative observation planning for 500 space targets, and defined the types of observation satellites required for the 500 targets.
[0222] Within a 24-hour planning cycle, at least 55 visible time windows are generated for each target. These windows are randomly distributed over 86,400 seconds, lasting from 60 to 300 seconds, resulting in a total of 32,500 time windows. Directly performing a search for coordinating constraints at this level would face an insurmountable combinatorial explosion dilemma. However, according to the method in step two of this invention (with a specified time threshold of 600 seconds), firstly, based on the set of satellite types required by the target, available time windows that meet its type constraints are selected for each target. Then, a recursive depth-first search algorithm is used to enumerate all possible window permutations and combinations, ultimately yielding 42,949 effective candidate combinations that pre-satisfy the core constraints such as coordinating time intervals and type combinations. On average, each target obtains 85.9 candidate combinations. Statistically, based on the combination length, there are 7,486 combinations with 1 window, 10,727 combinations with 2 windows, 13,259 combinations with 3 windows, and 11,477 combinations with 4 windows. This invention simplifies the search space of subsequent optimization problems by several orders of magnitude, enabling the solution algorithm to operate on a high-quality, low-redundancy set of "cooperative action primitives," thereby effectively avoiding combinatorial explosion.
[0223] Building upon this, the simulation was continued using the method described in step three. The maneuver time constraint for all satellites was set to 60 seconds, the satellite mission threshold to 15, and the weights for the value contribution of observation opportunity and congestion were both set to 0.5. Simulation results showed that the final window combination number was 500, covering 500 targets, achieving 100% target coverage. This demonstrates that the method can effectively perform interactive verification mission planning in practice, achieving a good closed loop from theoretical model to engineering practice.
[0224] Furthermore, the total number of satellites used in this interactive verification mission planning was 295, with an average of 4.30 uses per satellite. Type 1 satellites were used 322 times, Type 2 satellites were used 320 times, Type 3 satellites were used 314 times, and Type 4 satellites were used 312 times. The load on each satellite was significantly balanced. This result confirms that this method overcomes the resource overload and conflict problems that often occur in traditional planning through proactive conflict avoidance and load balancing decisions, and can generate highly executable solutions.
[0225] In summary, this simulation experiment comprehensively verifies the overall effectiveness of the proposed method from three aspects: completeness of collaborative modeling, feasibility of solution efficiency, and practical executability of the scheme. The results show that this method can systematically address the complex requirements of interactive verification tasks and efficiently generate high-quality collaborative observation plans that are resource-balanced and conflict-free.
Claims
1. A satellite interactive verification pattern mission planning method based on depth-first search and dual-time matrix, characterized in that, Includes the following steps: Step 1: Construct a mathematical model for the interactive verification task planning problem, and describe the interactive verification task planning problem, interactive verification task constraints, and interactive verification task optimization objectives; Step 2: Construct candidate window combinations for the interactive verification task using a depth-first search algorithm; Step 3: Interactively verify the task planning solution to obtain the interactive verification task planning result.
2. The planning method according to claim 1, characterized in that, (1) The interactive verification task planning problem is described as follows: The planning problem is to solve a problem within a planning period. Satellite observation There are several objectives to optimize the objective function; the final output of task planning is mainly the allocation scheme of observation tasks; the task planning problem is expressed as follows: in: It is a collection of satellites, with a total number of satellites. , For any satellite The information it contains includes : Represents the types of satellites, assuming there are a total of [number] types of satellites. Seed, then The range of values is arrive All natural numbers; The current satellite's designation consists of two types of numbers, namely... , This represents the satellite's number among all satellites of the same type, while This represents the satellite's number among all satellites; For the set of observation targets, there are a total of One target to be observed. For any target The information it contains includes ; The current target's number among all targets; The set of satellite types required to complete the current objective verification task; the elements in the set are the satellite types required by the objective. ; For satellite Observation target The set of visible windows ;in, This represents the visible time window of a satellite to a target, and includes parameters such as... ,in: For time information of the time window, , Indicates the start and end times of the visible time window. Indicates the duration of the visible window. ; , These represent the relevant information of the satellite and the target corresponding to that time window, respectively; For the set of constraints; The planning method is based on the following assumptions: Each observation task is independent; satellite equipment malfunctions are not considered; extreme and special operating conditions are not taken into account. Based on the above definitions and assumptions, the purpose of space-based target rotation planning is to select from the window combination set. Select a subset such that the generated planning scheme satisfies the constraint set. To obtain the maximum value score under the premise of; (2) The constraints of the interactive verification task are described as follows: ① Load capacity constraints The observation time windows of the same satellite for different targets must not overlap; For any two time windows and ,set up exist Previously, that is The mathematical description of the load capacity constraint is as follows: like ,but ; ②Maneuver Time Constraints maneuver time It refers to the interval time required for a satellite to adjust its attitude and the working status of its imaging instruments when performing two adjacent tasks; For any two time windows and ,set up exist Previously, that is Its mathematical description is: like ,but ; ③ Satellite load constraints The number of times the same satellite can be used cannot exceed Second-rate; (3) The optimization goals of the interactive verification task are described as follows: The optimization objective is to maximize the value score of candidate combinations: the value score is a weighted value of two indicators, target observation opportunity and satellite congestion; the target observation opportunity value reflects the length of time a target can be observed by all satellites, and the satellite congestion reflects the degree of task overlap of a satellite in all candidate solutions.
3. The planning method according to claim 1, characterized in that, In step 2, during the process of constructing candidate window combinations for the interactive verification task, a new time window that simultaneously satisfies the window combination constraint rules is added to the current window combination as the new last window in the window combination. The specific window combination constraint rules are as follows: (1) Type non-repetition rule When selecting a new candidate window for a window group, a new time window appears. The satellite type cannot be the same as the satellite type already existing in the window combination; (2) Window order rules When selecting new candidate windows for a window group, a new time window... It must be the last window in the current window group. After that, ; (3) Cooperative time rules Coordination time is the time interval between adjacent time windows within a window combination allocated for the same objective task; the coordination time must be less than a specified threshold. ; For any two time windows and ,set up exist Previously, that is The mathematical description of the cooperative time rule is: if ,but .
4. The planning method according to claim 3, characterized in that, Step 2 includes the following steps: Step 2.1: For each target Construct a candidate window set Traverse the collection of visible windows If the time window Then add the time window middle; Read satellite demand set Construct an initial empty set of equal number according to the number of types. Then iterate through ,like Then, add the time window to the set of the corresponding satellite type. Among them; Step 2.2: Construct window composition based on the depth-first search approach Target Satellite demand set The satellite type in The candidate time windows obtained from step 2.1 are as follows: The idea of depth-first search is used to select a time window from each of the n sets to construct a window combination; The specific filtering method is as follows: There are a total of window combinations This arrangement order, traversing this There are several permutation orders. In each order, if the last window of the current combination can find a new window that satisfies the rules mentioned in step 2.1, then a new time window is added as the last window of the new combination, and the combination continues. If the last window of the current combination can no longer find a time window that meets the requirements, then backtrack to the combination form that can find a new time window and continue to try to combine. Step 2.3: Construct the candidate set of window combinations for all targets. For each target, construct its own candidate set according to step 2.2, and store it as a subset in the overall candidate set. This serves as the output of the entire step 2.
5. The planning method according to claim 4, characterized in that, Step 2.2 The window construction process is implemented through multiple loops, as follows: First loop: Iterate through the combinations There are 10 possible sequences, and each loop corresponds to one permutation order. Let the sequence corresponding to the i-th loop be... ; Second loop: The first window in the filter window group. Satellite-like time window candidate set Each cycle represents a different The time window is used as the first window in the group, denoted as... ; The third loop iterates through the second window of the filter window group. Satellite-like time window candidate set Each round selects a different one Time window type, denoted as . judge and Check if the three rules in step 2.1 are met. If all three are met, continue to the next level of the loop; if at least one rule is not met, the combination fails and there is no need to proceed to the next level of the loop. No. Layered loop: Iterate through the nth window in the filter window group. Satellite-like time window candidate set Each round selects a different one Time window type, denoted as . judge and Does it satisfy the three rules in step 2.1? If all three are satisfied, then all n windows in the combination are determined. Store window combination collection In the middle, assign a globally unique number to the window group. ,Right now If at least one rule is not met, the combination fails, and the process continues. Other options for layered loops; After the loop finishes, all generated window combinations are stored in a collection. In the middle, as the target The candidate set of window combinations.
6. The planning method according to claim 1, characterized in that, Step 3 includes the following steps: Step 3.1: Perform conflict detection on each pair of all window groups to construct a conflict set among window groups. ; Step 3.2: Construct a discretized time matrix for all targets and all satellites, and substitute the matrix into the scoring calculation formula to obtain the value score set for all window combinations. . Step 3.3: Select the window combination with the highest score to enter the planning results set. and update the total candidate set. . Step 3.4: Repeat the above steps until... If the result is empty, the solution process ends, and the set of planning results is output. .
7. The planning method according to claim 6, characterized in that, Step 3.1 includes the following steps: Step 3.1.1: For any two window combinations, iterate through all time windows within the two window combinations. ; Step 3.1.2: When two time windows , Belonging to the same satellite, that is At the same time, load capacity constraints and maneuver time constraints are checked: set up exist Previously, that is , like If so, the load capacity constraint is not met; like If so, the maneuver time constraint is not satisfied; If neither of the two constraints is satisfied, it means that there is a conflict between the two time windows, and therefore it is considered that there is a conflict in the combination of the two windows. Step 3.1.3: If the two window combinations conflict, record their respective values. ; Traverse the entire candidate set Establish a conflict set for each candidate window combination. .
8. The planning method according to claim 6, characterized in that, Step 3.2 includes the following steps: Step 3.2.1: Matrix Initialization The task time is discretized into multiple time granularities of equal length. Based on this, two time matrices are constructed, and the time windows in the interactive verification window combination are transformed into elements in the time matrix. First, construct a scoring matrix to evaluate the abundance of observation opportunities for a target: Establish a... 3D matrix , This indicates the number of targets, with each line corresponding to one target. This represents the total number of discretized time segments; the time discretization granularity is set to 1 minute, and each column represents a specific point in time. Next, a scoring matrix is constructed to evaluate satellite congestion: [Establish a...] 3D matrix , This indicates the number of satellites, with each row corresponding to one satellite. This represents the total number of discretized time segments; the time discretization granularity is set to 1 minute, and each column represents a specific point in time. Both matrices are initially set to have all elements of 0. Step 3.2.2: Matrix Update The matrix update will be performed within two nested loops: the outer loop has a total of Wheel; in each outer cycle of the wheel, the following is performed. Inner layer circulation, in which This refers to the number of window combinations corresponding to the target in the outer loop of this round; The specific operation process is as follows: Assuming we are currently at the [number]th ... The outer loop of the wheel, at this time the corresponding target is Read Candidate set of window combinations Then proceed with the inner loop. In the... The candidate window combination read in the inner loop of the round is Reading further All included Each time window is then used to process the matrix. sum matrix Update; matrix The update first requires determining the correspondence between the time segments and matrix columns based on the start and end times of the time window; furthermore, considering the impact of maneuver time constraints, a maneuver time needs to be added to the time window. Process accordingly; if the time window corresponds to the first [time window] of the matrix... List to Columns, then the matrix The OK Listed to number OK All elements of the column That's all; matrix The update requires first reading the satellite number information in the time window. ,make The subsequent operations are the same as the matrix update method, that is, the matrix... The OK Listed to number OK All elements of the column That's all; Step 3.2.3: Calculation of Window Combination Value Score For matrix Summing each row yields the observation chance value of the target. Observation opportunity value The value contribution of the observation chance value after normalization : For matrix The satellite congestion level is obtained by multiplying the non-zero elements in each row. , will increase congestion The value contribution of congestion is obtained after normalization: Constructing a value scoring function for a window composition: For a window composition Its task rating is defined as in: , This is the weighting coefficient, reflecting the relative importance of the two indicators. ; yes The value contribution of the observation opportunity value corresponding to the target; yes The sum of the value contributions of all satellites within the system due to congestion; Calculated according to the above calculation method Value scores for all window combinations are stored in a score set. middle.
9. The planning method according to claim 6, characterized in that, Step 3.3 includes the following steps: Step 3.3.1: Select planning results based on value scores and update the candidate set. Read the rating collection Find the window combination with the highest rating value and denote it as... ,Will Store the sequence of interactive verification task planning results Among them, and will All candidate window combinations corresponding to the target are selected from the total candidate set. Remove from; Step 3.3.2: Update the total candidate set based on conflict relationships. Read of Sets, obtaining and Window combinations with conflicting relationships are numbered, and these windows are removed from the overall candidate set. Remove from; Step 3.3.3: Update the total candidate set according to satellite payload constraints Statistics of the current The number of windows for each satellite is used as the satellite's mission count. It is then checked whether any satellite has reached a set threshold for mission count; if so, a candidate set is identified. All window combinations related to that satellite are included in the collection, and these window combinations are removed from the collection.
10. The planning method according to claim 6, characterized in that, Step 3.4 The specific method is as follows: like If it is not empty, return to step 3.1 and iterate through the updated... Determine the conflict relationships in the window grouping, and then proceed to step 3.2 to calculate. The updated matrix is then used to calculate a new set of value scores. Then, repeat step 3.3 to select the best window combination for the next round, and continue this process in a loop until... If the value is empty, the solution ends and the output is displayed. To interactively verify the results of the task planning.