An Agile Satellite Emergency Mission Planning Method
By applying the multi-objective optimization method of the NSGA-II algorithm in the agile imaging satellite emergency mission planning, the problems of weak search capabilities and limited planning effects in the prior art are solved, and multiple feasibility plans are acquired and efficient planning of emergency tasks are achieved.
Patent Information
- Application Number
- CN202210477067.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-02
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-05-02
Smart Images

Figure CN115034557B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of agile satellite mission planning, and relates to an agile satellite emergency mission planning method, in particular to an agile satellite emergency mission planning method based on an NSGA-II algorithm. Background Art
[0002] Agile satellite planning and scheduling requires not only the allocation of satellite resources, but also the allocation of satellite visible time windows and the arrangement of task execution time within the visible time windows. It is a complex resource allocation problem that includes two selection processes. With the development and widespread application of imaging satellite technology, customers have put forward higher and higher requirements for emergency response and rapid observation of imaging satellites in emergencies. Not only conventional task observations are required, but also rapid responses are required for emergency tasks proposed by users. The task time and observation targets of emergency tasks cannot be determined in advance, and they have strong timeliness. Compared with conventional tasks, their characteristics are mainly reflected in three aspects: urgency, time concentration and space concentration. If the traditional planning method is used to completely re-plan the emergency tasks, it will take a long time and cannot meet the requirements of quickly generating adjustment planning schemes. In addition, the generated new task planning scheme may be quite different from the initial planning scheme, which increases the difficulty of satellite scheduling. According to current data, in the research on emergency task planning, the adjustment algorithms based on rules and various heuristic strategies are mainly used. Although such algorithms run faster, they also have the disadvantage of weak solution search capabilities, and the performance achieved is limited. Therefore, the problem of emergency mission planning for agile imaging satellites needs further study.
[0003] In the current research on the emergency mission planning problem of agile imaging satellites, the adjustment based on heuristics and rules is the main method. Such algorithms have weak search capabilities and limited planning effects. Some scholars also use intelligent optimization algorithms to deal with emergency mission planning problems, but they ignore the problem of disturbances to the initial planning scheme. For the solution of the agile imaging satellite mission planning model, the solution target is single, or multiple solution targets are converted into a single target solution. The planning result is sensitive to the weights between the targets, and the weights are difficult to determine. Summary of the invention
[0004] In view of the above-mentioned prior art, the technical problem to be solved by the present invention is to provide an agile satellite emergency mission planning method based on multi-objective optimization, using the NSGA-II algorithm to solve the agile satellite emergency mission, and obtain more relevant information and multiple different feasible solutions.
[0005] In order to solve the above technical problems, an agile satellite emergency mission planning method of the present invention comprises:
[0006] Step 1: Set the genetic population size N and the maximum number of iterations G, use g to represent the current genetic generation, set g = 1, and use the genetic coding of the agile imaging satellite emergency mission planning to encode the population P g Initialize;
[0007] Step 2: Perform non-dominated sorting and crowding calculation on the initial population;
[0008] Step 3: Select the seed from the g-th generation population P through the tournament selection method g Select individuals with a total number of mp as the parent individuals of the offspring Parent = {parent1, parent2, ..., parent mp}, perform genetic operations of crossover and mutation on the individuals in Parent, and generate an offspring population offspring from the parent population;
[0009] Step 4: Set the g-th generation population P g Merge with its offspring population offspring to form a fusion population, perform non-dominated sorting and crowding calculation on the individuals of the fusion population, and select the best N individuals from the fusion population according to the non-dominated sorting and crowding calculation results as the new generation population; determine whether the maximum number of iterations G is reached, that is, whether g≥G is established. If so, go to step 5; otherwise, set g=g+1 and go to step 3;
[0010] Step 5: End genetic iteration and output population P g The Pareto solution in is obtained and decoded to obtain the task planning scheme.
[0011] Furthermore, in step 1, according to the agile imaging satellite emergency mission planning genetic coding of the population P g The specific initialization is:
[0012] Step 1.1: Regular tasks and emergency tasks are organized into a planning task list List. The i-th task in the task list List is represented as (task i ,sch i ,ts i ), where task i Indicates the task number, sch i Indicates whether the task is executed. If the task is executed, it is 1, otherwise it is 0. i Indicates the time when the task starts executing;
[0013] Step 1.2: Use j to represent the number of individuals in the population, and initialize j=0;
[0014] Step 1.3: Schedule the jth plan j Leave it blank, that is
[0015] Step 1.4: Randomly select a task i from the task list List, remove task i from the task list List, and determine whether task i is consistent with Schedule j Is there a conflict between the existing tasks in , if there is no conflict, then let sch i =1, this task i ,sch i ,ts i ) Add the plan to Schedule j If there is a conflict, let sch i =0, (task i ,sch i ,0) Add the planning plan to Schedule j middle;
[0016] Step 1.5: According to step 1.4, put all the tasks in the task list into the planning plan. j middle;
[0017] Step 1.6: Calculate the schedule j The starting attitude angle and ending attitude angle of each task in the satellite attitude constraint are determined, and the task is eliminated if it does not meet the satellite attitude constraint. Then, it is verified whether each task meets the satellite resource constraint conditions at the same time, including the imaging time of one track, the number of power-on and power-off times of one track, and the maximum storage. If it does not meet the constraints, the task is removed from the sch i The task with the lowest priority and a value of 1 starts to set its variable sch i Set from 1 to 0 until each task satisfies the constraints and completes the individual schedule j Initialization; Calculate the objective function of the scheme, including the total mission benefit TB, the disturbance SC to the initial scheme and the imaging maneuver angle SA;
[0018] Step 1.7: Determine whether j≥N holds. If so, the population initialization is complete; otherwise, j=j+1, and go to step 1.3.
[0019] Furthermore, the non-dominated sorting is specifically:
[0020] Step (1): Initialization F1 represents the first-level Pareto frontier;
[0021] Step (2): Select an individual p from the population to be sorted and initialize S p Represents the set of individuals dominated by individual p; initialize g p =0,gp represents the number of individuals that dominate individual p;
[0022] Step (3): Select an individual q from the population to be sorted at random, and determine the dominance relationship by the size relationship of the objective function between individuals p and q. The objective function includes the total task benefit TB, the disturbance SC to the initial solution, and the imaging maneuver angle SA. If individual p dominates individual q, then S p =S p ∪q; if individual q dominates individual p, then g p =g p +1; traverse all individuals in the population as individual q, if g p = 0, then p belongs to the first-level Pareto frontier, and the non-dominated ranking value of p is p rank =1, update the first-level Pareto frontier F1 = F1∪p;
[0023] Step (4): Traverse all individuals in the population to be sorted as individual p, execute steps (2) and (3), and obtain the first-level Pareto frontier F1;
[0024] Step (5): Let i = 1, indicating the level of the current Pareto frontier;
[0025] Step (6): Find the individuals included in the Pareto front of level i+1: Q represents the i+1th level Pareto frontier; traverse the current Pareto frontier F i For individual x, for its dominant task set S x For each individual y in , if x no longer dominates y, that is, let g y =g y -1, if g y = 0, then none of the remaining individuals can dominate y, and y belongs to the i+1th level Pareto frontier, that is, y rank =i+1, update the i+1th level Pareto frontier Q=Q∪y;
[0026] Step (7): Get the i+1th level Pareto frontier F i+1 =Q, determine whether all individuals in the population have been sorted and assigned to the Pareto front. If so, end the sorting. Otherwise, set i=i+1 and go to step (6).
[0027] Furthermore, the congestion degree is calculated as follows:
[0028] Step (1): Let i represent the level of the Pareto frontier, and let i = 1;
[0029] Step (2): Assume that the i-th level Pareto front F i The number of individuals in is o, that is, F i ={d1,...,dj ,...,d o ,}, let F i The crowding degree of each individual in is 0, that is, I(d j )=0,j=1,2,...,o;
[0030] Step (3): The objective function includes the total mission benefit TB, the disturbance SC to the initial solution and the imaging maneuver angle SA. Let E = {TB, SC, SA}; sort the n individuals according to TB, SC and SA respectively, and assign the crowding degree of the first and nth individuals to be infinite, that is, I TB (d1)=∞,I TB (d n )=∞,I SC (d1)=∞,I SC (d n )=∞,I SA (d1)=∞,I SA (d n )=∞, the remaining individuals d j The congestion degree I in the objective function TB, SC and SA directions TB (d j ), I SC (d j ), I SA (d j ) are:
[0031]
[0032]
[0033]
[0034] Among them, (d j+1 ).TB represents individual d j+1 TB value, (d j-1 ).TB represents individual d j-1 TB value, max(TB) represents the maximum TB value among n individuals, min(TB) represents the minimum TB value among n individuals, (d j+1 ).SC represents individual d j+1 SC value, (d j-1 ).SC represents individual d j-1 SC value, max(SC) represents the maximum SC value among n individuals, min(SC) represents the minimum SC value among n individuals, (d j+1 ).SA represents individual d j+1 The SA value (d j-1 ).SA represents individual d j-1SA value, max(SA) represents the maximum SA value among n individuals, and min(SA) represents the minimum SA value among n individuals;
[0035] Step (4): Calculate the total crowding degree I(d j ), specifically:
[0036] I(d j )=I TB (d j )+I SA (d j )+I SC (d j )
[0037] Step (5): Let i = i + 1, and go to step (2) until the congestion calculation is completed for each level of the Pareto front.
[0038] Furthermore, the tournament selection method is used to select the population P from the g generation g The individuals with a total number of mp are selected as follows:
[0039] Step (1): Determine the size of the mating pool mp and the dimension of the selection tournament e. The number of selected individuals is represented by k, and k = 0;
[0040] Step (2): Randomly select e individuals from the current generation population and ensure that these individuals do not overlap with each other;
[0041] Step (3): Perform the n-ary tournament process: select an elite individual elite from the e individuals, compare the non-dominated sorting and crowding distances between the e individuals, first compare the non-dominated sorting results between the individuals, and select the individual with the smallest non-dominated sorting value as the elite individual. If there are multiple individuals with the smallest non-dominated sorting values, compare the crowding distances and select the individual with the largest crowding distance as the elite individual.
[0042] Step (4): Put the selected elite individuals elite into the mating pool and determine whether the number of selected individuals meets the size of the mating pool, that is, whether k ≥ mp is established. If so, output the mating pool and the selection process ends; otherwise, k = k + 1, and go to step (2).
[0043] Furthermore, the crossover genetic operation on the individuals in Parent is as follows:
[0044] Step (1): Use the initialized population as the mating pool, randomly select two non-repeating parent individuals p1 and p2 from the mating pool, randomly sort the tasks in the individuals, and do not change the planning results after individual decoding;
[0045] Step 2: Split the genetic codes of p1 and p2 from f / 2, where f is the number of tasks in the solution. When f is an odd number, round f / 2 to get 4 sub-chromosomes p 11 、p 12 、p 21 and p 22 ; Sub-chromosome p 11 With subchromosome p 22 Combined into the offspring individual c1, the daughter chromosome p 12 With subchromosome p 21 Combined into offspring individual c2;
[0046] Step 3: Remove duplicate tasks from offspring individuals c1 and c2 respectively. If the duplicate tasks removed from offspring individuals c1 or c2 do not exist in the other offspring individual, insert the duplicate tasks into the other offspring individual.
[0047] Step 4: Calculate the attitude angle of each task in the offspring individuals c1 and c2, and verify whether each task meets the satellite attitude constraint. If not, remove the task, and then verify whether it meets the satellite resource constraint. If not, start with the task with the lowest priority and remove the task one by one. i Sch for the task of 1 i Set to 0 until the constraint is satisfied; at this point, a crossover operation is completed, and two offspring individuals c1 and c2 are generated from two parent individuals p1 and p2; calculate the objective functions E1, E2, ..., E2 of the scheme for each individual n The value of .
[0048] Furthermore, the genetic operation for mutating the individuals in Parent is as follows:
[0049] Step (1): Randomly sort the tasks in the task list List consisting of regular tasks and emergency tasks, and use i to represent the number of tasks to be mutated, and let i = 1;
[0050] Step (2): Select the i-th task from the task list. i Then, the initialized population is used as the mating pool, and a parent individual p3 is randomly selected from the mating pool as the individual to be mutated. The task task is determined. i Is it planned by the individual p3 to be mutated? If yes, go to step (3); otherwise, go to step (4);
[0051] Step (3): Change the task task in the individual p3 to be mutated iThe task start execution time of . If there is no time window conflict between the task and other tasks after the change and the attitude constraint and resource constraint of the satellite are met, the mutation is successful and go to step (5); otherwise, let i = i + 1 and go to step (2);
[0052] Step (4): In the individual p3 to be mutated, change the task task i Plan and perform tasks i It can be seen that a moment is randomly selected in the time window as the start time of its execution. Then, the time window conflict relationship between this task and other tasks in the plan is judged. If there is no conflict and the satellite's attitude constraints and resource constraints are met, the mutation is successful and go to step (5); otherwise, let i = i + 1 and go to step (2).
[0053] Step (5): Get the mutated offspring individual c3, set c3 = p3, calculate the attitude angle of the planned task of the offspring individual c3, verify whether each task meets the satellite attitude constraint, if not, remove the task, and then check the satellite resource constraint conditions. If not, start from the task with the lowest priority and remove the sch one by one. i Sch for the task of 1 i Set to 0 until the constraints are met, and calculate the objective functions E1, E2, ..., E of the scheme for each individual n The value of .
[0054] The beneficial effects of the present invention are as follows: the present invention analyzes the requirements and characteristics of emergency tasks for the task planning problem of agile imaging satellites, which has a large search space and complex solutions, and establishes a composite variable decision model for the emergency task planning of agile imaging satellites; proposes to use the multi-objective optimization algorithm NSGA-II algorithm to solve the emergency planning model, and designs the process of the emergency task planning algorithm for agile imaging satellites; makes a detailed design of the genetic operators involved in the emergency task planning algorithm of agile imaging satellites based on the NSGA-II algorithm, innovatively designs a composite genetic encoding method, and improves the constraint processing method and the population update method. The present invention innovatively establishes a model for the emergency task planning of agile imaging satellites that can simultaneously optimize the three robustness indicators of imaging quality, emergency benefits and disturbance to the initial solution, and proposes to use the NSGA-II algorithm to solve the model for the established emergency task planning model. Directly using the NSGA-II algorithm to solve the model can obtain a Pareto solution set, which contains more information, and the Pareto solution set can be used to analyze the correlation between multiple optimization objectives and other information. For a multi-objective optimization problem, after being converted into a single-objective problem, only one solution can be obtained, while the NSGA-II algorithm can obtain multiple feasible solutions for decision makers to choose from. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 Composite genetic coding maps for agile satellite emergency mission planning;
[0056] Figure 2 Planning genetic crossover maps for agile satellite emergency missions;
[0057] Figure 3 Computing congestion graphs for agile satellite emergency mission planning;
[0058] Figure 4 Update process diagram for agile satellite emergency mission planning population;
[0059] Figure 5 It is a graph of the convergence process of the objective function of the multi-objective optimization algorithm;
[0060] Figure 6 This is a comparison diagram of the distribution of the initial population and the distribution of the population after evolution;
[0061] Figure 7 It is a task sequence diagram in a planning scheme;
[0062] Figure 8 This is a graph showing how the optimization objective changes with the number of iterations;
[0063] Fig. 9 This is a trend graph showing how the objective function changes as the population size increases;
[0064] Fig.10 The total mission benefit diagram for the planning scheme;
[0065] Fig.11 The figure is a flow chart of the method of the present invention. DETAILED DESCRIPTION
[0066] The present invention will be further described below in conjunction with the accompanying drawings.
[0067] First, in view of the fact that the mission planning problem of agile imaging satellites has a large search space and complex solutions, the needs and characteristics of emergency tasks are analyzed, and a composite variable decision model for emergency mission planning of agile imaging satellites is established.
[0068] After the emergency mission of the agile imaging satellite arrives, the visibility of each task must first be calculated to obtain the visible time window set of the task. This process can be achieved through STK; then, the emergency mission is planned under the satellite usage constraints. First, this process involves selecting a window from the visible time window set of the task as the observation window of the task, which belongs to the discrete domain search; for each emergency task, there are two situations: it can be planned and it cannot be planned, which belongs to the discrete domain search; at the same time, for the emergency task that can be planned, the start execution time of the task within its visible time window also needs to be determined, which is the continuous domain search. In addition, the adjustment process of the initial planning scheme also involves whether the task is eliminated (discrete domain search) and the movement of the task execution time (continuous domain search). By separately describing the task selection and the task time determination, the model can more accurately cover the solution space of the agile imaging satellite emergency mission planning problem.
[0069] The mission planning problem of agile imaging satellites not only needs to solve whether the mission should be executed, but also needs to plan the execution time of the mission. This is an optimization problem that includes both discrete domain search and continuous domain search. The specific establishment process can be understood as a composite decision variable model.
[0070] According to the above analysis, the planning result of a task task can be expressed as a two-dimensional vector task = (sch, ts), where x represents whether the task is executed, with a value of 0 or 1, and is a binary decision variable; ts represents the start execution time of the task, with a range of the visible time window of the task [ws, we], and is a real continuous decision variable. A planning scheme Schedule can be expressed as a set of these vectors, that is, Schedule = {task1, task2, ..., task n}. The specific emergency task planning objective function and constraint planning model are:
[0071] Objective={max TB,min SC,max SA} (1)
[0072]
[0073] SC=N Schedule -N Schedule∩Schedule′ (3)
[0074]
[0075]
[0076] Where:
[0077] Inputs={p,q,Task,wi ,c i ,o i ,ws i ,we i ,sch i ,C} (6)
[0078] Constrints={C1,C2,C3,C4,C5} (7)
[0079] Output = {task i ,x i ,ts i ,task j ,x j ,ts j ,task k ,x k ,ts k …Objective} (8)
[0080] p: planning start time;
[0081] q: planning end time;
[0082] t: any time in the planning process, p <t<q;
[0083] sch i :If the observation task task i Observe, then x i =1, otherwise x i =0;
[0084] w i :Observation task task i Priority;
[0085] ws i :Observation task task i The start time of the visible time window;
[0086] we i :Observation task task i The end time of the visible time window;
[0087] ts i :Observation task task i The observation start time;
[0088] te i :Observation task task i The end time of observation;
[0089] switch i,j :Observation task task iand task j The posture transition time;
[0090] Task: a set of tasks in the task planning rolling window;
[0091] num i :Observation task task i Number of observations;
[0092] Save i :Observation task task i The size of the satellite's storage space occupied;
[0093] duration i :Observation task task i Observation duration;
[0094] Save t : Satellite storage size at time t;
[0095] Save: maximum value of satellite storage;
[0096] C1: Observation time window constraint, ts i <outs i <oute i <te i ;
[0097] C2: posture transition time constraint, outs j >oute i +tswitch i,j ;
[0098] C3: Satellite storage constraint, 0 <Save t <Save;
[0099] C4: Observation opportunity constraint, num i ≤1;
[0100] C5: Task uninterruptibility constraint, [outs i ,oute i ]∩[outs j ,oute j ]={};
[0101] TB: total mission benefit, total mission planning benefit;
[0102] SC: perturbation to the initial plan, the number of task differences between the planning sequence after the task decision and the planning sequence of the initial planning plan;
[0103] SA: Imaging maneuver angle, the interpolated value of the attitude angle at the end time and the attitude angle at the start time of each planned task after planning;
[0104] Schedule: initial planning plan;
[0105] Schedule′: the new plan after emergency task planning;
[0106] Schedule∩Schedule′: the tasks in the initial schedule that are retained in the new schedule;
[0107] angle s,i : The maneuvering angle of the agile imaging satellite at the start time of the i-th task in the planning scheme Schedule;
[0108] angle e,i : The maneuvering angle of the agile imaging satellite at the end time of the ith task in the planning scheme Schedule.
[0109] 2. It proposes to use the multi-objective optimization algorithm NSGA-II algorithm to solve the emergency planning model and designs the process of the agile imaging satellite emergency mission planning algorithm.
[0110] Combination Fig.11 The present invention designs the overall process of the method based on the multi-objective optimization algorithm NSGA-II, and the specific steps are as follows:
[0111] Step 1: Set the genetic population size N and the maximum number of iterations G, use g to represent the current genetic generation, and set g = 1. Then, use a certain initialization method to initialize the population P. g Initialize and perform non-dominated sorting and crowding calculation on the initial population.
[0112] Step 2: Select the population P from the gth generation by tournament selection. g Select individuals with a total number of mp from the population and use them as the parent individuals of the offspring. Parent = {parent1, parent2, ..., parent mp The number of parent individuals that reproduce offspring, mp, is generally half of the population size, that is, mp = N / 2. The genetic operations of crossover and mutation are performed on the individuals in the Parent according to a certain genetic probability, and then an offspring population, offspring, is generated from the parent population.
[0113] Step 3: Set the g-th generation population P gMerge with its offspring population to form a fusion population, perform non-dominated sorting and crowding calculation on the parent and offspring individuals, and select the N individuals with the highest non-dominated sorting and crowding calculation results as the new generation population. Determine whether the maximum number of iterations G has been reached, that is, whether g≥G holds. If so, go to step 4; otherwise, set g=g+1 and go to step 2.
[0114] Step 4: End genetic iteration and output population P g Find the Pareto solution in and decode it.
[0115] The present invention designs specific genetic operators based on the overall planning process, mainly including the encoding mode of genetic algorithm, population initialization method, selection process, crossover mutation, non-dominated sorting, crowding calculation and population updating method, to realize the specific planning process.
[0116] 1) Genetic algorithm encoding method
[0117] According to the composite decision variable model of emergency task planning problem established in the first part, the decision of an emergency task is divided into two parts: one is whether the task is selected for execution, and the other is that if the task is selected for execution, the execution time needs to be allocated to the task. Based on this model, the composite genetic encoding method is designed as follows:
[0118] Schedule={(task1,sch1,ts1),...,(task i ,sch i ,ts i ),...,(task n ,sch n ,ts n )}(9)
[0119] In genetic coding, every three bits represent a task, where the first bit is the task number. In an emergency task planning, each task number is unique; the second bit indicates whether the task is executed. If the task is executed, it is 1, otherwise it is 0, which is a discrete binary decision variable; the third bit is the start execution time of the task, and the upper and lower limits of the value range are the start time and end time of its visible time window, respectively, which is a continuous real number decision variable. According to the task information and its start execution time, its execution time window and the attitude angle of the satellite when executing the task can be calculated, so the start execution time of the task is used as one of the decision variables here.
[0120] like Figure 1The figure shows an example of a composite genetic code. The length of this composite genetic code is only related to the number of tasks. It directly reflects the planning status of each task and is relatively simple to decode. It plays an important role in improving the overall efficiency of the planning algorithm.
[0121] Other information about a task, including the task number, the start and end time of the task visible window, the duration of the task, the task priority, the start and end longitude and latitude of the task, etc., are all given in the task information table, as shown in Table 1. In this way, when the genetic code needs to be solved, all relevant information of the task can be obtained from the task information table through the task number in the genetic code, and then the solution is completed. The tasks in the task information table are meta-tasks obtained through task preprocessing. The regional targets have been divided into regions and decomposed into multiple strip targets, which can be observed by the agile imaging satellite through one scan.
[0122] Table 1 Agile Satellite Emergency Mission Planning Scheme Information Table
[0123]
[0124] 2) Population initialization method
[0125] According to the genetic coding method for emergency mission planning of agile imaging satellites, the following population initialization process is designed:
[0126] Step 1: Determine the population size N and the task list List that needs to be planned, use j to represent the number of individuals in the population, and let j=0.
[0127] Step 2: First schedule the jth plan j Leave it blank, that is
[0128] Step 3: Randomly select a task i from the task list List, and randomly select a time in its visible time window as the start execution time of the task outs i Then, determine whether task i matches Schedule j Are there any conflicts in the existing tasks? If there are no conflicts, let x i =1, this task i ,sch i ,ts i )Put it into the plan j If so, let x i =0, indicating that the task is not executed. i ,sch i ,0) Add the planning plan to Schedule jThen, continue to extract the next task from the task list and try to put it into the planning plan Schedule j Until the task list is traversed i All tasks in .
[0129] Step 4: Schedule according to the plan j Each task and its start execution time are calculated, the start and end attitude angles (roll angle and pitch angle) of each task are calculated, and whether the attitude constraints of the satellite are met is determined. If not, the task is eliminated. Then, the schedule is verified. j Whether the satellite resource constraints such as imaging time per orbit, number of power-on and power-off times per orbit, and maximum storage are met. If not, the tasks with the lowest priority are deleted, and the decision variables representing the execution of the tasks are set from 1 to 0 until the constraints are met. j The initialization is completed. Finally, the values of the objective functions TB, SC, and SA of the scheme are calculated.
[0130] Step 5: Determine whether the number of individuals in the population satisfies the population size, that is, whether j ≥ N is established. If so, the population initialization is completed; otherwise, j = j + 1, go to step 2.
[0131] 3) Selection process
[0132] Before genetic manipulation, it is necessary to select elite individuals from the current generation of the population as parent individuals for mating and reproduction. This process is called the selection process. This paper designs the selection process of the e-element tournament. The specific steps are as follows:
[0133] Step 1: First, determine the size of the mating pool mp and the dimension of the selection tournament e. The number of selected individuals is represented by k, and k=0.
[0134] Step 2: Randomly select e individuals from the current generation population and ensure that these individuals are not repeated.
[0135] Step 3: Conduct an n-ary tournament process to select an elite individual from the e individuals. The tournament process mainly compares the non-dominated sorting and crowding distance between the e individuals. First, compare the non-dominated sorting results between individuals, and select the individual with the smallest non-dominated sorting value as the elite individual. If there are multiple individuals with the same smallest non-dominated sorting value, then compare the crowding distances between them and select the individual with the largest crowding distance as the elite individual.
[0136] Step 4: Put the selected elite individuals elite into the mating pool and determine whether the number of selected individuals meets the size of the mating pool, that is, whether k ≥ mp is established. If so, output the mating pool and the selection process ends; otherwise, k = k + 1, go to step 2.
[0137] 4) Crossover mutation
[0138] In the process of population evolution, genetic operations mainly involve two operations: crossover and mutation. These two genetic operations are performed according to a certain probability, and the probabilities of the two genetic operations are optimized through simulation. The probability of crossover is represented by pc, and the probability of mutation is represented by pm. In view of the emergency mission planning problem of agile imaging satellites, the following designs the two genetic operators of crossover and mutation according to the genetic coding method.
[0139] 1. Crossover operator
[0140] According to the composite genetic coding method, a crossover process is designed. Figure 2 As shown, the specific steps are as follows:
[0141] Step 1: Randomly select two parent individuals p1 and p2 from the mating pool and ensure that the two individuals are not repeated. Randomly sort the tasks in the individuals without changing the planning results after decoding the individuals.
[0142] Step 2: Split the genetic codes of the parent individuals p1 and p2 from f / 2 (f is the number of tasks in the scheme, and n / 2 is rounded when f is an odd number), thereby obtaining four sub-chromosomes p 11 、p 12 、p 21 and p 22 Then, the sub-chromosome p 11 With subchromosome p 22 Combined into the offspring individual c1, similarly, the daughter chromosome p 12 With subchromosome p 21 Combined into offspring individual c2.
[0143] Step 3: After the crossover process, there may be duplicate tasks in the two offspring individuals c1 and c2, so it is necessary to remove the duplicate tasks in the offspring individuals c1 and c2 respectively. This will lead to a reduction in the number of tasks in the offspring individuals, which will reduce the number of tasks in the offspring population, which is not conducive to the evolution of the population. The purpose of emergency task planning is to plan as many tasks as possible, with a higher total benefit. Therefore, after removing duplicate tasks, try to re-arrange the tasks that were lost compared to the parent individuals for the offspring individuals c1 and c2.
[0144] Step 4: After the crossover is completed, it is necessary to calculate the attitude angles of the planned tasks in the offspring individuals c1 and c2, and verify whether each task meets the constraints of the satellite attitude. If not, the task is eliminated. Then, the constraints of the satellite resources need to be checked. If not, start by deleting the task with the lowest priority, and set the decision variable representing the execution of the task from 1 to 0 until the constraints are met. At this point, a crossover operation is completed, and two offspring individuals c1 and c2 are generated from two parent individuals p1 and p2. Finally, the values of the various objective functions TB, SA, and SC of the scheme are calculated for each individual.
[0145] 2. Mutation Operator
[0146] According to the designed genetic coding method, this paper designs a chromosome single-point mutation process. Try to plan an unplanned task in the individual to be mutated, or try to change the start execution time of a planned task in the individual to be mutated. The steps are as follows:
[0147] Step 1: Randomly sort the tasks in the task list List, use i to represent the number of tasks to try to mutate, and let i=1.
[0148] Step 2: First, select the i-th task from the task list i Then, a parent individual p3 is randomly selected from the mating pool Matepool as the individual to be mutated. Then, it is determined whether the task task is added to the individual p3 to be mutated. i If yes, go to step 3; otherwise, go to step 4.
[0149] Step 3: Try to change the task in the individual p3 to be mutated i After the change, if there is no conflict between the task and other tasks and the satellite's attitude constraints and resource constraints are met, the mutation is successful and go to step 5; otherwise, let i = i + 1 and go to step 2.
[0150] Step 4: Try to change the task task in the individual p3 to be mutated i Plan. Randomly select a moment in the visible time window of this task as its start execution time, then determine the conflict relationship between this task and other tasks in the plan. If there is no conflict and the satellite's attitude constraints and resource constraints are met, the mutation is successful and go to step 5; otherwise, set i = i + 1 and go to step 2.
[0151] Step 5: Get the mutated offspring individual c3, set c3 = p3. Calculate the attitude angle of the planned tasks of the offspring individual c3, and verify whether each task meets the constraints of the satellite attitude. If not, remove the task. Then, it is necessary to check the constraints of satellite resources. If not, delete the task starting from the lowest priority, and set the decision variable representing the execution of the task from 1 to 0 until the constraints are met. Calculate the objective functions E1, E2, ..., E of the scheme for each individual. n The value of .
[0152] 5) Non-dominated sorting
[0153] The non-dominated sorting method explicitly utilizes the concept of Pareto dominance when evaluating fitness or assigning selection probabilities to solutions. The fused population of parents and offspring is divided into different levels of Pareto frontiers based on the non-dominated sorting results. Then, each individual is assigned a fitness value based on its non-dominated ranking in the population, rather than its actual objective function value. In a population, if an individual a is not worse than individual b in multiple objective functions and there is at least one objective function with a better value, then individual a is said to dominate individual b. The process of non-dominated sorting is mainly to sort the individuals in the population according to this rule.
[0154] Non-dominated sorting requires calculating the number of individuals dominated by each individual in the population and the set of individuals dominated by it. First, calculate the first-level Pareto front, which is the set of individuals whose number of individuals dominating this individual is 0; then calculate the second-level Pareto front, and select an individual from the set of individuals dominated by the individuals in the first-level Pareto front, and reduce the number of individuals dominating it by one. If it is 0, put it into the second-level Pareto front. And so on, until all individuals in the population are sorted. When calculating the second-level Pareto front, the individuals in the first-level Pareto front do not participate in the comparison, which reduces the complexity of the problem and improves the speed of the algorithm. The main steps of non-dominated sorting are as follows:
[0155] Step 1: First, randomly select an individual p from the population P and initialize Represents the set of individuals dominated by individual p. Initialize g p =0, representing the number of all individuals that dominate individual p.
[0156] Step 2: Then, select an individual q from the population P at random and compare the values of multiple objective functions of individual p and individual q. If individual p dominates individual q, add individual q to the dominating set S of p. p Middle, that is, S p =S p ∪q; if individual q dominates individual p, then add 1 to the number of individuals dominating p, that is, g p =gp +1.
[0157] After traversing all individuals in the population, if g p = 0, that is, no individual can dominate individual p, then p belongs to the first-level Pareto frontier. The non-dominated ranking value of p rank = 1. Update the first-level Pareto frontier F1 = F1∪p.
[0158] Step 3: Let i = 1, indicating the level of the current Pareto front.
[0159] Step 4: Find the individuals included in the i+1th level Pareto front. Represents the i+1th level Pareto frontier. Traverse the current Pareto frontier F i For each individual x in the x For each individual y in , if x no longer dominates y, that is, let g y =g y -1. At this time, if g y = 0, it means that none of the remaining individuals can dominate y, and y belongs to the i+1th level Pareto frontier, that is, y rank =i+1, update the i+1th level Pareto frontier Q=Q∪y.
[0160] Step 5: Get the i+1th level Pareto frontier F i+1 =Q, let i=i+1, and go to step 4. This continues until all individuals in the population are sorted and assigned to the Pareto front.
[0161] 6) Crowding calculation
[0162] The purpose of crowding calculation is to keep the solution well spread. For any two individuals in the same Pareto front, the one with greater crowding is better than the one with less crowding.
[0163] After completing the non-dominated sort, the crowding needs to be calculated for individuals in the same Pareto front. Since individuals are selected based on rank and crowding, a crowding value is assigned to all individuals in the population. Crowding is assigned forward, and it is less meaningful to compare the crowding between two people in different Pareto fronts.
[0164] Crowding refers to the density of individuals around a given individual in a population. When the objective function is 2D, the crowding of an individual can be expressed as the side length of the rectangle formed by the two adjacent individuals on its left and right. Figure 3 As shown in the figure, the crowding degree of individual h in the direction of objective function f1 is a, and that in the direction of objective function f2 is b. The total crowding degree of individual h is a+b.
[0165] Step 1: Use i to represent the level of the Pareto frontier, and let i=1, which means starting from the first-level Pareto frontier.
[0166] Step 2: Assume that the i-th level Pareto front F i The number of individuals in is o, that is, F i ={d1,...,d j ,...,d o ,}. Then, let F i The crowding degree of each individual in is 0, that is, I(d j )=0,j=1,2,...,o.
[0167] Step 3: The objective function of this problem is 3-dimensional, that is, E = {TB, SC, SA}. Traverse each objective function TB, SC, SA, and sort the n individuals according to TB, SC, and SA. The sorting result is the first and last individuals, and their crowding degree is assigned to infinity, that is, I k (d1)=∞,I k (d n )=∞. All other individuals d j The congestion degree I in the objective function TB, SC, SA direction TB (d j ), I SC (d j ), I SA (d j ) is calculated as follows.
[0168]
[0169] Step 4: For each individual d j For example, the congestion degree I corresponding to each objective function obtained in the previous step is k (d j ) and sum to get the total crowding degree I(d j ). As shown in the following formula. So far, the i-th level Pareto frontier F i The calculation of individual crowding degree is completed.
[0170]
[0171] Step 5: Set i=i+1 and go to step 2. This continues until the congestion calculation is completed for each level of the Pareto front.
[0172] The main idea of crowding calculation is to find the Euclidean distance between each individual in the same level Pareto front according to m objective functions in m-dimensional hyperspace. Individuals in the frontier are always selected because they have infinite distance distribution.
[0173] 7) Population update
[0174] After genetic operations such as crossover and mutation, a sub-population is obtained. At this time, a certain population update method is needed to generate the next generation of population. In NSGA-II, the population update method is as follows.
[0175] First, the offspring population generated after the genetic operation is merged with its parent population to form a mixed population (the number of individuals is about twice the population size N). Secondly, according to the non-dominated sorting and crowding distance of each individual, N elite individuals are selected from the mixed population as the next generation population. N is the set population size. Because both the parent and offspring individuals are added to the mixed population, it is ensured that the elite individuals are retained during the population update process.
[0176] In the model of emergency mission planning for agile imaging satellites, minimizing the total maneuvering angle in the planning scheme is one of the optimization goals. This goal is related to the number of tasks in the planning scheme and the execution time of each task. In the simulation experiment, it was found that during the population update process, there were many planning schemes with a small number of tasks and very low benefits, but because of their small maneuvering angles, they were also retained as better schemes. These schemes greatly affected the search efficiency and performance of the algorithm. Our goal is to obtain a smaller total maneuvering angle by searching and optimizing the start execution time of each task while retaining as many tasks as possible and the benefits as high as possible. Planning schemes with a low number of tasks and benefits and a small maneuvering angle are not the planning schemes we want.
[0177] Therefore, the present invention improves the emergency mission planning problem of agile imaging satellites based on the population update process of NSGA-II. In the population update stage, a limit on the number of tasks in the planning scheme is added. First, a part of individuals are eliminated according to the number of tasks in the scheme, and then the population update process is carried out according to the non-dominated sorting and crowding method. The improved population update process is as follows Figure 4 As shown.
[0178] The following is an example with specific parameters and verifies the effect of the method.
[0179] In order to verify the theoretical correctness of the algorithm, software simulation was carried out. The analysis results showed that the algorithm can meet the needs of emergency task planning. The parameter setting of the algorithm was studied and a set of better parameters was obtained. The setting of algorithm parameters is related to the scenario and needs specific analysis in specific situations.
[0180] The simulation scenario is set up by using STK software to calculate the orbital parameters of the agile imaging satellite. The orbital information of the agile imaging satellite is shown in Table 2, and the basic resource constraints of the agile imaging satellite are shown in Table 3. There are 40 regular tasks in the initial planning scheme, and the priorities of regular tasks are set to 1 to 5; the emergency tasks are 3 regional targets, which are decomposed into 20 passive strip targets after preprocessing, and the priority of emergency tasks is set to 6 to 10, as shown in Table 4. Algorithm parameter setting. In the selection process of the NSGA-II algorithm, the mating pool size is set to half the population size, and the tournament is set to a binary tournament; in the genetic operation, the probability of crossover is set to 0.9 and the probability of mutation is set to 0.1.
[0181] Table 2 Orbital information of agile imaging satellite
[0182]
[0183] Table 3 Basic resource constraint information of agile imaging satellite
[0184]
[0185] Table 4 Initial mission planning plan for agile imaging satellite
[0186]
[0187] The objective function convergence process of the multi-objective optimization algorithm is as follows: Figure 5 When the population size is set to 50 and the number of algorithm iterations is set to 20, the distribution of the initial population and the distribution of the evolved population are compared. Figure 6 As shown in the figure. As can be seen from the figure, the distribution of the initial population is relatively uniform, which can ensure the diversity of the population. After genetic evolution, the average value of the total task benefit of individuals in the population increased from 154.4 to 229.18, which has been significantly improved; at the same time, the average value of the disturbance in the initial planning scheme decreased from 13.94 to 6.9, which was also significantly reduced. Under the condition that the total task benefit is close, there are multiple planning schemes with different disturbances and maneuvering angles in the solution set for decision makers to choose from. If the decision maker prefers to reduce the disturbance to the initial scheme, a high-benefit, low-disturbance planning scheme can be selected; if the decision maker prefers to ensure the imaging quality, a high-benefit, low-maneuvering angle scheme can be selected.
[0188] The task sequence in a planning scheme is as follows Figure 7 As shown in the figure, the numbers in the boxes represent the task numbers, the unshaded ones represent the regular tasks in the initial planning scheme, and the shaded ones represent the emergency tasks inserted into the scheme after emergency task planning. The disturbance of this planning scheme to the initial scheme is 5, the total task benefit is 260, and the total imaging maneuver angle is 96085.9.
[0189] In addition, the Pareto solution set obtained by the multi-objective genetic algorithm also contains multiple approximate optimal solutions, as shown in Table 5. Only several planning schemes with the highest total benefits are listed.
[0190] Table 5 Information table of the planning scheme with the highest approximate total benefit
[0191]
[0192] In order to study the changes of optimization objectives with the number of population evolution iterations in the evolution process of the multi-objective genetic algorithm, the following set of simulations was performed. When the population size was set to 100 and the number of iterations was 10, 20, 30, 40, and 50, emergency tasks were planned and the planning results were compared. The three objective functions of the emergency task planning problem and the changes of the algorithm running time with the number of iterations are shown in Figure 2. Figure 8 As shown in the figure, it can be seen that when the iteration is 10 times, the disturbance value of the initial planning scheme is the largest. As the number of iterations increases, the disturbance to the initial scheme gradually decreases and then tends to be stable. At the beginning, the insertion of emergency tasks has a greater impact on the initial scheme. With continuous iterations, through processes such as crossover and mutation, better solutions are searched and retained, and finally the disturbance of the emergency task planning to the initial scheme is reduced. With the continuous iteration of the genetic algorithm, the average value of the total benefit of the scheme reaches 230 after 10 iterations. After that, the total benefit of the scheme has been continuously improved, but the growth rate is small. In terms of the total maneuvering angle of the scheme, it shows an overall upward trend with the change of the number of iterations. This is mainly because the total maneuvering angle of the scheme is related to the number of tasks in the scheme. During the iterative optimization process, more and more emergency tasks are inserted. At the same time, the disturbance to the initial scheme is getting smaller and smaller, that is, more conventional tasks are retained, and the total number of tasks in the scheme increases, resulting in an increase in the maneuvering angle. The running time of the algorithm basically shows a linear growth trend with the increase of the number of iterations. Considering that the emergency task planning problem requires the rapid generation of adjusted plans, and the increase in benefits with the increase in the number of iterations is also relatively limited, the number of iterations should not be set too high. Taking all factors into consideration, when the number of iterations is 10 to 20 generations, the algorithm running time is shorter and the plan benefits are higher.
[0193] In order to compare the effect of the algorithm under different population sizes in the multi-objective genetic algorithm, the following set of simulations was performed. The number of algorithm iterations was set to 10, and the population sizes were 50, 100, 200 and 300 respectively, and the same set of emergency tasks were planned. The trend of the objective function changing with the increase of population size is shown in Fig. 9As shown in the figure, it can be seen that as the population size increases, the algorithm calculation amount increases, and the running time tends to increase linearly. However, the total benefit of the scheme and the total maneuvering angle of the scheme do not have a significant change trend with the increase of the population size, indicating that increasing the population has no significant effect on the optimization of the planning results. Even in terms of the goal of disturbing the initial scheme, increasing the population size will make the planning scheme worse. At the same time, considering the need for the emergency task planning problem to quickly adjust the initial scheme and obtain a new scheme, it is more reasonable to set the population size to 50-100.
[0194] In order to study the influence of genetic probability (crossover probability and mutation probability) on the algorithm in genetic operation, the following set of simulations was performed. The population size was set to 50, the number of iterations was 20, the crossover probability range was [0.7, 1.0], with a step size of 0.1, and the mutation probability range was [0.1, 0.3], with a step size of 0.05. Under different genetic probability values, the total task benefits of the planning scheme are as follows Fig.10 As shown in the figure, when the crossover probability is 0.9 and the mutation probability is 0.2, the total benefit of the scheme is the highest and the algorithm has the best effect; when the crossover probability is 0.8 and the mutation probability is 0.2, the effect is second best.
[0195] Multiple parameters such as the number of iterations, population size, and genetic probability affect each other and are related to the simulation scenario. During specific operations, multiple groups of experiments with different parameters can be set to determine the optimal parameter settings.
Claims
1. An agile satellite emergency mission planning method, characterized in that: include: Step 1: Set the genetic population size N and the maximum number of iterations G, use g to represent the current genetic generation, set g = 1, and use the genetic coding of the agile imaging satellite emergency mission planning to encode the population P g Initialize; Step 2: Perform non-dominated sorting and crowding calculation on the initial population; Step 3: Select the seed from the g-th generation population P through the tournament selection method g Select individuals with a total number of mp as the parent individuals of the offspring Parent = {parent1, parent2, ..., parent mp }, perform genetic operations of crossover and mutation on the individuals in Parent, and generate an offspring population offspring from the parent population; Step 4: Set the g-th generation population P g Merge with its offspring population offspring to form a fusion population, perform non-dominated sorting and crowding calculation on the individuals of the fusion population, and select the best N individuals from the fusion population according to the non-dominated sorting and crowding calculation results as the new generation population; determine whether the maximum number of iterations G is reached, that is, whether g≥G is established. If so, go to step 5; otherwise, set g=g+1 and go to step 3; Step 5: End genetic iteration and output population P g The Pareto solution in is decoded to obtain the task planning scheme; The task schedule is represented by a two-dimensional vector task = (sch, ts), where x represents whether the task is executed, and takes the value of 0 or 1, which is a binary decision variable; ts represents the start time of the task, and the range is the visible time window of the task [ws, we], which is a real continuous decision variable; a schedule is represented by a set of these vectors, that is, Schedule = {task1, task2, ..., task n }; The specific emergency task planning objective function and constraint planning model are: Objective={maxTB,minSC,maxSA} SC=N Schedule -N Schedule∩Schedule' (3) Model = {Inputs; Constrints; Outputs;} Where: Inputs={p,q,Task,w i ,c i ,o i ,ws i ,we i ,sch i ,C} Constrints = {C1,C2,C3,C4,C5} Outpus={task i ,x i ,ts i ,task j ,x j ,ts j ,task k ,x k ,ts k …Objective} p: planning start time; q: planning end time; t: any time in the planning process, p <t<q; sch i :If the observation task task i Observe, then x i =1, otherwise x i =0; w i :Observation task task i Priority; ws i :Observation task task i The start time of the visible time window; we i :Observation task task i The end time of the visible time window; ts i :Observation task task i The observation start time; te i :Observation task task i The end time of observation; switch i,j :Observation task task i and task j The posture transition time; Task: a set of tasks in the task planning rolling window; num i :Observation task task i Number of observations; Save i :Observation task task i The size of the satellite's storage space occupied; duration i :Observation task task i Observation duration; Save t : Satellite storage size at time t; Save: maximum value of satellite storage; C1: Observation time window constraint, ts i <outs i <oute i <te i ; C2: posture transition time constraint, outs j >oute i +tswitch i,j ; C3: Satellite storage constraint, 0 <Save t <Save; C4: Observation opportunity constraint, num i ≤1; C5: Task uninterruptibility constraint, [outs i ,oute i ]∩[outs j ,oute j ]={}; TB: total mission benefit, total mission planning benefit; SC: perturbation to the initial plan, the number of task differences between the planning sequence after the task decision and the planning sequence of the initial planning plan; SA: Imaging maneuver angle, the interpolated value of the attitude angle at the end time and the attitude angle at the start time of each planned task after planning; Schedule: initial planning plan; Schedule': new planning scheme after emergency task planning; Schedule∩Schedule': the tasks in the initial schedule that are retained in the new schedule; angle s,i : The maneuvering angle of the agile imaging satellite at the start time of the i-th task in the planning scheme Schedule; angle e,i : The maneuvering angle of the agile imaging satellite at the end time of the ith task in the planning scheme Schedule.
2. The method for planning an agile satellite emergency mission according to claim 1, characterized in that: Step 1 describes the genetic coding of the population P according to the agile imaging satellite emergency mission planning g The specific initialization is: Step 1.1: Regular tasks and emergency tasks are organized into a planning task list List. The i-th task in the task list List is represented as (task i ,sch i ,ts i ), where task i Indicates the task number, sch i Indicates whether the task is executed. If the task is executed, it is 1, otherwise it is 0. i Indicates the time when the task starts executing; Step 1.2: Use j to represent the number of individuals in the population, and initialize j=0; Step 1.3: Schedule the jth plan j Leave it blank, that is Step 1.4: Randomly select a task i from the task list List, remove task i from the task list List, and determine whether task i is consistent with Schedule j Is there a conflict between the existing tasks in , if there is no conflict, then let sch i =1, this task i ,sch i ,ts i )Put it into the plan j middle; If there is a conflict, let sch i =0, (task i ,sch i ,0) Add the planning plan to Schedule j middle; Step 1.5: According to step 1.4, put all the tasks in the task list into the planning plan. j middle; Step 1.6: Calculate the schedule j The starting attitude angle and ending attitude angle of each task in the satellite attitude constraint are determined, and the task is eliminated if it does not meet the satellite attitude constraint. Then, it is verified whether each task meets the satellite resource constraint conditions at the same time, including the imaging time of one track, the number of power-on and power-off times of one track, and the maximum storage. If it does not meet the constraints, the task is removed from the sch i The task with the lowest priority and a value of 1 starts to set its variable sch i Set from 1 to 0 until each task satisfies the constraints and completes the individual schedule j Initialization; Calculate the objective function of the scheme, including the total mission benefit TB, the disturbance SC to the initial scheme and the imaging maneuver angle SA; Step 1.7: Determine whether j≥N holds. If so, the population initialization is complete; otherwise, j=j+1, and go to step 1.
3.
3. The method for planning an agile satellite emergency mission according to claim 1, characterized in that: The non-dominated sorting is specifically: Step (1): Initialization F1 represents the first-level Pareto frontier; Step (2): Select an individual p from the population to be sorted and initialize S p Represents the set of individuals dominated by individual p; initialize g p =0,g p represents the number of individuals that dominate individual p; Step (3): Select an individual q from the population to be sorted at random, and determine the dominance relationship by the size relationship of the objective function between individuals p and q. The objective function includes the total task benefit TB, the disturbance SC to the initial solution, and the imaging maneuver angle SA. If individual p dominates individual q, then S p =S p ∪q; If individual q dominates individual p, then g p =g p +1; traverse all individuals in the population as individual q, if g p = 0, then p belongs to the first-level Pareto frontier, and the non-dominated ranking value of p is p rank =1, update the first-level Pareto frontier F1 = F1∪p; Step (4): Traverse all individuals in the population to be sorted as individual p, execute steps (2) and (3), and obtain the first-level Pareto frontier F1; Step (5): Let i = 1, indicating the level of the current Pareto frontier; Step (6): Find the individuals included in the Pareto front of level i+1: Q represents the i+1th level Pareto frontier; traverse the current Pareto frontier F i For individual x, for its dominant task set S x For each individual y in , if x no longer dominates y, that is, let g y =g y -1, if g y = 0, then none of the remaining individuals can dominate y, and y belongs to the i+1th level Pareto frontier, that is, y rank =i+1, update the i+1th level Pareto frontier Q=Q∪y; Step (7): Get the i+1th level Pareto frontier F i+1 =Q, determine whether all individuals in the population have been sorted and assigned to the Pareto front. If so, end the sorting. Otherwise, set i=i+1 and go to step (6).
4. The method for planning an agile satellite emergency mission according to claim 1, characterized in that: The congestion calculation is as follows: Step (1): Let i represent the level of the Pareto frontier, and let i = 1; Step (2): Assume that the i-th level Pareto front F i The number of individuals in is o, that is, F i ={d1,...,d j ,...,d o ,}, let F i The crowding degree of each individual is 0, that is, I(d j )=0,j=1,2,...,o; Step (3): The objective function includes the total mission benefit TB, the disturbance SC to the initial solution and the imaging maneuver angle SA. Let E = {TB, SC, SA}; sort the n individuals according to TB, SC and SA respectively, and assign the crowding degree of the first and nth individuals to be infinite, that is, I TB (d1)=∞,I TB (d n )=∞,I SC (d1)=∞,I SC (d n )=∞,I SA (d1)=∞,I SA (d n )=∞, the remaining individuals d j The congestion degree I in the objective function TB, SC and SA directions TB (d j ), I SC (d j ), I SA (d j ) are: Among them, (d j+1 ).TB represents individual d j+1 TB value, (d j-1 ).TB represents individual d j-1 TB value, max(TB) represents the maximum TB value among n individuals, min(TB) represents the minimum TB value among n individuals, (d j+1 ).SC represents individual d j+1 SC value, (d j-1 ).SC represents individual d j-1 SC value, max(SC) represents the maximum SC value among n individuals, min(SC) represents the minimum SC value among n individuals, (d j+1 ).SA represents individual d j+1 The SA value (d j-1 ).SA represents individual d j-1 SA value, max(SA) represents the maximum SA value among n individuals, and min(SA) represents the minimum SA value among n individuals; Step (4): Calculate the total crowding degree I(d j ), specifically: I(d j )=I TB (d j )+I SA (d j )+I SC (d j ) Step (5): Let i = i + 1, and go to step (2) until the congestion calculation is completed for each level of the Pareto front.
5. The method for agile satellite emergency mission planning according to claim 1, characterized in that: The tournament selection method is used to select the g-th generation population P g The individuals with a total number of mp are selected as follows: Step (1): Determine the size of the mating pool mp and the dimension of the selection tournament e. The number of selected individuals is represented by k, and k = 0; Step (2): Randomly select e individuals from the current generation population and ensure that these individuals do not overlap with each other; Step (3): Perform the n-ary tournament process: select an elite individual elite from the e individuals, compare the non-dominated sorting and crowding distances between the e individuals, first compare the non-dominated sorting results between the individuals, and select the individual with the smallest non-dominated sorting value as the elite individual. If there are multiple individuals with the smallest non-dominated sorting values, compare the crowding distances and select the individual with the largest crowding distance as the elite individual. Step (4): Put the selected elite individuals elite into the mating pool and determine whether the number of selected individuals meets the size of the mating pool, that is, whether k ≥ mp is established. If so, output the mating pool and the selection process ends; otherwise, k = k + 1, and go to step (2).
6. The method for planning an agile satellite emergency mission according to claim 1, characterized in that: The crossover genetic operation on the individuals in Parent is specifically as follows: Step (1): Use the initialized population as the mating pool, randomly select two non-repeating parent individuals p1 and p2 from the mating pool, randomly sort the tasks in the individuals, and do not change the planning results after individual decoding; Step 2: Split the genetic codes of p1 and p2 from f / 2, where f is the number of tasks in the solution. When f is an odd number, round f / 2 to get 4 sub-chromosomes p 11 、p 12 、p 21 and p 22 ; Sub-chromosome p 11 With subchromosome p 22 Combined into the offspring individual c1, the daughter chromosome p 12 With subchromosome p 21 Combined into offspring individual c2; Step 3: Remove duplicate tasks from offspring individuals c1 and c2 respectively. If the duplicate tasks removed from offspring individuals c1 or c2 do not exist in the other offspring individual, insert the duplicate tasks into the other offspring individual. Step 4: Calculate the attitude angle of each task in the offspring individuals c1 and c2, and verify whether each task meets the satellite attitude constraint. If not, remove the task, and then verify whether it meets the satellite resource constraint. If not, start with the task with the lowest priority and remove the task one by one. i Sch for the task of 1 i Set to 0 until the constraint is satisfied; at this point, a crossover operation is completed, and two offspring individuals c1 and c2 are generated from two parent individuals p1 and p2; calculate the objective functions E1, E2, ..., E2 of the scheme for each individual n The value of .
7. The method for planning an agile satellite emergency mission according to claim 1, characterized in that: The genetic operation of mutating the individuals in Parent is specifically: Step (1): Randomly sort the tasks in the task list List consisting of regular tasks and emergency tasks, and use i to represent the number of tasks to be mutated, and let i = 1; Step (2): Select the i-th task from the task list. i Then, the initialized population is used as the mating pool, and a parent individual p3 is randomly selected from the mating pool as the individual to be mutated. The task task is determined. i Is it planned by the individual p3 to be mutated? If yes, go to step (3); otherwise, go to step (4); Step (3): Change the task task in the individual p3 to be mutated i The task start execution time of . If there is no time window conflict between the task and other tasks after the change and the attitude constraint and resource constraint of the satellite are met, the mutation is successful and go to step (5); otherwise, let i = i + 1 and go to step (2); Step (4): In the individual p3 to be mutated, change the task task i Plan and perform tasks i A moment is randomly selected in the visible time window as the start time of its execution. Then, the time window conflict relationship between this task and other tasks in the solution is determined. If there is no conflict and the satellite's attitude constraints and resource constraints are met, the mutation is successful and go to step (5); otherwise, let i = i + 1 and go to step (2); Step (5): Get the mutated offspring individual c3, set c3 = p3, calculate the attitude angle of the planned task of the offspring individual c3, verify whether each task meets the satellite attitude constraint, if not, remove the task, and then check the satellite resource constraint conditions. If not, start from the task with the lowest priority and remove the sch one by one. i Sch for the task of 1 i Set to 0 until the constraints are met, and calculate the objective functions E1, E2, ..., E of the scheme for each individual n The value of .
Citation Information
Patent Citations
Differential evolution method facing agile satellite multi-object task planning
CN106647262A
Agile satellite task planning and scheduling modeling method based on genetic optimization
CN109492834A