A satellite mission scheduling method and apparatus based on a hierarchical multi-objective evolutionary algorithm
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-01
- Publication Date
- 2026-08-14
AI Technical Summary
[0005]本发明的目的是为了解决在大规模调度场景下,敏捷地球观测卫星如何克服平衡多目标冲突,提高对复杂动态约束适应性,提高调度性能的问题
[0021] This invention constructs a candidate satellite set based on constraints, eliminating satellites that do not meet constraints such as the mission visibility window, observation quality threshold, and imaging time, thus achieving efficient one-time pruning of the decision space. Simultaneously, the hierarchical architecture decouples task allocation from window scheduling, significantly reducing the invalid search space and greatly improving optimization efficiency. For example, in large-scale scheduling scenarios, it can quickly narrow the search range, focusing on optimizing the effective solution space.
Smart Images

Figure CN122572913A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of aerospace mission planning and scheduling technology, specifically to a satellite mission scheduling method and apparatus based on a hierarchical multi-objective evolutionary algorithm. Background Technology
[0002] With the rapid expansion of remote sensing satellite constellations and the diversification of observation needs, traditional single-satellite scheduling or small-scale collaborative scheduling models can no longer effectively support large-scale scheduling scenarios with mission scales exceeding thousands. Agile Earth observation satellites possess multi-degree-of-freedom attitude rapid maneuvering capabilities, supporting multi-angle observation of multiple targets in a single transit, which significantly improves resource efficiency, but also leads to an exponential expansion of the scheduling decision space.
[0003] Currently, multi-objective conflicts (such as the contradiction between maximizing mission benefits and balancing the load of each satellite) and insufficient adaptability under complex dynamic constraints have become the core bottlenecks restricting the performance of agile satellite scheduling. Existing heuristic algorithms (such as genetic algorithms and particle swarm optimization algorithms) generally suffer from low convergence accuracy, susceptibility to local optima, low search efficiency, and uneven distribution of resource load when dealing with large-scale scenarios. In addition, existing technologies often fail to fully consider the hierarchical decoupling characteristics between task allocation and window scheduling, and lack the ability to learn from historical optimization experience, which limits the solution quality of the algorithms in large-scale dynamic environments.
[0004] In summary, the existing technologies have the following problems: In large-scale scheduling scenarios, due to the exponential expansion of the decision space of agile satellites, existing methods are difficult to balance multi-objective conflicts, have insufficient adaptability to complex dynamic constraints, and do not utilize the decoupling characteristics of scheduling hierarchy and historical optimization experience, resulting in poor scheduling performance. Summary of the Invention
[0005] The purpose of this invention is to solve the problem of how agile Earth observation satellites can overcome the conflict of multiple objectives, improve their adaptability to complex dynamic constraints, and improve scheduling performance in large-scale scheduling scenarios.
[0006] To this end, in one aspect, embodiments of the present invention provide a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, the method comprising the following steps:
[0007] A candidate satellite set is selected based on the task constraints, and an initial population is generated based on the candidate satellite set.
[0008] Based on the initial population, a hierarchical multi-objective evolutionary algorithm is optimized using a two-layer architecture to decouple the scheduling logic and output a Pareto solution set.
[0009] For the initial population optimized by the hierarchical multi-objective evolutionary algorithm, the composite load index and load variation coefficient of each satellite are calculated, and the overloaded satellite set and the underloaded satellite set are identified based on the composite load index and the load variation coefficient.
[0010] By migrating tasks with a priority lower than a preset threshold from the overloaded satellite set to the underloaded satellite set, load balancing optimization among satellite resources is achieved.
[0011] After completing load balancing optimization, if the preset stagnation threshold is met, preference features are extracted from the Pareto solution set to construct a scheduling preference vector, and tasks are reallocated to maintain population diversity and promote population evolution.
[0012] Update the Pareto solution set and determine whether the maximum number of iterations has been reached. If the maximum number of iterations has been reached, output the final Pareto optimal solution; otherwise, return to the hierarchical multi-objective evolutionary algorithm optimization step, start a new round of iterations, and continuously improve the scheduling scheme.
[0013] On the other hand, embodiments of the present invention provide a satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm, comprising:
[0014] A screening unit is used to select a candidate satellite set according to task constraints and generate an initial population based on the candidate satellite set.
[0015] The optimization unit is used to perform hierarchical multi-objective evolutionary algorithm optimization based on the initial population, using a two-layer architecture decoupled scheduling logic, and output a Pareto solution set.
[0016] The computing unit is used to calculate the composite load index and load variation coefficient of each satellite in the initial population after optimization by the hierarchical multi-objective evolutionary algorithm, and to identify the overloaded satellite set and the underloaded satellite set based on the composite load index and the load variation coefficient.
[0017] The load balancing unit is used to optimize the load balancing among satellite resources by migrating tasks with a priority lower than a preset threshold from the overloaded satellite set to the underloaded satellite set.
[0018] The judgment unit is used to extract preference features from the Pareto solution set to construct a scheduling preference vector after the load balancing optimization is completed, if the preset stagnation threshold is met, and to reallocate tasks to maintain population diversity and promote population evolution.
[0019] The iteration unit is used to update the Pareto solution set and determine whether the maximum number of iterations has been reached. If the maximum number of iterations has been reached, the final Pareto optimal solution is output; otherwise, the hierarchical multi-objective evolutionary algorithm optimization step is returned to start a new round of iterations to continuously improve the scheduling scheme.
[0020] The above technical solution has the following beneficial effects:
[0021] This invention constructs a candidate satellite set based on constraints, eliminating satellites that do not meet constraints such as the mission visibility window, observation quality threshold, and imaging time, thus achieving efficient one-time pruning of the decision space. Simultaneously, the hierarchical architecture decouples task allocation from window scheduling, significantly reducing the invalid search space and greatly improving optimization efficiency. For example, in large-scale scheduling scenarios, it can quickly narrow the search range, focusing on optimizing the effective solution space.
[0022] The adaptive crossover operation dynamically adjusts the crossover probability based on the similarity of individual task assignments in the population and the satellite load imbalance coefficient, while the load-guided mutation operation reallocates low-priority tasks on overloaded satellites according to the real-time satellite load status. This synergy can dynamically adjust the search step size and direction, ensuring the algorithm's global exploration capability while enhancing its local exploration capability, effectively accelerating convergence and ensuring the quality of the solution set, thus preventing the algorithm from getting trapped in local optima too early.
[0023] The dynamic load balancing mechanism monitors the resource occupancy status of individual satellites in real time. By calculating composite load indicators and load variation coefficients, it identifies overloaded and underloaded satellite sets and achieves load balancing through a low-priority task migration strategy. This effectively avoids the risk of excessively rapid energy consumption or storage overflow of a single satellite, ensures the rational distribution of satellite resource utilization, and enhances the reliability and stability of the scheduling scheme in actual space missions.
[0024] A self-learning repair mechanism based on historical Pareto optimal solutions is activated when the algorithm meets a preset stagnation threshold. Satellite scheduling preference features are extracted from the historical Pareto optimal solution set to construct a preference vector. Preference-based task reallocation is then performed to repair low-performing individuals. Simultaneously, satellites are probabilistically reallocated to randomly selected tasks to maintain population diversity. This mechanism endows the algorithm with the ability to learn from high-quality experiences, effectively monitors and repairs evolutionary stagnation states, avoids getting trapped in local optima, improves the algorithm's global optimization capability in large-scale dynamic environments, and further enhances the quality of scheduling schemes. Attached Figure Description
[0025] Figure 1 This is a flowchart of a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm provided in an embodiment of the present invention;
[0026] Figure 2 This is a schematic diagram of the structure of a satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm provided in an embodiment of the present invention;
[0027] Figure 3 This is a flowchart of the first implementation of a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm provided by an embodiment of the present invention;
[0028] Figure 4 This is a schematic diagram of upper-level task allocation for a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm provided in an embodiment of the present invention;
[0029] Figure 5 This is a schematic diagram of the double-sequence sorting scheduling of the lower-level window scheduling in a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm provided in an embodiment of the present invention;
[0030] Figure 6 This is a schematic diagram of gap filling optimization and high-priority task replacement in the lower-level window scheduling of a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm provided in an embodiment of the present invention.
[0031] Figure 7 This is a schematic diagram of load balancing migration for a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm provided in an embodiment of the present invention. Detailed Implementation
[0032] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0033] This invention addresses the problems of decision space explosion, multi-objective conflict, and poor dynamic adaptability in the scheduling of large-scale agile Earth observation satellite missions. It proposes a three-layer collaborative optimization architecture comprising a candidate set and initial population construction module, a hierarchical multi-objective optimization module, and a self-learning and adaptive module. This invention achieves dual-objective optimization of maximizing mission benefits and balancing satellite load through hierarchical task allocation and window scheduling decoupling, adaptive crossover and mutation operations, load balancing adjustment, and a self-learning optimization mechanism based on historical Pareto solutions.
[0034] In embodiments of the present invention, such as Figure 1 This paper provides a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, the method comprising the following steps:
[0035] S101: Select a candidate satellite set based on the task constraints, and generate an initial population based on the candidate satellite set; specifically including:
[0036] Candidate set compression and search space pruning: for each task Conduct a feasibility assessment and select those that simultaneously meet the requirements. and Given suitable satellites, construct a subset of candidate satellites for this mission. This step achieves efficient one-time pruning of the decision space by eliminating invalid resource allocations.
[0037] Priority-guided heuristic initial population generation: A priority-guided greedy strategy is used to generate a population of [size missing]. initial population Perform the following steps:
[0038] Initialize a population of individuals and create a list of satellite time windows to track the time windows assigned to each satellite.
[0039] Priority sorting: All observation tasks are sorted in descending order of their priority to ensure that high-value tasks are given priority in subsequent allocations.
[0040] Resource matching: Process tasks sequentially, selecting from their corresponding candidate sets. Searching for satellites with continuous idle imaging time. The duration of continuous idle imaging shall not be less than the duration required by the mission. .
[0041] Window determination: Determine the precise start time of observations for each assigned task and update satellite data. The allocatable time window.
[0042] Repeat the above steps until the target size is reached. High-quality population construction.
[0043] S102: Based on the initial population, a hierarchical multi-objective evolutionary algorithm is optimized using a two-layer architecture decoupled scheduling logic to output a Pareto solution set; including:
[0044] A two-layer architecture, consisting of upper and lower layers, is used to decouple the scheduling logic.
[0045] The upper layer uses adaptive genetic operations to perform evolutionary iterations based on the correspondence between the mission and the satellite;
[0046] The lower layer dynamically generates an observation window scheduling scheme for each satellite's assigned task subset using a dual-sequence sorting strategy and gap-filling algorithm, including:
[0047] Traverse all satellites Obtain the task subset assigned to the corresponding satellite. ;
[0048] right According to the earliest feasible start time Ascending order to build list and according to the latest feasible end time Construct a list in descending order ;
[0049] Alternate from and The head extraction task will be scheduled within a feasible timeframe, while meeting the satellite attitude maneuver constraints and equipment preparation time.
[0050] Generate a complete observation time window scheduling scheme ;
[0051] Calculate the total task benefit of the scheduling scheme Satellite load balance This serves as the basis for subsequent environmental selection.
[0052] S103: For the initial population optimized by the hierarchical multi-objective evolutionary algorithm, calculate the composite load index and load variation coefficient of each satellite, and identify the overloaded satellite set and the underloaded satellite set based on the composite load index and the load variation coefficient.
[0053] Specifically, it includes:
[0054] A two-layer optimization structure is adopted to effectively decouple task allocation and window scheduling. The upper layer is responsible for the evolutionary optimization of the "task-satellite" allocation relationship, while the lower layer is responsible for the fine-tuning of observation windows under a specific allocation scheme. Each iteration process specifically includes:
[0055] The upper layer is responsible for optimizing the allocation of satellites corresponding to adaptive missions;
[0056] Chromosome encoding: Encoding the task allocation scheme of individuals in a population into chromosomes in the form of integer vectors. ;in Indicates the observation mission Assigned to specific satellites .
[0057] An adaptive crossover method is used to generate offspring individuals. The method for generating offspring individuals through crossover is as follows:
[0058] Two parent individuals are randomly selected from the population. .
[0059] Calculate assignment similarity: Based on the formula The degree of overlap in task allocation between the two parents was statistically analyzed.
[0060] Calculate the satellite load distribution characteristics: Calculate the coefficient of variation of satellite load for all individuals in the current population. .
[0061] Crossover strategy: based on dynamic crossover probability Single-point crossover is performed at random locations, and an adaptive balance between exploration and development is achieved using a probability adjustment strategy to generate two offspring chromosomes.
[0062] Load perception variability: Calculate the composite load index of each satellite. For each individual satellite, the satellite with the highest load index is identified using a preset mutation probability, and its lowest priority missions are reassigned to the corresponding mission candidate set. Satellites with lighter loads are used to guide the population toward load equilibrium during the mutation phase.
[0063] Generation of offspring population: Through the above adaptive crossover and load-aware mutation operations, a population of size of [size missing] is generated. offspring population .
[0064] The lower layer is responsible for scheduling the observation window for double-sequence sorting. It merges parent populations. With offspring population get Targeting the population Each individual in The allocation scheme is optimized by performing window scheduling as follows:
[0065] Extracting the task set: Traversing all satellites Obtain the subset of tasks assigned to that star. .
[0066] Heuristic sorting of two sequences: According to the earliest feasible start time Ascending order to build list and according to the latest feasible end time Construct a list in descending order .
[0067] Circular window allocation: alternating from and The head extraction task will be scheduled within a feasible timeframe, while meeting the constraints of satellite attitude maneuvering and equipment preparation time.
[0068] Maximize unscheduled tasks to generate a complete observation time window scheduling scheme. The specific steps are as follows:
[0069] Gap filling optimization: For tasks that are not successfully scheduled, scan the empty gaps between scheduled tasks and try to insert tasks in sufficiently long gaps to improve time utilization.
[0070] High-priority task replacement: If there are still high-priority tasks that have not been scheduled, try replacing the priority difference in the already scheduled window. The task is to ensure core benefits.
[0071] Calculate the objective function value: Calculate the scheduling scheme Total task revenue Satellite load balance This serves as the basis for subsequent environmental selection.
[0072] S104: By migrating tasks with priority below a preset threshold from the overloaded satellite set to the underloaded satellite set, load balancing optimization among satellite resources is achieved; including:
[0073] Based on the composite load index and load variation coefficient of each satellite, the mean load of each satellite is calculated. Standard deviation and coefficient of variation ;
[0074] Determine whether the load variation coefficient satisfies ,in The preset threshold is used; if it is met, the overloaded satellite set is identified based on the load deviation. With under-loaded satellite collection ;
[0075] Will Tasks with a priority level below a preset threshold will be migrated to... The satellites in the population will continue to be used until the population load distribution becomes more balanced.
[0076] The specific steps for load balancing adjustment are as follows:
[0077] Load index statistics: Calculate the load index of each satellite in the current scheduling scheme. ;
[0078] Distribution characteristic calculation: Calculate the mean of the payload of each satellite. Standard deviation and coefficient of variation ;
[0079] Overload state identification: Determine if the coefficient of variation meets the requirements. ,in The preset threshold is used; if it is met, the overloaded satellite set is identified based on the load deviation. With under-loaded satellite collection ;
[0080] Load migration optimization: Tasks with a priority level below a preset threshold will be migrated to... The satellites in the population will continue to be used until the population load distribution becomes more balanced.
[0081] S105: After completing load balancing optimization, if a preset stagnation threshold is met, preference features are extracted from the Pareto solution set to construct a scheduling preference vector, and tasks are reallocated to maintain population diversity and promote population evolution; including:
[0082] The average priority of each satellite's mission is statistically analyzed from the historically accumulated Pareto solution set, and a scheduling preference vector for each satellite is constructed accordingly.
[0083] Identify low-performing individuals in the current population whose objective function evaluation results rank in the bottom 30%, and based on the aforementioned scheduling preference vector, use probability... Reassign tasks;
[0084] With probability Satellites are redistributed for randomly selected tasks to suppress premature convergence of the algorithm and maintain population diversity.
[0085] S106: Update the Pareto solution set and determine whether the maximum number of iterations has been reached. If the maximum number of iterations has been reached, output the final Pareto optimal solution; otherwise, return to the hierarchical multi-objective evolutionary algorithm optimization step, start a new round of iterations, and continuously improve the scheduling scheme.
[0086] This invention improves the efficiency of large-scale scheduling by introducing a multi-constraint-based "candidate satellite set" construction and a "hierarchical optimization" architecture, thereby achieving logical decoupling between the two core aspects of task allocation and observation window scheduling. This effectively compresses the ineffective decision search space for scheduling problems of ultra-large-scale tasks (1200-2000 tasks) and significantly improves the optimization efficiency of the algorithm.
[0087] This invention balances convergence and solution set diversity: the algorithm employs an adaptive crossover probability and a load-aware mutation strategy. The crossover probability is dynamically adjusted based on individual similarity and load distribution, while the mutation operation prioritizes migrating low-priority tasks between overloaded and underloaded satellites. This achieves an adaptive balance between global exploration and local fine-tuning, accelerating convergence while ensuring the quality and diversity of the final Pareto solution set.
[0088] This invention enhances engineering feasibility and system stability: the algorithm incorporates a dynamic load balancing mechanism. This mechanism calculates the composite load index of satellites in real time and migrates low-priority tasks between overloaded and underloaded satellites. This ensures a more balanced load distribution across the satellite constellation, preventing individual satellites from prematurely exhausting their energy or storage resources due to excessive load, thereby significantly enhancing the reliability of the scheduling scheme and the stability of system operation in practical aerospace engineering applications.
[0089] This invention avoids premature convergence and enhances global optimization capabilities: the algorithm innovatively introduces a self-learning optimization mechanism based on historical Pareto optimal solutions. When population evolution stagnation is detected, the "scheduling preference" features of each satellite are extracted from historical high-quality solutions, and low-performing individuals in the current population are repaired accordingly, guiding them towards the feature space of high-quality solutions. Simultaneously, combined with low-probability random perturbations, the algorithm effectively helps escape local optima, improving the robustness of global optimization.
[0090] Example 1:
[0091] This invention provides a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, such as... Figure 3 As shown, it includes the following steps:
[0092] Step 1: Construct a candidate satellite set and initial population for multi-constraint missions. Satellites that meet the mission's visibility time window, observation quality threshold, and earliest / latest feasible imaging time constraints are selected to form the candidate satellite set for each observation mission. ; and based on priority-guided heuristic strategies, the generated scale is initial population ;
[0093] Step 2: Perform hierarchical collaborative multi-objective evolutionary optimization. A two-layer architecture is adopted to decouple the scheduling logic: the upper layer uses adaptive genetic operations to allocate chromosomes to "task-satellite" for evolutionary iteration; the lower layer dynamically generates an observation window scheduling scheme for the task subset allocated to each satellite using a double sequence sorting strategy and gap filling algorithm.
[0094] Step 3: Perform load balancing adjustments based on composite load metrics. Calculate the composite load metrics and load variation coefficients for each satellite in the population, identify overloaded and underloaded satellite sets; and optimize load balancing among satellite resources through a low-priority task migration strategy.
[0095] Step 4: Perform population repair and self-learning optimization guided by historical knowledge. When the algorithm meets the preset stagnation threshold condition, extract satellite scheduling preference features from the historical Pareto optimal solution set and construct a preference vector. Perform preference-based task reallocation repair on low-performing individuals with poor objective function evaluation results.
[0096] Step 5: Environment Selection and Iteration Termination Judgment. Based on non-dominated sorting and crowding sorting, retain elite solutions and update the Pareto optimal solution set; determine if the maximum number of iterations has been reached. If so, output the final Pareto optimal solution set; otherwise, return to Step 2 to continue running.
[0097] The specific method for constructing the candidate satellite set in step 1 is as follows:
[0098] Based on task In satellite The visible window above, combined with preset observation quality constraints and imaging duration requirements, calculates the task. In satellite Earliest feasible start time With the latest feasible end time ;
[0099] Determine if the constraints are met: and ;
[0100] If the above constraints are met, then the satellite is determined to be... Capable of handling tasks Effective observation capabilities, and incorporate them into the mission. candidate satellite set .
[0101] The specific steps of the adaptive genetic operation in step 2 are as follows:
[0102] Adaptive crossover operation: Obtain the task assignment similarity of individuals in the current population and the load imbalance coefficient of each satellite; calculate and dynamically adjust the crossover probability based on the similarity and load imbalance coefficient. Random crossover is performed by dynamically adjusting the crossover probability.
[0103] Load-guided mutation operation: For each individual in the population, the real-time load status of each satellite is calculated, and overloaded satellites whose load index exceeds the average load are identified. When performing mutation operation, observation tasks with priority lower than a preset priority threshold from the overloaded satellites are extracted first and redistributed to underloaded satellites in the candidate satellite set to achieve load-oriented balancing during the mutation process.
[0104] The implementation method of dynamically generating the observation window scheduling scheme using the double-sequence sorting strategy and gap-filling algorithm in step 2 is as follows:
[0105] Sequence construction: Assigning a set of tasks to the same satellite to the earliest feasible start time for each task. Arrange in ascending order to construct the first task sequence. At the same time, based on the latest feasible end time of the task. Arrange in descending order to construct the second task sequence. ;
[0106] Alternating fetch allocation: In the window allocation loop, fetch allocation is performed sequentially from... and The alternating head extraction task, under the premise of meeting the satellite attitude maneuver time constraints, will be scheduled in the earliest feasible observation time window;
[0107] Conflict handling and optimization: For tasks that fail to be successfully assigned in the above loop, first execute the gap filling strategy, scan the idle time periods between assigned windows and try to insert tasks; if there are still high-priority tasks that have not been assigned, then execute the low-priority task replacement strategy.
[0108] The specific steps for load balancing adjustment in step 3 are as follows:
[0109] Load index statistics: Calculate the load index of each satellite in the current scheduling scheme. ;
[0110] Distribution characteristic calculation: Calculate the mean of the payload of each satellite. Standard deviation and coefficient of variation ;
[0111] Overload state identification: Determine if the coefficient of variation meets the requirements. ,in The preset threshold is used; if it is met, the overloaded satellite set is identified based on the load deviation. With under-loaded satellite collection ;
[0112] Load migration optimization: Tasks with a priority level below a preset threshold will be migrated to... The satellites in the population will continue to be used until the population load distribution becomes more balanced.
[0113] The specific method of self-learning optimization in step 4 is as follows:
[0114] Preference feature extraction: The average priority of each satellite's task execution is statistically analyzed from the historically accumulated Pareto optimal solution set, and a scheduling preference vector for each satellite is constructed accordingly.
[0115] Low-performance individual repair: Identify the bottom 30% of low-performance individuals in the current population based on the objective function evaluation results, and, according to the aforementioned scheduling preference vector, perform probabilistic repair on these individuals. Reassign tasks to satellites with high preference values;
[0116] Diversity maintenance: by probability Satellites are redistributed for randomly selected tasks to suppress premature convergence of the algorithm and maintain population diversity.
[0117] The optimization objectives include:
[0118] Maximize total task reward:
[0119] ,
[0120] Minimize satellite load imbalance:
[0121] ,
[0122] in, Assign matrices to mission-satellites. For the benefit of a single task, For satellite load indicators, The total number of satellites participating in the scheduling.
[0123] The present invention has the following technical effects:
[0124] Efficient pruning of the search space: By introducing a constraint-based candidate set construction and hierarchical architecture, the logical decoupling of task allocation and window scheduling is realized, which significantly reduces the invalid search space of large-scale scheduling problems and greatly improves the optimization efficiency.
[0125] Balancing convergence and diversity: The adaptive crossover operator and the load-aware mutation operator work together to balance the algorithm's global exploration and local exploitation capabilities by dynamically adjusting the search step size and direction, effectively accelerating convergence and ensuring the quality of the solution set.
[0126] Significant improvement in engineering feasibility: The dynamic load balancing mechanism ensures the rational distribution of satellite resource utilization, effectively avoids the risk of excessive energy consumption or storage overflow of a single satellite, and enhances the reliability of the scheduling scheme in actual space missions.
[0127] Deep repair of global optimization capability: The self-learning repair mechanism based on historical Pareto solutions gives the algorithm the ability to learn from high-quality experiences, effectively monitor and repair evolutionary stagnation states, and avoid getting trapped in local optima.
[0128] Example 2:
[0129] This invention provides a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, such as... Figure 3 As shown, it includes the following steps:
[0130] Step 1, Candidate Satellite Subset Construction and Initial Population Generation: The following specific sub-steps achieve efficient compression of the ultra-large-scale scheduling space and guided generation of a high-quality initial population:
[0131] Step 1.1, Candidate Set Compression and Search Space Pruning: For each task Conduct a feasibility assessment and select those that simultaneously meet the requirements. and Given suitable satellites, construct a subset of candidate satellites for this mission. This step achieves efficient one-time pruning of the decision space by eliminating invalid resource allocations.
[0132] Step 1.2, Priority-guided heuristic initial population generation: A priority-guided greedy strategy is used to generate a population of [size missing]. initial population Perform the following steps:
[0133] Step 1.2.1 Initialize a population of individuals and create a list of satellite time windows to track the time windows assigned to each satellite.
[0134] Step 1.2.2 Priority sorting: Sort all observation tasks in descending order of their priority to ensure that high-value tasks are given priority in subsequent allocations.
[0135] Step 1.2.3 Resource Matching: Process tasks sequentially from their corresponding candidate sets. Searching for satellites with continuous idle imaging time. The duration of continuous idle imaging shall not be less than the duration required by the mission. .
[0136] Step 1.2.4 Window Determination: Determine the precise observation start time for each assigned task and update the satellite. The allocatable time window.
[0137] Step 1.2.5: Repeat the above steps until the target size is reached. High-quality population construction.
[0138] Step 2, Hierarchical Collaborative Multi-Objective Evolutionary Optimization: A two-layer optimization structure is adopted to effectively decouple task allocation and window scheduling. The upper layer is responsible for the evolutionary optimization of the "task-satellite" allocation relationship, while the lower layer is responsible for the fine-tuning of observation windows under a specific allocation scheme. Each iteration process specifically includes:
[0139] Step 2.1 The upper layer is responsible for adaptive task-satellite allocation optimization.
[0140] Step 2.1.1, Chromosome Encoding: Encode the task allocation scheme of individuals in the population into chromosomes in the form of integer vectors. ;in Indicates the observation mission Assigned to specific satellites .
[0141] Step 2.1.2: Adaptive crossover is used to generate offspring individuals. The method for generating offspring individuals through crossover is as follows:
[0142] Two parent individuals are randomly selected from the population. .
[0143] Calculate the assignment similarity: based on the formula The degree of overlap in task allocation between the two parents was statistically analyzed.
[0144] Calculate the satellite load distribution characteristics: Calculate the coefficient of variation of satellite load for all individuals in the current population. .
[0145] Crossover strategy: based on dynamic crossover probability Single-point crossover is performed at random locations, and an adaptive balance between exploration and development is achieved using a probability adjustment strategy to generate two offspring chromosomes.
[0146] Step 2.1.3, Load-aware Variation: Calculate the composite load index of each satellite. For each individual satellite, the satellite with the highest load index is identified using a preset mutation probability, and its lowest priority missions are reassigned to the corresponding mission candidate set. Satellites with lighter loads are used to guide the population toward load equilibrium during the mutation phase.
[0147] Step 2.1.4, Generate Offspring Population: Through the above adaptive crossover and load-aware mutation operations, generate a population of size... offspring population .
[0148] Step 2.2: The lower layer is responsible for scheduling the double-sequence sorting observation window. The parent populations are merged. With offspring population get Targeting the population Each individual in The allocation scheme is optimized by performing window scheduling as follows:
[0149] Step 2.2.1, Extract the task set: Traverse all satellites Obtain the subset of tasks assigned to that star. .
[0150] Step 2.2.2, Double-sequence heuristic sorting: For According to the earliest feasible start time Ascending order to build list and according to the latest feasible end time Construct a list in descending order .
[0151] Step 2.2.3, Circular window allocation: Alternating from and The head extraction task will be scheduled within a feasible timeframe, while meeting the constraints of satellite attitude maneuvering and equipment preparation time.
[0152] Step 2.2.4: Maximize unscheduled tasks and generate a complete observation time window scheduling scheme. The specific steps are as follows:
[0153] Step a, gap filling optimization: For tasks that are not successfully scheduled, scan the empty gaps between scheduled tasks and try to insert tasks in sufficiently long gaps to improve time utilization.
[0154] Step b, High-priority task replacement: If there are still high-priority tasks that have not been scheduled, attempt to replace the priority difference in the already scheduled window. The task is to ensure core benefits.
[0155] Step 2.2.5, Calculate the objective function value: Calculate the scheduling scheme. Total task revenue Satellite load balance This serves as the basis for subsequent environmental selection.
[0156] Step 3, Adaptive Load Balancing Adjustment: By monitoring the resource occupancy status of each satellite in the population in real time, a dynamic feedback adjustment mechanism is introduced to eliminate the risk of premature resource depletion of individual satellites due to uneven task allocation. The specific steps are as follows:
[0157] Step 3.1, Calculate the composite load index: Traverse and merge the population Each body in Based on its corresponding lower-level window scheduling scheme Calculate each satellite Composite load index .
[0158] Step 3.2, Extract constellation load distribution characteristics: Statistically analyze the load distribution characteristics of all available satellites within the current constellation, including the average load. Standard deviation and the coefficient of variation reflecting the severity of load fluctuations. .
[0159] Step 3.3, determine whether load balancing adjustment is triggered: introduce a load balancing threshold. .
[0160] like If the current individual allocation scheme has achieved global resource balance, then steps 3.4 and 3.5 are skipped.
[0161] like Then the dynamic load migration module will be activated.
[0162] Step 3.4, Identify overloaded and underloaded satellites: Identify a subset of satellites in the extreme load range based on statistical distribution:
[0163] Overloaded satellite collection The load index is higher than A group of satellites.
[0164] Underloaded satellite collection Load index is lower than A group of satellites.
[0165] Step 3.5, Priority-based mission migration: In overloaded satellites with under-loaded satellites Establish a task migration link between them:
[0166] From overloaded satellites Non-core, low-priority tasks (those with priority below a preset threshold) are filtered out.
[0167] Calculate the migration costs and attempt to reallocate the aforementioned tasks to under-loaded satellites. .
[0168] Repeat the above process until the coefficient of variation of the constellation load distribution converges to the preset interval, generating a corrected set of individuals after load balancing.
[0169] Step 4, Self-learning optimization and population repair based on historical knowledge: By extracting common features from the Pareto front solution set, a self-learning repair module is constructed to guide the algorithm out of local optima. The specific execution steps are as follows:
[0170] Step 4.1, determine whether to initiate self-learning optimization and population repair: the system monitors the Pareto optimal solution set in real time. Update the state; when the algorithm continuously If no new Pareto solution is generated in a generation (preset threshold, such as 50 generations), the population is determined to have entered an evolutionary stagnation state, and the self-learning optimization module is then activated.
[0171] Step 4.2, Extract scheduling preference features: From the current historical accumulated Pareto optimal solution set In the middle, statistics of each satellite The distribution of task attributes when performing high-quality tasks; a satellite scheduling preference vector is constructed by calculating the average priority of tasks assigned to each satellite. This vector represents the preference of different satellites for carrying high-value tasks in a high-quality scheduling scheme.
[0172] Step 4.3, Repairing Low-Performance Individual Characteristics: Identify the bottom 30% of low-performance individuals in the current population based on their hypervolume (HV) index or objective function evaluation results; traverse the task assignment relationships of these individuals, using probability... (Default 0.6) will handle the task Migration from the original assigned satellites to its candidate set Medium scheduling preference value On the highest-performing satellite; through this redistribution based on “high-quality experience”, low-performing individuals are forced to converge toward the characteristic space of Pareto solutions.
[0173] Step 4.4, performing mutation to maintain diversity: To prevent the population from excessively converging to historical experience and losing its exploratory ability, a diversity preservation operator is introduced; using probability... (Default 0.1) Randomly select tasks from the population and forcibly reassign them to another random satellite in the candidate set other than the current satellite, using random perturbation to maintain the genetic diversity of the population.
[0174] Step 5, Environmental Selection and Iteration Termination: A survival competition mechanism based on Pareto dominance and crowding distance is adopted to ensure robust convergence of the population to the Pareto front. The specific steps are as follows:
[0175] Step 5.1, Construct a mixed population: Combine the original parent population Offspring populations generated through evolution The modified population, after load balancing adjustment, is then merged to construct a candidate mixed population. .
[0176] Step 5.2, Fast Non-Dominated Sort: For mixed populations All individuals, based on their objective function value (total task reward) With load balancing Perform a fast non-dominated sort, dividing individuals into different non-dominated levels. .
[0177] Step 5.3, Crowding Distance Evaluation: For individuals located in the same non-dominated level, calculate their crowding distance in the target space to assess the uniformity of individual distribution and ensure that the final solution set has good diversity.
[0178] Step 5.4, Elite Preservation and Population Renewal: Individuals are selected into the next generation of the population in ascending order of their non-dominant hierarchy. If not all individuals at the same level can be selected, individuals with greater crowding distances will be retained first, until the population size is met. until.
[0179] Step 5.5, Historical Solution Set Update: Update the global historical Pareto optimal solution set using the high-quality individuals generated in the current generation. .
[0180] Step 5.6, Termination Logic Determination: Determine the current iteration number. Has the preset maximum number of iterations been reached? Or, has the number of consecutive generations without updates reached the stagnation threshold? .
[0181] The overall execution rules for all the above steps are as follows:
[0182] If the following conditions are met: the algorithm terminates, and the final Pareto optimal solution set is output. .
[0183] If not satisfied: Let Return to step two and proceed to the next round of iteration and optimization.
[0184] Example 3:
[0185] This invention provides a satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, such as... Figure 3 As shown, this invention addresses the problems of current traditional remote sensing satellite mission planning methods by proposing a mission planning method based on a hierarchical adaptive multi-objective evolutionary algorithm. Its core advantages lie in its unique hierarchical architecture and adaptive mechanism. First, the hierarchical architecture decouples task allocation and window scheduling, effectively compressing the search space. The upper-level task allocation layer is equipped with adaptive crossover and load-guided mutation operators specifically designed for large-scale scenarios, further enhancing the algorithm's ability to handle large-scale task scheduling. The adaptive mechanism employs a dual design to enhance scheduling adaptability and solution quality. On one hand, a composite satellite load index is calculated to identify overloaded and underloaded satellites, and then low-priority tasks are migrated among these satellites to balance the workload, ensuring the stability of satellite operation. On the other hand, this mechanism extracts scheduling preference features from historical Pareto optimal solutions to repair low-performance populations (by reassigning tasks to preferred satellites) and introduces random mutation to maintain solution diversity, effectively avoiding the premature convergence problem of traditional evolutionary algorithms.
[0186] The algorithm is divided into two parts:
[0187] A preparation phase: constructing a subset of candidate satellites and generating an initial population;
[0188] Iterative optimization phase: includes upper-level task scheduling, lower-level window scheduling, adaptive load balancing adjustment, self-learning optimization, and population repair.
[0189] Among them, the algorithm input and parameter initialization settings
[0190] 1) Set of tasks to be scheduled The number of tasks ranges from 1200 to 2000.
[0191] 2) Agile Satellite Collection The number of satellites is 30-54.
[0192] 3) Each task For each satellite Visible time window .
[0193] 4) Each task Best observation time Observation duration Minimum observation quality threshold .
[0194] 5) Population size Maximum number of iterations Stagnation threshold Load balancing threshold Learning rate parameter Variation rate parameter .
[0195] 6) Initial setting of algorithm parameters: Pareto optimal solution set Set to empty set; iteration counter Set to 0; No improved iteration counter It is 0.
[0196] Algorithm output: Pareto optimal solution set Each solution contains: a mission-satellite allocation matrix. ,
[0197] in Indicates task Assigned to satellite ;Detailed observation time window for each assigned task.
[0198] ,in For the start time, This is the end time.
[0199] The specific steps are as follows:
[0200] Step 1, Candidate Set Compression and Search Space Pruning: The following specific sub-steps achieve efficient compression of the ultra-large-scale scheduling space and guided generation of a high-quality initial population:
[0201] Step 1.1, Construction of the Satellite Candidate Set for the Mission: For each mission traverse all satellites The task is calculated based on formulas (1) and (2). Earliest feasible start time and latest feasible end time If the conditions are met. and This indicates that the satellite There are observation opportunities that can satisfy the quality constraints; these should be added to the mission. candidate satellite set This step is completed once during algorithm initialization, effectively compressing the subsequent search space.
[0202] (1)
[0203] (2)
[0204] Traverse all tasks Repeat the above process.
[0205] Step 1.2, Initial Population Generation: Generation Given a set of highly feasible initial individuals, a priority-guided greedy allocation strategy is used to obtain each individual, as follows:
[0206] Step 1.2.1, initialize an individual It is a matrix of all zeros. It is The binary matrix is used to create a list of time windows to track each satellite. The allocated time window.
[0207] Step 1.2.2: Sort all tasks by priority. Sort in descending order to ensure that high-value tasks are assigned first.
[0208] Steps 1, 2, and 3: Process each task sequentially. From the candidate set In the middle, the window checking function is called to filter out windows that currently have a sufficient number of consecutive idle time windows (with a duration of at least 10 ... ( ) satellites, and randomly select one satellite from them. ,set up .
[0209] Step 1.2.4: Call the window allocation function to schedule the observation window for this task at a time close to its optimal observation time.
[0210] During the most recent idle period, update the list of occupied time windows for that satellite.
[0211] Step 1.2.5, repeat steps 1.2.3 and 1.2.4 until all tasks are completed and an individual is generated.
[0212] Step 1.2.6, repeat steps 1.2.1-1.2.5. This time Individuals are merged to obtain the initial population. .
[0213] Step 2, Hierarchical Collaborative Multi-Objective Evolutionary Optimization: A two-layer optimization structure is adopted to effectively decouple task allocation and window scheduling. The upper layer is responsible for the evolutionary optimization of the "task-satellite" allocation relationship, while the lower layer is responsible for the fine-tuning of observation windows under a specific allocation scheme. Each iteration process includes the following steps:
[0214] Step 2.1, as follows Figure 4 As shown, the upper layer is responsible for optimizing task allocation and generating the offspring population through adaptive genetic operations. (Crossover offspring set) Initialized as an empty set to temporarily store the allocation scheme; offspring population Initialize to an empty set, for the parent population Perform the following steps to generate a offspring population :
[0215] Step 2.1.1, iterate through all individuals Encode in chromosome form: assign a matrix to each individual. Encoded as chromosome Chromosomes are represented as A row vector of n elements, where
[0216] Indicates task Assigned to satellite .
[0217] Step 2.1.2: Adaptive crossover is used to generate offspring individuals. The method for generating offspring individuals through crossover is as follows:
[0218] Two individuals were randomly selected from the parent population. ;Calculate the similarity of assignments between two individuals
[0219] Satellite payload statistics were performed on the two individuals, including the coefficient of variation. Standard deviation Average load ;
[0220] Calculate the dynamic crossover probability If the random value Then, a single-point crossover is performed at a randomly selected crossover point to generate two offspring chromosomes. And save it to the cross-child set. .
[0221] Step 2.1.3, repeat step 2.1.2, until the condition is met. .
[0222] Step 2.1.4, load-directed mutation and decoding to refine the process. Iteration Each chromosome in the genome is decoded and added to the offspring population. The specific steps are as follows:
[0223] Step a, set the base mutation probability .
[0224] Step b, apply "load-booting mutation" to low-priority tasks (priority less than 5): for each such task Extract current satellite ;if Overload will increase the mutation probability to This is to encourage mission migration from overloaded satellites. If the random value is less than this adjusted probability, the mission will be... Reassign it to the candidate set One random satellite from the candidate set, and from the candidate set Delete .
[0225] In step c, each mutated chromosome is decoded back into the mission-satellite assignment matrix and added to... middle.
[0226] Step 2.2: The lower layer is responsible for window scheduling optimization of the specific allocation scheme generated by the upper layer. This involves merging the parent and child populations. Iterate through every individual in the merged population. Then, a specific observation time window is assigned to each individual. The specific steps for assigning a specific observation time window to an individual are as follows:
[0227] Step 2.2.1, Traverse all satellites Extract the task sets assigned to each satellite .
[0228] Step 2.2.2, Double sequence sorting: According to Sort into a list in ascending order ,according to Sort into a list in descending order .
[0229] Step 2.2.3, as follows Figure 5 As shown, double-sequence sorting scheduling: will According to the earliest feasible start time Sort into a list in ascending order According to the latest feasible end time Sort into a list in descending order Time window allocation cycle: alternating from and The head retrieval task attempts to be scheduled at the earliest feasible time position while satisfying the attitude maneuver time constraint.
[0230] Step 2.2.4, as follows Figure 6 As shown, gap filling optimization and high-priority task replacement are performed. Gap filling optimization: For tasks that are not successfully scheduled, all idle time gaps between scheduled tasks are scanned, and the task is attempted to be inserted into a sufficiently long gap. High-priority task replacement: If there are still high-priority tasks that have not been scheduled, the task with significantly lower priority (priority difference ≥ 3) in the scheduled window is attempted to be replaced. Finally, the complete window scheduling scheme for this individual is output. ,
[0231] Step 2.2.5, calculate the individual objective function value: total task benefit. and satellite load balance This serves as the basis for subsequent environmental selection.
[0232] Step 3: As Figure 7 As shown, adaptive load balancing is implemented: by real-time monitoring of the resource occupancy status of each satellite in the population, a dynamic feedback adjustment mechanism is introduced to eliminate the risk of premature resource depletion of individual satellites due to uneven task allocation. The population is then traversed. Each individual in For each individual To perform load balancing adjustments, follow these specific steps:
[0233] Step 3.1, Calculate the composite load index: Traverse and merge the population Each body in Based on its corresponding lower-level window scheduling scheme Calculate each satellite Composite load index .
[0234] Step 3.2, Extract constellation load distribution characteristics: Statistically analyze the load distribution characteristics of all available satellites within the current constellation, including the average load. Standard deviation and the coefficient of variation reflecting the severity of load fluctuations. .
[0235] Step 3.3, introduce a load balancing threshold. Determine whether to trigger load balancing adjustments.
[0236] Rules for determining whether to trigger load balancing adjustments:
[0237] like If not executed, the original solution is considered to be correct. It is load balanced;
[0238] like ,implement;
[0239] Step 3.4, Identify Overloaded and Underloaded Satellites: Identify a subset of satellites in the extreme load range based on statistical distribution. Initialize to A copy.
[0240] Satellite payload status identification rules:
[0241] 1) Overloaded satellite cluster The load index is higher than A group of satellites;
[0242] 2) Underloaded satellite collection Load index is lower than A group of satellites.
[0243] Step 3.5, Priority-based mission migration: In overloaded satellites with under-loaded satellites Establish a task migration link between them:
[0244] From overloaded satellites Non-core, low-priority tasks (those with priority below a preset threshold) are filtered out.
[0245] Calculate the migration costs and attempt to reallocate the aforementioned tasks to under-loaded satellites. .
[0246] Repeat steps 3.1-3.5 above until the coefficient of variation of the constellation load distribution converges to the preset interval, and generate the corrected individual after load balancing. A set of.
[0247] Step 4, Self-learning optimization and population repair based on historical knowledge: By extracting common features from the Pareto front solution set, a self-learning repair module is constructed to guide the algorithm out of local optima. The specific execution steps are as follows:
[0248] Step 4.1, determine whether to initiate self-learning optimization and population repair: the system monitors the Pareto optimal solution set in real time. The update state is such that if a new solution is generated, there is no further improvement in the iteration counter. =0, otherwise increment by 1; when the algorithm is continuous If no new Pareto solution is generated in a generation (preset threshold, such as 50 generations), the population is determined to have entered an evolutionary stagnation state, and the self-learning optimization module is then activated.
[0249] Step 4.2, Extract scheduling preference features: From the current historical accumulated Pareto optimal solution set In the middle, statistics of each satellite The distribution of task attributes when performing high-quality tasks; a satellite scheduling preference vector is constructed by calculating the average priority of tasks assigned to each satellite. This vector represents the preference of different satellites for carrying high-value tasks in a high-quality scheduling scheme.
[0250] Step 4.3, Repairing Low-Performance Individual Characteristics: Identify the bottom 30% of low-performance individuals in the current population based on hypervolume (HV) or objective function evaluation results; traverse the task assignment relationships of these individuals, using probability... (Default 0.6) will handle the task Migration from the original assigned satellites to its candidate set Medium scheduling preference value On the highest-performing satellite; through this redistribution based on “high-quality experience”, low-performing individuals are forced to converge toward the characteristic space of Pareto solutions.
[0251] Step 4.4, performing mutation to maintain diversity: To prevent the population from excessively converging to historical experience and losing its exploratory ability, a diversity preservation operator is introduced; using probability... (Default 0.1) Randomly select tasks from the population and forcibly reassign them to another random satellite in the candidate set other than the current satellite, using random perturbation to maintain the genetic diversity of the population.
[0252] Step 5, Environmental Selection and Iteration Termination: A survival competition mechanism based on Pareto dominance and crowding distance is adopted to ensure robust convergence of the population to the Pareto front. The specific steps are as follows:
[0253] Step 5.1, Construct a mixed population: Combine the original parent population Offspring populations generated through evolution The modified population, after load balancing adjustment, is then merged to construct a candidate mixed population. .
[0254] Step 5.2, Fast Non-Dominated Sort: For mixed populations All individuals, based on their objective function value (total task reward) With load balancing Perform a fast non-dominated sort, dividing individuals into different non-dominated levels. .
[0255] Step 5.3, Crowding Distance Evaluation: For individuals located in the same non-dominated level, calculate their crowding distance in the target space to assess the uniformity of individual distribution and ensure that the final solution set has good diversity.
[0256] Step 5.4, Elite Preservation and Population Renewal: Individuals are selected into the next generation of the population in ascending order of their non-dominant hierarchy. If not all individuals at the same level can be selected, individuals with greater crowding distances will be retained first, until the population size is met. until.
[0257] Step 5.5, Historical Solution Set Update: Update the global historical Pareto optimal solution set using the high-quality individuals generated in the current generation. .
[0258] Step 5.6, Termination Logic Determination: Determine the current iteration number. Has the preset maximum number of iterations been reached? Or, has the number of consecutive generations without updates reached the stagnation threshold? .
[0259] The overall execution rules of the algorithm corresponding to this technical solution are as follows:
[0260] 1) If satisfied The algorithm terminates and outputs the final Pareto optimal solution set. .
[0261] 2) If not satisfied: Let Return to step 2 and proceed to the next round of iteration and optimization.
[0262] In embodiments of the present invention, such as Figure 2 Furthermore, a satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm is provided, comprising:
[0263] The screening unit 21 is used to screen out a candidate satellite set according to the task constraints and generate an initial population based on the candidate satellite set;
[0264] Optimization unit 22 is used to perform hierarchical multi-objective evolutionary algorithm optimization based on the initial population, using a two-layer architecture decoupled scheduling logic, and output Pareto solution set;
[0265] The calculation unit 23 is used to calculate the composite load index and load variation coefficient of each satellite in the initial population after optimization by the hierarchical multi-objective evolutionary algorithm, and to identify the overloaded satellite set and the underloaded satellite set based on the composite load index and the load variation coefficient.
[0266] The load balancing unit 24 is used to optimize the load balancing among satellite resources by migrating tasks with a priority lower than a preset threshold from the overloaded satellite set to the underloaded satellite set.
[0267] The judgment unit 25 is used to extract preference features from the Pareto solution set to construct a scheduling preference vector after the load balancing optimization is completed, if the preset stagnation threshold is met, and to reallocate tasks to maintain population diversity and promote population evolution.
[0268] Iteration unit 26 is used to update the Pareto solution set and determine whether the maximum number of iterations has been reached. If the maximum number of iterations has been reached, the final Pareto optimal solution is output; otherwise, the hierarchical multi-objective evolutionary algorithm optimization step is returned to start a new round of iterations and continuously improve the scheduling scheme.
[0269] The optimization unit includes:
[0270] Used to decouple scheduling logic using a two-layer architecture of upper and lower layers;
[0271] This is used by the upper layer to perform evolutionary iterations based on the correspondence between tasks and satellites through adaptive genetic operations;
[0272] The task subset allocated to each satellite at the lower level is used to dynamically generate an observation window scheduling scheme using a dual-sequence sorting strategy and a gap-filling algorithm.
[0273] The equalization unit includes:
[0274] Used to calculate the average load of each satellite based on its composite load index and load variation coefficient. Standard deviation and coefficient of variation ;
[0275] Used to determine whether the load variation coefficient satisfies ,in The preset threshold is used; if it is met, the overloaded satellite set is identified based on the load deviation. With under-loaded satellite collection ;
[0276] Used to Tasks with a priority level below a preset threshold will be migrated to... The satellites in the population will continue to be used until the population load distribution becomes more balanced.
[0277] The judgment unit includes:
[0278] This is used to statistically analyze the average priority of each satellite's task execution from the historically accumulated Pareto solution set, and to construct the scheduling preference vector for each satellite accordingly.
[0279] This is used to identify low-performing individuals in the current population whose objective function evaluation results rank in the bottom 30%, based on the aforementioned scheduling preference vector, with probability. Reassign tasks;
[0280] Used in probability Satellites are redistributed for randomly selected tasks to suppress premature convergence of the algorithm and maintain population diversity.
[0281] The lower layer dynamically generates an observation window scheduling scheme for each satellite's assigned task subset using a dual-sequence sorting strategy and a gap-filling algorithm, including:
[0282] Used to traverse all satellites Obtain the task subset assigned to the corresponding satellite. ;
[0283] Used for According to the earliest feasible start time Ascending order to build list and according to the latest feasible end time Construct a list in descending order ;
[0284] Used for alternating from and The head extraction task will be scheduled within a feasible timeframe, while meeting the satellite attitude maneuver constraints and equipment preparation time.
[0285] Used to generate a complete observation time window scheduling scheme ;
[0286] Used to calculate the total task benefit of the scheduling scheme. Satellite load balance This serves as the basis for subsequent environmental selection.
[0287] A satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm adopts the above-mentioned satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm. Its principle and process are the same as those of the satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, and will not be repeated here.
[0288] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm, characterized in that, The method includes the following steps: A candidate satellite set is selected based on the task constraints, and an initial population is generated based on the candidate satellite set. Based on the initial population, a hierarchical multi-objective evolutionary algorithm is optimized using a two-layer architecture to decouple the scheduling logic and output a Pareto solution set. For the initial population optimized by the hierarchical multi-objective evolutionary algorithm, the composite load index and load variation coefficient of each satellite are calculated, and the overloaded satellite set and the underloaded satellite set are identified based on the composite load index and the load variation coefficient. By migrating tasks with a priority lower than a preset threshold from the overloaded satellite set to the underloaded satellite set, load balancing optimization among satellite resources is achieved. After completing load balancing optimization, if the preset stagnation threshold is met, preference features are extracted from the Pareto solution set to construct a scheduling preference vector, and tasks are reallocated to maintain population diversity and promote population evolution. Update the Pareto solution set and determine whether the maximum number of iterations has been reached. If the maximum number of iterations has been reached, output the final Pareto optimal solution; otherwise, return to the hierarchical multi-objective evolutionary algorithm optimization step, start a new round of iterations, and continuously improve the scheduling scheme.
2. The satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm according to claim 1, characterized in that, Based on the initial population, a hierarchical multi-objective evolutionary algorithm is optimized using a two-layer architecture decoupled scheduling logic to output a Pareto solution set, including: A two-layer architecture, consisting of upper and lower layers, is used to decouple the scheduling logic. The upper layer uses adaptive genetic operations to perform evolutionary iterations based on the correspondence between the mission and the satellite; The lower layer dynamically generates an observation window scheduling scheme for the task subset allocated to each satellite using a dual-sequence sorting strategy and a gap-filling algorithm.
3. The satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm according to claim 1, characterized in that, The step of migrating tasks with priorities below a preset threshold from the overloaded satellite set to the underloaded satellite set to achieve load balancing optimization among satellite resources includes: Based on the composite load index and load variation coefficient of each satellite, the mean load of each satellite is calculated. Standard deviation and coefficient of variation ; Determine whether the load variation coefficient satisfies ,in The preset threshold is used; if it is met, the overloaded satellite set is identified based on the load deviation. With under-loaded satellite collection ; Will Tasks with a priority lower than a preset threshold will be migrated to The satellites in the population will continue to be used until the population load distribution becomes more balanced.
4. The satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm according to claim 1, characterized in that, After completing load balancing optimization, if a preset stagnation threshold is met, preference features are extracted from the Pareto solution set to construct a scheduling preference vector, and tasks are reallocated to maintain population diversity and promote population evolution, including: The average priority of each satellite's mission is statistically analyzed from the historically accumulated Pareto solution set, and a scheduling preference vector for each satellite is constructed accordingly. Identify low-performing individuals in the current population whose objective function evaluation results rank in the bottom 30%, and based on the aforementioned scheduling preference vector, use probability... Reassign tasks; With probability Satellites are redistributed for randomly selected tasks to suppress premature convergence of the algorithm and maintain population diversity.
5. A satellite mission scheduling method based on a hierarchical multi-objective evolutionary algorithm according to claim 2, characterized in that, The lower layer dynamically generates an observation window scheduling scheme for each satellite's assigned task subset using a dual-sequence sorting strategy and a gap-filling algorithm, including: Traverse all satellites Obtain the task subset assigned to the corresponding satellite. ; right According to the earliest feasible start time Ascending order to build list and according to the latest feasible end time Construct a list in descending order ; Alternate from and The head extraction task will be scheduled within a feasible timeframe, while meeting the satellite attitude maneuver constraints and equipment preparation time. Generate a complete observation time window scheduling scheme ; Calculate the total task benefit of the scheduling scheme Satellite load balance This serves as the basis for subsequent environmental selection.
6. A satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm, characterized in that, include: A screening unit is used to select a candidate satellite set according to task constraints and generate an initial population based on the candidate satellite set. The optimization unit is used to perform hierarchical multi-objective evolutionary algorithm optimization based on the initial population, using a two-layer architecture decoupled scheduling logic, and output a Pareto solution set. The computing unit is used to calculate the composite load index and load variation coefficient of each satellite in the initial population after optimization by the hierarchical multi-objective evolutionary algorithm, and to identify the overloaded satellite set and the underloaded satellite set based on the composite load index and the load variation coefficient. The load balancing unit is used to optimize the load balancing among satellite resources by migrating tasks with a priority lower than a preset threshold from the overloaded satellite set to the underloaded satellite set. The judgment unit is used to extract preference features from the Pareto solution set to construct a scheduling preference vector after the load balancing optimization is completed, if the preset stagnation threshold is met, and to reallocate tasks to maintain population diversity and promote population evolution. The iteration unit is used to update the Pareto solution set and determine whether the maximum number of iterations has been reached. If the maximum number of iterations has been reached, the final Pareto optimal solution is output; otherwise, the hierarchical multi-objective evolutionary algorithm optimization step is returned to start a new round of iterations to continuously improve the scheduling scheme.
7. A satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm according to claim 6, characterized in that, The optimization unit includes: Used to decouple scheduling logic using a two-layer architecture of upper and lower layers; This is used by the upper layer to perform evolutionary iterations based on the correspondence between tasks and satellites through adaptive genetic operations; The task subset allocated to each satellite at the lower level is used to dynamically generate an observation window scheduling scheme using a dual-sequence sorting strategy and a gap-filling algorithm.
8. A satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm according to claim 6, characterized in that, The equalization unit includes: Used to calculate the average load of each satellite based on its composite load index and load variation coefficient. Standard deviation and coefficient of variation ; Used to determine whether the load variation coefficient satisfies ,in The preset threshold is used; if it is met, the overloaded satellite set is identified based on the load deviation. With under-loaded satellite collection ; Used to Tasks with a priority lower than a preset threshold will be migrated to The satellites in the population will continue to be used until the population load distribution becomes more balanced.
9. A satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm according to claim 6, characterized in that, The judgment unit includes: This is used to statistically analyze the average priority of each satellite's task execution from the historically accumulated Pareto solution set, and to construct the scheduling preference vector for each satellite accordingly. This is used to identify low-performing individuals in the current population whose objective function evaluation results rank in the bottom 30%, based on the aforementioned scheduling preference vector, with probability. Reassign tasks; Used in probability Satellites are redistributed for randomly selected tasks to suppress premature convergence of the algorithm and maintain population diversity.
10. A satellite mission scheduling device based on a hierarchical multi-objective evolutionary algorithm according to claim 7, characterized in that, The lower layer dynamically generates an observation window scheduling scheme for each satellite's assigned task subset using a dual-sequence sorting strategy and a gap-filling algorithm, including: Used to traverse all satellites Obtain the task subset assigned to the corresponding satellite. ; Used for According to the earliest feasible start time Ascending order to build list and according to the latest feasible end time Construct a list in descending order ; Used for alternating from and The head extraction task will be scheduled within a feasible timeframe, while meeting the satellite attitude maneuver constraints and equipment preparation time. Used to generate a complete observation time window scheduling scheme ; Used to calculate the total task benefit of the scheduling scheme Satellite load balance This serves as the basis for subsequent environmental selection.