Satellite planning and scheduling method based on enhanced multi-population inheritance, medium and equipment
By adopting a method based on strengthening multiple population genetics in multi-satellite imaging scheduling, using dual population genetic algorithms and reinforcement learning for population communication, combined with time relaxation optimization scheduling scheme, the problem of slow convergence speed and easy to fall into local optimality in the existing technology is solved, and efficient multi-satellite mission scheduling is achieved.
Patent Information
- Application Number
- CN202510259598.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-06-24
AI Technical Summary
In the field of multi-satellite imaging scheduling, the prior art is difficult to maintain the algorithm's global search capabilities in complex scheduling problems, while accelerating the convergence speed, and there are problems such as high parameter sensitivity and easy to fall into local optimality.
A satellite planning and scheduling method based on strengthening the genetics of multiple groups is proposed. By constructing a constraint model and objective function for multi-satellite mission scheduling, using dual-population genetic algorithm and reinforcement learning to communicate populations, combining time relaxation to perform task insertion or replacement, and optimizing the scheduling scheme.
It improves the quality of the initial solution, reduces conflicts between tasks, enhances resource utilization efficiency, accelerates the convergence speed of the algorithm, improves the overall optimization performance, and can effectively solve complex multi-satellite imaging scheduling problems.
Smart Images

Figure CN120197875A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of multi-satellite imaging mission scheduling, and particularly to a satellite planning and scheduling method, medium, and device based on enhanced multi-population genetics. Background Art
[0002] Multi-satellite imaging scheduling is one of the key technologies in the fields of space remote sensing and satellite applications. Its goal is to reasonably arrange the imaging tasks of satellites within limited satellite resources and time windows, maximizing the task completion rate, resource utilization rate, and user satisfaction. With the increase in the number of satellites and the diversification of task requirements, the complexity and scale of the scheduling problem continue to increase, becoming a typical NP-hard combinatorial optimization problem.
[0003] Traditional scheduling methods mainly include the following categories:
[0004] Heuristic algorithms: such as greedy algorithms, dynamic programming, etc. These algorithms have a fast calculation speed and are suitable for small-scale problems. However, in large-scale and multi-constraint conditions, it is difficult to obtain high-quality solutions.
[0005] Meta-heuristic algorithms: such as genetic algorithms, particle swarm optimization algorithms, simulated annealing, etc. The genetic algorithm (GA) has been widely applied to scheduling optimization problems due to its global search ability and adaptability. However, when dealing with complex scheduling problems, traditional genetic algorithms have the following deficiencies:
[0006] Slow convergence speed: A large number of iterations are required to find a satisfactory solution, and the calculation efficiency is low.
[0007] Prone to local optimum: Lack of an effective diversity maintenance mechanism, which may lead to premature convergence.
[0008] High parameter sensitivity: The algorithm performance is highly sensitive to parameter settings, and the parameter tuning process is complex.
[0009] Reinforcement learning algorithms: In recent years, reinforcement learning (RL) has shown excellent performance in solving sequential decision-making and dynamic optimization problems. By interacting with the environment, the agent can learn an optimization strategy. However, pure reinforcement learning methods face the problems of state space explosion and slow convergence speed in high-dimensional and complex-constraint scheduling problems.
[0010] To overcome the above challenges, researchers have proposed various improvement methods:
[0011] Multi-population evolutionary algorithms (MPGA): By introducing multiple populations, the diversity of solutions is enhanced, and premature convergence is avoided. Each population can exchange information with each other to improve the global search ability. However, the introduction of multiple populations also increases the complexity of the algorithm, which may lead to an increase in calculation time.
[0012] Evolutionary Algorithm Integrated with Reinforcement Learning: Introduce the learning mechanism of reinforcement learning into the evolutionary algorithm, and use environmental feedback to dynamically adjust genetic operations such as selection, crossover, and mutation probabilities to enhance the adaptability of the algorithm. However, this integration requires the design of reasonable state representation, reward function, and policy update mechanism, increasing the difficulty of algorithm design.
[0013] Hierarchical Scheduling Strategy: Decompose the scheduling problem into multiple levels or stages, first perform a preliminary allocation of tasks, and then perform refinement and optimization to reduce the complexity of the problem. However, this method may lead to a loss of global optimality.
[0014] Therefore, in the field of multi-satellite imaging scheduling, there is an urgent need for a method that can not only maintain the global search ability of the algorithm but also accelerate the convergence speed. In addition, the algorithm should have good robustness and be able to adapt to scheduling problems of different scales and complexities. Summary of the Invention
[0015] The purpose of the present invention is to: To solve the problem of complex multi-satellite imaging scheduling, a satellite planning and scheduling method based on enhanced multi-population genetics is proposed, including the following steps:
[0016] S1. According to the observation tasks, satellite resources, visible time windows of satellite resources, and observation time windows of observation tasks, construct a constraint model and an objective function for multi-satellite task scheduling;
[0017] S2. Calculate the conflict degree of the visible time windows of each satellite resource according to the constraint model, and allocate the visible time windows with a conflict degree of 0 to the tasks to complete the scheduling preprocessing;
[0018] S3. Based on the tasks after scheduling preprocessing, use the bisection method to generate initial solution individuals of satellite resources and visible time windows for satellite task scheduling;
[0019] S4. Generate a dual population based on the initial solution individuals, and use the dual-population genetic algorithm. One population is used to explore new allocation schemes, and the other population is used to optimize the task planning results under specific allocation schemes, and population communication is carried out based on reinforcement learning;
[0020] S5. According to the solution of multi-satellite task scheduling obtained by the dual-population genetic algorithm, perform task insertion based on time slack. If task insertion cannot be performed, then perform task replacement to obtain the final scheduling scheme.
[0021] Furthermore, the constraint model of multi-satellite task scheduling is as follows:
[0022]
[0023] Among them, represents task T i on satellite resource Sj Whether it is observed on the k-th visible time window of, if so, the value is 1, otherwise 0; |T| represents the number of elements in set T, T = {T1, T2,..., T m} represents the set of observation tasks, m represents the number of observation tasks; |S| represents the number of satellite resources, S = {S1, S2,..., S n} represents the set of satellite resources, n represents the number of satellite resources; |TW ij | represents the number of visible time windows that task T i can be covered by satellite resource S j ; represents the set of visible time windows that task T i can be covered by satellite resource S j , q represents the number of visible time windows; represents the end time of the k-th observation time window of task T i on satellite resource S j ; represents the start time of the k-th visible time window of task T i on satellite resource S j ; dur i represents the observation duration of task T i ; est i represents the earliest execution time of task T i ; and respectively represent the start time and end time of the k-th visible time window of task T i on satellite resource S j ; let i represents the imaging type of task T i ; ats ij and ate ij respectively represent the start time and end time of the observation time window of task T i on satellite resource S j ; represents the attitude conversion duration of satellite resource S j between two consecutive tasks T i and T i′ ; ats i′j represents the start time of the observation time window of task T i′ on satellite resource S j ; T(S j ) represents the set of all tasks that can be arranged on satellite resource S i ; α j represents the image generation size per second of the sensor on satellite resource S j ; sto iRepresents the storage space of satellite resource S j
[0024] Furthermore, the objective function is as follows:
[0025]
[0026] Among them, p i represents the priority of task T i
[0027] Furthermore, the calculation method for the conflict degree of the visible time window of each satellite resource is as follows:
[0028]
[0029] Among them, tw * represents the current visible time window, cd * represents the conflict degree, represents tw * and the overlapping length, represents the k-th visible time window that task T i can be covered by satellite resource S j , Over(tw * ) represents the set of other visible time windows that conflict with the current visible time window tw * , |Over(tw * )| represents the number of other visible time windows that conflict with the current visible time window tw * .
[0030] Furthermore, during the iterative process of the double-population genetic algorithm, conflict elimination is performed on infeasible solutions, and the process is as follows:
[0031] Define three attributes of the i-th task as mission[i] = (start time, end time, benefit), mission[i][0] represents the start time of the i-th task, mission[i][1] represents the end time of the i-th task, mission[i][2] represents the benefit of the i-th task, and sort mission[i] in ascending order of the end time;
[0032] When the i-th task is not selected, the maximum benefit f[i] of the first i tasks = f[i - 1];
[0033] When only the current task is selected, f[i] = mission[i][2],
[0034] When scheduling the current task to be executed after a certain task, a binary search is used to select a mission[j] from all missions that satisfy mission[j][1] ≤ mission[i][0] to be placed before mission[i]. At this time, f[i] = f[j] + mission[i][2], where f[j] represents the maximum benefit of the first j tasks.
[0035] Furthermore, when population communication is carried out based on reinforcement learning, the state of the agent is characterized by the change in the fitness function value; the action represents the population communication strategy, specifically: select individuals from two populations respectively according to a set ratio and combine them into a new population for further evolution.
[0036] Furthermore, the time slack includes: forward time slack f t and backward time slack b t ;
[0037] The forward time slack f t is calculated as follows: Traverse the task list from front to back. If the current task is the first task, the forward time slack of the current task is f t [1] = max(owStart[1] - windowStart[1], 0), where f t [1] represents the forward time slack of task T1, owStart[1] represents the start time of the observation time window of task T1, and windowStart[1] represents the start time of the visible time window of task T1;
[0038] If the current task is not the first task, the forward time slack of the current task T i has the following situations:
[0039] The first situation is: when owStart[i] = windowStart[i], owStart[i] represents the start time of the observation time window of task T i , and windowStart[i] represents the start time of the visible time window of task T i , the forward time slack of the current task t i is f t [i] = 0;
[0040] The second situation is: when owStart[i] > windowStart[i], f t [i] = owStart[i] - f t End, where f t End represents the end point to which the start time owStart[i] of the observation time window of task T i can be moved forward;
[0041]
[0042] Among them, owEnd[i - 1] represents the end time of the observation time window of task T i-1 of the satellite resource S represents the satellite resource S j in the attitude conversion duration between two consecutive tasks T i and T i-1 The forward time slack of task T t [i - 1] represents the forward time slack of task T i-1 ;
[0043] The backward time slack b t is calculated as follows: Traverse the task list from back to front. If the current task is the last task, the backward time slack of the current task is defined as: b t [n] = max(windowEnd[n] - owEnd[n], 0), where windowEnd[n] represents the end time of the visible time window of the last task, and owEnd[n] represents the end time of the observation time window of the last task;
[0044] If the current task T i is not the last task, there are the following situations for the backward time slack of the current task:
[0045] The first situation is: when owEnd[i] = windowEnd[i], the backward time slack of the current task T i is b t [i] = 0;
[0046] The second situation is: when owEnd[i] < windowEnd[i], b t [i] = b t End - owEnd[i], where b t End represents the end point to which the end time owEnd[i] of the observation time window of task T i can be moved backward;
[0047]
[0048] Among them, b t [i + 1] represents the backward time slack of task T i+1 ;
[0049] Furthermore, the task insertion based on time slack is expressed as:
[0050] Insert task T k into task T i and task Ti+1 When it is between i The time f that needs to move forward t Need and T i+1 The time n that needs to move backward t Need are respectively:
[0051]
[0052] Among them, Represents the satellite resource S j During two consecutive tasks T i And T k The attitude conversion duration between them, Represents the satellite resource S j During two consecutive tasks T k And T i+1 The attitude conversion duration between them, owStart[k] represents the start time of the observation time window of task T k And owEnd[k] represents the end time of the observation time window of task T k The end time.
[0053] The present invention also proposes a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, it implements the above-mentioned satellite planning and scheduling method based on enhanced multi-population genetics.
[0054] The present invention also proposes an electronic device, including a processor and a memory, the processor is connected to the memory, wherein, the memory is used to store a computer program, the computer program includes computer-readable instructions, and the processor is configured to call the computer-readable instructions to execute the above-mentioned satellite planning and scheduling method based on enhanced multi-population genetics.
[0055] The beneficial effects brought by the technical solution provided by the present invention are:
[0056] The present invention first assigns the visible time window with a conflict degree of 0 to tasks. After completing the scheduling preprocessing, an initial population solution is generated, which not only improves the quality of the initial solution, but also helps to reduce the conflicts between tasks and improve the resource utilization efficiency, thereby accelerating the convergence speed of the multi-population genetic algorithm and enhancing the overall optimization performance. The double-population genetic algorithm is adopted, and population communication is carried out based on reinforcement learning. By utilizing the search advantages of different populations, the diversity and quality of solutions are enhanced, and the global search ability and convergence speed of the algorithm are improved. Aiming at the problem that the quality of solutions may be limited due to randomness during the solution process of the genetic algorithm and the global optimal solution of the problem cannot be achieved, task insertion is performed based on time relaxation. If task insertion cannot be carried out, task replacement is performed to obtain the final scheduling plan, fully exploring the optimization potential of the solution and enhancing the solution performance of the algorithm. The method of the present invention can solve the problem of complex multi-satellite imaging scheduling. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 is a flowchart of the satellite planning and scheduling method based on enhanced multi-population genetics according to an embodiment of the present invention;
[0058] Figure 2 is a schematic diagram of the scheduling preprocessing according to an embodiment of the present invention;
[0059] Figure 3 is a schematic diagram of the conflict situation according to an embodiment of the present invention;
[0060] Figure 4 is a schematic diagram of inserting a new task according to an embodiment of the present invention;
[0061] Figure 5 is a block diagram of an electronic device in an exemplary embodiment according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0062] To make the objectives, technical solutions, and advantages of the present invention clearer, the embodiments of the present invention will be further described below in conjunction with the accompanying drawings.
[0063] The flowchart of the satellite planning and scheduling method based on enhanced multi-population genetics according to an embodiment of the present invention is as Figure 1 , and specifically includes the following steps:
[0064] S1. According to the observation tasks, satellite resources, visible time windows of satellite resources, and observation time windows of observation tasks, a constraint model and an objective function for multi-satellite task scheduling are constructed. Among them, the visible time window refers to the start time to the end time when the satellite can see (or cover) a ground target; the observation time window refers to selecting a period of time within the visible time window for imaging tasks.
[0065] Define the following parameters: the set of observation tasks T = {T1, T2,..., T m}, where m represents the number of observation tasks; each task T i is represented by a tuple {p i , dur i , res i , est i , let i}, where p i represents the priority of task T i , dur i represents the observation duration of task T i , res i represents the imaging type of task T i , est i and let i respectively represent the earliest execution time and the latest execution time of task T i ; the satellite resource set S = {S1, S2,..., S n}, where n represents the number of satellite resources, and the satellite resource S j is represented by a tuple {sen j , a j , sto j}, where sen j represents the sensor type, corresponding to the task imaging type res i , a j represents the image generation size per second of the sensor on satellite S j , and sto j represents the storage space of satellite S j ; the set of visible time windows i that task T j can be covered by satellite resource S is q; each time window is represented by a tuple containing two elements and respectively represent the start time and the end time of the k-th visible time window of task T i on satellite resource S j ; when satellite resource S j performs imaging on task T i and then needs to perform attitude conversion to image task T i′ , the attitude conversion duration between two consecutive tasks of satellite resource S i′ is defined as j Define S(T ) as the set of all satellite resources that meet the requirements of task T i , and there is i Similarly, define T(S i ) is defined as the set of all tasks that can be scheduled on satellite resource S i . There are Finally, task T i is defined with the observation start and end times as ats i and ate i .
[0066] The constraint model for multi - satellite task scheduling is as follows:
[0067]
[0068] Among them, represents whether task T i is observed in the k - th visible time window on satellite resource S j . If so, the value is 1; otherwise, it is 0. |T| represents the number of elements in set T; |S| represents the number of satellite resources; |TW ij | represents the number of visible time windows that task T i can be covered by satellite resource S j . represents the end time of the k - th observation time window of task T i on satellite resource S j , represents the start time of the k - th visible time window of task T i on satellite resource S j . and respectively represent the start time and end time of the k - th visible time window of task T i on satellite resource S j ; ate ij and ate ij respectively represent the start time and end time of the observation time window of task T i on satellite resource S j . represents the attitude conversion duration of satellite resource S j between two consecutive tasks T i and T i′ ; ats i′j represents the start time of the observation time window of task T i′ on satellite resource S j .
[0069] The objective function is to maximize the task completion benefit:
[0070]
[0071] Among them, p i represents task Ti Priority.
[0072] S2. Calculate the conflict degree of the visible time window of each satellite resource according to the constraint model, and allocate the visible time window with a conflict degree of 0 to the task to complete the scheduling preprocessing. For the schematic diagram of the scheduling preprocessing in the embodiment of the present invention, refer to Figure 2 .
[0073] The calculation method of the conflict degree of the visible time window of each satellite resource is as follows:
[0074]
[0075] Among them, cd represents the conflict degree, represents the length of the overlap between tw * and the overlapping length, represents the kth visible time window that the task T i can be observed by the satellite resource S j the kth visible time window, represents the task T i can be observed by the satellite resource S j in the time window observed by the satellite resource S and the window that overlaps with * Over(tw * ) represents the set of other visible time windows that conflict with the current visible time window tw * |Over(tw * )| represents the number of other visible time windows that conflict with the current visible time window tw
[0076] If cd = 0, it means that the visible time window does not conflict with any other visible time window, and this visible time window can be directly given to the task for use. At the same time, sequentially from the observation tasks that have been allocated visible time windows in the scheduling scenario and all their corresponding visible time window sets, repeat this step until there is no visible time window with cd = 0 in the scenario.
[0077] S3. Based on the tasks after scheduling preprocessing, use the dichotomy method to generate the initial solution individuals of satellite resources and visible time windows for satellite task scheduling.
[0078] Arrange the tasks after scheduling preprocessing in descending order of priority, and then traverse the tasks and their time windows in sequence. By dynamically calculating the conflict degree between the current time window and the assigned tasks, select the optimal satellite resource and time window combination according to the objective function to execute the tasks. When selecting the observation time window, use the binary search method to quickly locate the optimal observation time window within the visible time window. If the current time window is unavailable, try other candidate windows until the task is successfully assigned or all windows have been tried. Generate high-quality initial solution individuals through this method.
[0079] S4. Generate a dual population based on the initial solution individuals, and adopt a dual-population genetic algorithm. One population is used to explore new allocation schemes, and the other population is used to optimize the task planning results under specific allocation schemes, and population communication is carried out based on reinforcement learning.
[0080] The multi-satellite scheduling problem is usually decomposed into two parts: "task allocation at the multi-satellite level" and "task planning at the single-satellite level". However, existing methods often focus on single-satellite planning after task allocation is completed, and only re-perform task allocation after specific conditions are met. This strategy causes the algorithm to only perform local optimization on a few allocation schemes and it is difficult to obtain the global optimal solution.
[0081] The present invention generates a dual population based on the initial solution combined with random mutation. The exploration population focuses on exploring new allocation schemes, and its crossover and mutation operators adjust the combination of tasks and resources; the exploitation population is committed to optimizing the task planning results under specific allocation schemes, and its crossover and mutation operators adjust the observation time windows of the tasks. The two populations co-evolve. During the population communication process, the exploration population hands over excellent individuals to the exploitation population for further exploitation, and the exploitation population feeds back the optimized excellent individuals to the exploration population to guide its exploration direction. Through this co-evolution mechanism, the algorithm can search over a wider range of allocation schemes, thereby more effectively approaching the global optimal solution.
[0082] During the process of population evolution, there may be conflict operations between the tasks of each individual, that is, the time windows occupied by different tasks on the same resource overlap with each other. As Figure 3 shown, Figure 3 is a schematic diagram of the conflict situation in the embodiment of the present invention. sti, the observation end time ed1 of task 1 plus its transition time Δ 12 to task 2 overlaps with the observation time of task 2, task 2 conflicts with task 3, and task 3 conflicts with task 4. To solve the conflict, the present invention proposes a conflict elimination strategy for infeasible solutions. This method combines dynamic programming and binary search, and can find the most profitable feasible solution from the infeasible solution without destroying the individual structure, which is beneficial for the evolutionary algorithm to make full use of the effective information in the infeasible solution during the iteration process. The process is as follows:
[0083] Define task T i with three attributes mission[i] = (st[i], ed[i], we[i]), where st[i] represents the start time of the i-th task T i and ed[i] represents the end time of task T i and we[i] represents the profit of task T i mission[i][0] represents the start time of the i-th task, mission[i][1] represents the end time of the i-th task, and mission[i][2] represents the profit of the i-th task. Sort mission[i] in ascending order of end time.
[0084] When not selecting the current task T i since mission[i] will not generate any profit, the maximum profit f[i] of the first i tasks is f[i - 1];
[0085] When selecting the current task, it is divided into two cases: "only select the current task" and "consider arranging the current task to be executed after a certain task":
[0086] When only selecting the current task, f[i] = mission[i][2];
[0087] When arranging the current task to be executed after a certain task, use binary search to select a mission[j] that satisfies mission[j][1] ≤ mission[i][0] and connect it before task mission[i]. At this time, f[i] = f[j] + mission[i][2], where f[j] represents the maximum profit of the first j tasks.
[0088] The present invention uses the Q-learning method to guide the interaction between populations, which consists of five parts: action, state, reward, learning algorithm, and environment, and can be represented as a tuple <A, S, R, L, E> containing five elements. The state of the agent is characterized by the change in the fitness function value. Specifically, when the fitness function value is improved through search, it is regarded as a "state of improvement"; otherwise, it is regarded as a "state of no improvement or fitness reduction". This state setting can be associated with the improvement of the overall fitness of the population and can also be combined with the selectable actions to construct and update the Q-table. The structure of the Q-table is more concise and can closely fit the evolution process of the population. In this interaction mechanism, "action" represents the population communication strategy adopted. Specifically, individuals can be selected from two populations according to a certain ratio (the present invention designs 5 retention ratios, namely 2:8, 4:6, 5:5, 6:4, and 8:2) and combined into a new population for further evolution. By combining fitness evaluation and the feedback adjustment of Q-Learning, the system can more effectively guide and optimize the information communication and cooperation between groups.
[0089] S5. Based on the solution of the multi-satellite task scheduling obtained by the double-population genetic algorithm, task insertion is performed based on time slack. If task insertion cannot be performed, task replacement is carried out to obtain the final scheduling plan.
[0090] Between task T i and task T i+1 insert task T k , refer to Figure 4 . Figure 4 is the schematic diagram of inserting a new task in the embodiment of the present invention. It is necessary to ensure that the relevant conversion duration is not violated. For this purpose, the observation time window of T i can be moved forward, or the observation time window of T i+1 can be moved backward. However, due to and , such a move may make the original solution plan infeasible, and this situation is caused by the propagation of the conversion time constraint along the time axis. The propagation of the conversion duration is two-way. Therefore, the present invention defines two time slacks, including the forward time slack f t and the backward time slack b t .
[0091] The forward time slack f t is calculated as follows: Traverse the task list from front to back. If the current task is the first task, the forward time slack of the current task is f t [1]=max(owStart[1]-windowStart[1],0), f t[1] represents the forward time slack of task T1, owStart[1] represents the start time of the observation time window of task T1, and windowStart[1] represents the start time of the visible time window of task T1;
[0092] Traverse the task list from front to back. If the current task is not the first task, there are the following situations for the forward time slack of the current task:
[0093] The first situation is: when owStart[i] = windowStart[i], in this case, task T i The observation time window cannot be moved forward anymore. owStart[i] represents the start time of the observation of task T i , and windowStart[i] represents the start time of the visible time window of task T i . The forward time slack of the current task is f t [i] = 0;
[0094] The second situation is: when owStart[i] > windowStart[i], in this case, how much the observation time window can be moved forward needs to consider the movement of the previous task. f i [i] = owStart[i] - f t End, f t End represents the end point of the forward movement of the observation time window, and the calculation formula is as follows: t
[0095]
[0096] Among them, owEnd[i - 1] represents the end time of the observation time window of task T i-1 , represents the satellite resource S j during the attitude conversion duration between two consecutive tasks T i and T i-1 , and f t [i - 1] represents the forward time slack of task T i-1 .
[0097] The backward time slack b t is calculated as follows: Traverse the task list from back to front. If the current task is the last task, the backward time slack of the current task is defined as: b t [n] = max(windowEnd[n] - owEnd[n], 0), where windowEnd[n] represents the end time of the visible time window of the last task, and owEnd[n] represents the end time of the observation time window of the last task;
[0098] Traverse the task list from the back to the front. If the current task is not the last task, there are the following situations for the backward time slack of the current task:
[0099] The first situation is: when owEnd[i] = windowEnd[i], in this case, for task T i The observation time window cannot be moved backward anymore, and the forward time slack of the current task is b t [i] = 0;
[0100] The second situation is: when owEnd[i] < windowEnd[i], in this case, for task T i How much the observation time window can be moved backward needs to consider the movement of subsequent tasks. b t [i] = b t End - owEnd[i], where b t End represents the end point to which the end time owEnd[i] of the observation time window of task T i can be moved backward. The calculation formula is as follows:
[0101]
[0102] Among them, b t [i + 1] represents the backward time slack of task T i+1
[0103] Task insertion based on time slack is expressed as:
[0104] When inserting task T k between task T i and task T i+1 , the time f i that task T t Need to move forward and the time b i+1 that task T t Need to move backward are respectively:
[0105]
[0106] Among them, represents the attitude conversion duration of satellite resource S j between two consecutive tasks T i and T k , represents the attitude conversion duration of satellite resource S j between two consecutive tasks T k and T i+1 , and owStart[k] represents task T k The start time of the observation time window, owEnd[k] represents task T k The end time of the observation time window of the task T
[0107] The two cases during forward movement are as follows:
[0108] The first case: when f t Need = f t [i], this situation indicates that the time for task T i to move forward in a slack manner just meets the requirement. Task T i moves forward by Δf i = f t [i]. Let If Δf i-1 ≤ 0, none of the tasks before task T i need to move. If Δf i-1 > 0, task T i-1 moves forward by Δf i-1 , and calculate the forward movement time of each task in sequence according to this method.
[0109] The second case: when f t [i] > f t Need, this situation indicates that the time for task T i to move forward in a slack manner is greater than the required time. Task T i moves forward by Δf i = f t Need, and calculate the time that task T i-1 needs to move forward according to the following formula: If Δf i-1 ≤ 0, none of the tasks before task T i need to move. If Δf i-1 > 0, task T i-1 moves forward by Δf i-1 , and calculate the forward movement time of each task in sequence according to this method.
[0110] Use the set ftMoveTrack to record the forward movement time of the first task to the i-th task.
[0111] The two cases during backward movement are as follows:
[0112] The first case: when b t Need = b t [i + 1], this situation indicates that the time for task T i+1 to move backward in a slack manner just meets the requirement. b t [i + 1] represents task T i+1Backward time relaxation of task T i+1 Move backward by Δb i+1 = b t [i + 1], calculate task T according to the following formula i+2 Time to move backward: If Δb i+2 ≤ 0, for tasks after task T i+1 There is no need to move. If Δb i+2 > 0, task T i+2 Move backward by Δb i+2 , and calculate the backward movement time of each task in turn according to this method.
[0113] Second case: when b t [i + 1]> b t Need, this situation indicates that the time for task T i+1 to move backward and relax is greater than the required time. Task T i+1 Move backward by Δb i+1 = b t Need, let If Δb i+2 ≤ 0, for tasks after task T i+1 There is no need to move. If Δb i+2 > 0, task T i+2 Move forward by Δb i+2 , and calculate the backward movement time of each task in turn according to this method.
[0114] Use the set btMoveTrack to record the backward movement time of tasks from the (i + 1)-th task to the last task.
[0115] If the insertion operation can be performed, move the observation time window of the corresponding task according to ftMoveTrack and btMoveTrack. If the insertion operation cannot be performed, perform a replacement operation to replace the tasks with smaller benefits on both sides of task T k . If the sum of the benefits of the tasks on both sides is less than task T k , then replace these two tasks.
[0116] In an exemplary embodiment, it includes a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, it implements the above-mentioned satellite planning and scheduling method based on enhanced multi-population genetics.
[0117] Please refer to Figure 5 , in an exemplary embodiment, it further includes an electronic device, including at least one processor, at least one memory, and at least one communication bus.
[0118] Among them, a computer program is stored in the memory. The computer program includes computer-readable instructions. The processor calls the computer-readable instructions stored in the memory through a communication bus to execute the above-mentioned satellite planning and scheduling method based on enhanced multi-population genetics.
[0119] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be obvious to those skilled in the art. The general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A satellite planning and scheduling method based on enhanced multi-population genetics, characterized in that: The following steps are involved: S1. Construct a constraint model and objective function for multi-satellite task scheduling based on observation tasks, satellite resources, visible time windows of satellite resources, and observation time windows of observation tasks; S2. Calculate the conflict degree of the visible time window of each satellite resource according to the constraint model, assign the visible time window with a conflict degree of 0 to the task, and complete the scheduling preprocessing; S3, based on the tasks after scheduling preprocessing, the satellite resources and visible time window initial solution individuals of satellite task scheduling are generated by using the dichotomy method; S4. Generate dual populations based on the initial solution individuals and use a dual population genetic algorithm, where one population is used to explore new allocation schemes and the other population is used to optimize the task planning results under a specific allocation scheme, and population communication is performed based on reinforcement learning; S5. According to the solution of multi-satellite task scheduling obtained by the dual-population genetic algorithm, task insertion is performed based on time relaxation. If task insertion is not possible, task replacement is performed to obtain the final scheduling solution.
2. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 1, characterized in that: The constraint model for multi-satellite mission scheduling is as follows: in, Represents task T i In satellite resources j Whether it is observed in the kth visible time window on the , if yes, the value is 1, otherwise it is 0; |T| represents the number of elements in the set T, T={T1,T2,...,T m } represents the set of observation tasks, m represents the number of observation tasks; |S| represents the number of satellite resources, S={S1,S2,...,S n } represents the satellite resource set, n represents the number of satellite resources; |TW ij | indicates task T i Satellite resources S j The number of visible time windows covered; Represents task T i Satellite resources S j The set of visible time windows covered, q represents the number of visible time windows; Represents task T i In satellite resources j The end time of the kth observation time window on , Represents task T i In satellite resources j The start time of the kth visible time window on i Represents task T i Observation duration; est i Represents task T i The earliest execution time; and Represents tasks T i In satellite resources j The start and end time of the kth visible time window on i Represents task T i Imaging type; ats ij andate ij Represents tasks T i In satellite resources j The start and end time of the observation time window on ; Indicates satellite resources S j In two consecutive tasks T i and T i′ Ats i′j Represents task T i′ In satellite resources j The start time of the observation time window on T(S i ) represents all the resources that can be arranged on the satellite resource S i A collection of tasks on α j Indicates satellite resources S j The image size generated per second by the sensor; j Indicates satellite resources S j storage space.
3. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 2 is characterized in that: The objective function is as follows: Among them, p i Represents task T i priority.
4. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 1 is characterized in that: The conflict degree of the visible time window of each satellite resource is calculated as follows: Among them, tw * Indicates the current visible time window, cd * Indicates the degree of conflict, Indicates tw * and The length of the overlap, Represents task T i Satellite resources S j The kth visible time window covered, Over(tw * ) represents the current visible time window tw * The set of other visible time windows with conflicts, |Over(tw * )| represents the current visible time window tw * The number of other visible time windows that conflict.
5. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 1 is characterized in that: In the iterative process of the dual-population genetic algorithm, conflicts are eliminated for infeasible solutions. The process is as follows: Define the three attributes of the i-th task as mission[i] = (start time, end time, benefit), where mission[i][0] represents the start time of the i-th task, mission[i][1] represents the end time of the i-th task, and mission[i][2] represents the benefit of the i-th task. Sort mission[i] in ascending order of end time. When the i-th task is not selected, the maximum benefit of the first i tasks is f[i] = f[i-1]; When only the current task is selected, f[i] = mission[i][2]; When the current task is scheduled to be executed after a certain task, a binary search is used to select a mission[j] from all tasks that satisfy mission[j][1]≤mission[i][0] to be placed before mission[i]. At this time, f[i]=f[j]+mission[i][2], and f[j] represents the maximum benefit of the first j tasks.
6. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 1 is characterized in that: When conducting population communication based on reinforcement learning, the state of the agent is represented by the change in the value of the fitness function; the action represents the population communication strategy, specifically: selecting individuals from the two populations according to the set ratio, and combining them into a new population for further evolution.
7. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 1 is characterized in that: The time relaxation includes: forward time relaxation f t and backward time relaxation b t ; Forward time relaxation f t The calculation is as follows: traverse the task list from front to back. If the current task is the first task, the forward time relaxation of the current task is f t [1]=max(owStart[1]-windowStart[1],0),f t [1] represents the forward time relaxation of task T1, owStart[1] represents the start time of the observation time window of task T1, and windowStart[1] represents the start time of the visible time window of task T1; If the current task is not the first task, the current task T i There are several cases for forward time relaxation: The first case is: when owStart[i] = windowStart[i], owStart[i] represents task T i The observation time window start time of task T i The visible time window starts at the time of the current task T i The forward time relaxation is f t [i] = 0; The second case is: when owStart[i]>windowStart[i], f t [i] = owStart[i] - f t End, f t End indicates task T i The observation time window start time owStart[i] can be moved forward to the end point; Among them, owEnd[i-1] represents task T i-1 The end time of the observation time window, Indicates satellite resources S j In two consecutive tasks T i and T i-1 The duration of the posture transition between t [i-1] represents task T i-1 The forward time relaxation of Backward time relaxation b t The calculation is as follows: traverse the task list from back to front. If the current task is the last task, the backward time relaxation of the current task is defined as: b t [n] = max(windowEnd[n] - owEndn, 0, windowEndn represents the end time of the visible time window of the last task, owEnd[n] represents the end time of the observation time window of the last task; If the current task T i It is not the last task. The backward time relaxation of the current task has the following cases: The first case is: when owEnd[i] = windowEnd[i], the current task T i The backward time relaxation is b t [i] = 0; The second case is: when owEnd[i] < windowEnd[i], b t [i] = b t End - owEnd[i], b t End represents the end point to which the end time owEnd[i] of the observation time window of task T i can be moved backward; Among them, b t [i+1] represents task T i+1 The backward time relaxation of .
8. The satellite planning and scheduling method based on enhanced multi-population genetics according to claim 7 is characterized in that: Task insertion based on time relaxation is expressed as: Task T k Insert Task T i and Task T i+1 When the task T i The time f to move forward t Need and T i+1 The time n that needs to be moved backward t Needs are: in, Indicates satellite resources S j In two consecutive tasks T i and T k The duration of the posture transition, Indicates satellite resources S j In two consecutive tasks T k and T i+1 The posture transition time between tasks T k The observation time window start time, owEnd[k] represents the task T k The end time of the observation time window.
9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
10. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the processor and the memory are interconnected, wherein the memory is used to store a computer program, the computer program comprises computer-readable instructions, and the processor is configured to call the computer-readable instructions to execute the method according to any one of claims 1 to 8.
Citation Information
Cited By
Dynamic scheduling and resource allocation optimization method for multi-base collaborative observation platform
CN122088955A