Satellite measurement and control task scheduling method and system, electronic device and medium
Patent Information
- Application Number
- CN202511736148.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-25
- Publication Date
- 2026-10-20
AI Technical Summary
[0010]本发明主要目的是克服调度效率低下、资源利用率不高、质量不稳定、实时性不足、多约束处理能力弱、扩展性差的问题,提供一种卫星测控任务的调度方法及系统、电子设备及介质,实现快速、高效的多目标协同优化调度
[0021]本发明的优势效果是:
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite telemetry, tracking, and command (TT&C) technology, and in particular to a scheduling method and system, electronic equipment, and medium for satellite TT&C missions. Background Technology
[0002] Sun-synchronous satellites play a crucial role in remote sensing, meteorological observation, and environmental monitoring due to their unique orbital characteristics. However, with the increasing number of sun-synchronous satellites and the growing complexity of their missions, traditional manual scheduling methods are no longer sufficient to meet the demands of modern satellite tracking and control, primarily due to the following problems: (1) Low scheduling efficiency: Manual scheduling requires a lot of time for track prediction, resource analysis and conflict resolution. On average, a single scheduling takes 4-8 hours, which cannot quickly respond to the needs of urgent tasks.
[0003] (2) Low resource utilization: Due to the lack of a global optimization algorithm, the average utilization rate of the telemetry and control station is only 65-70%, and the frequency band resource conflict rate is as high as 15-20%, resulting in serious resource waste.
[0004] (3) Unstable scheduling quality: It depends on the experience of the schedulers. The human error rate is about 8-12%, the optimality of the scheduling scheme cannot be guaranteed, and the task completion rate fluctuates greatly.
[0005] (4) Insufficient real-time performance: The response time of the existing system is usually more than 30 minutes, and it cannot be quickly adjusted according to sudden situations such as satellite status and equipment failure.
[0006] (5) Weak ability to handle multiple constraints: It is difficult to handle multiple complex constraints such as orbital dynamics constraints, resource capacity constraints, time window constraints, and priority constraints at the same time.
[0007] (6) Poor scalability: As the number of satellites increases, the scheduling complexity grows by O(n³), and existing methods are difficult to cope with large-scale scheduling of more than 50 satellites.
[0008] Therefore, there is a need to provide a scheduling method and system, electronic equipment and medium for satellite telemetry and control missions to solve the problems of low scheduling efficiency, low resource utilization, unstable quality, insufficient real-time performance, weak multi-constraint processing capability and poor scalability, and to achieve fast and efficient multi-objective collaborative optimization scheduling.
[0009] The information disclosed in the background section is only intended to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0010] The main purpose of this invention is to overcome the problems of low scheduling efficiency, low resource utilization, unstable quality, insufficient real-time performance, weak multi-constraint processing capability, and poor scalability, and to provide a scheduling method, system, electronic equipment, and medium for satellite telemetry and control missions, so as to achieve fast and efficient multi-objective collaborative optimization scheduling.
[0011] To achieve the above objectives, the first aspect of the present invention provides a method for scheduling satellite telemetry, tracking, and command (TT&C) missions, comprising the following steps: S1: Establish a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks; S2: Calculate the weight vector based on the current scheduling environment parameters; S3: Obtain the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector; S4: Based on the optimal solution set and weight vector, an executable scheduling scheme is obtained by scheduling the scheme.
[0012] According to an exemplary embodiment of the present invention, in step S1, the satellite is a sun-synchronous satellite.
[0013] According to an exemplary embodiment of the present invention, in step S1, establishing a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks includes: S11: Establish a set of visibility windows based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks; S12: Define binary decision variables based on the set of visibility windows, and generate a decision variable matrix based on the binary decision variables; S13: Based on the decision variable matrix, establish three conflicting optimization objectives, and combine the three conflicting optimization objectives to form a multi-objective optimization model.
[0014] According to an exemplary embodiment of the present invention, in step S13, the three conflicting optimization objectives include maximizing task completion rate, maximizing resource utilization, and maximizing load balancing index. The formula for maximizing task completion rate is as follows: ; Where f1(X) represents maximizing the task completion rate, and X represents the decision variable matrix; Duration_ijk represents the task execution time of satellite i using telemetry and tracking station j within time window k, in minutes; i represents the satellite index, i∈{1, 2, ...,N}, where N is the total number of satellites in the system; j represents the telemetry and tracking station index, j∈{1, 2, ..., M}, where M is the total number of available telemetry and tracking stations; k represents the time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to telemetry and tracking station j; Total_Task_Duration represents the total duration requirement of all tasks to be scheduled. The formula for maximizing resource utilization is as follows: ; Where f2(X) represents maximizing resource utilization, and X represents the decision variable matrix; Actual_Usage_j = Σ i Σ k x_ijk×Duration_ijk represents the actual usage time of tracking and control station j; Duration_ijk represents the task execution time of satellite i using tracking and control station j within time window k, in minutes; i represents the satellite index, i∈{1, 2, ..., N}, where N is the total number of satellites in the system; j represents the tracking and control station index, j∈{1, 2, ..., M}, where M is the total number of available tracking and control stations; k represents the time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j; Available_Time_j represents the total available time of tracking and control station j within the scheduling period; The load balancing index is maximized using the following formula: ; Where f3(X) represents the maximization of the load balancing exponent, and X represents the decision variable matrix; Load j =Σ i Σ k x_ijk represents the number of task loads for telemetry and control station j. Load avg The average load is represented by: i represents the satellite index, i ∈ {1, 2, ..., N}, where N is the total number of satellites in the system; j represents the tracking and control station index, j ∈ {1, 2, ..., M}, where M is the total number of available tracking and control stations; k represents the time window index, k ∈ {1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j.
[0015] According to an exemplary embodiment of the present invention, in step S2, the calculation of the weight vector based on the multi-objective optimization model and the current scheduling environment parameters includes: S21: Evaluate the scheduling environment based on the current scheduling environment parameters to obtain the environmental factors; S22: Adjust the weights according to the environmental factors to obtain the weight vector.
[0016] According to an exemplary embodiment of the present invention, step S3, obtaining the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector, includes: S31: Allocation of greedy and random strategies; S32: Cross-task based on task priority; S33: Perform multi-objective Pareto sorting to obtain the optimal solution set.
[0017] According to an exemplary embodiment of the present invention, in step S4, obtaining an executable scheduling scheme by scheduling the scheme based on the optimal solution set and the weight vector includes: S41: Selecting a scheduling scheme based on the optimal solution set and weight vector; S42: Convert the scheduling scheme into scheduling instructions to obtain an executable scheduling scheme.
[0018] According to a second aspect of the present invention, the present invention provides a scheduling system for satellite telemetry, tracking and command missions, comprising a multi-objective optimization model generation module, a weight vector calculation module, an optimal solution set generation module, and a scheduling scheme generation module; The multi-objective optimization model generation module is used to establish a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks. The weight vector calculation module is used to calculate the weight vector based on the current scheduling environment parameters; The optimal solution set generation module is used to obtain the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector; The scheduling scheme generation module is used to generate an executable scheduling scheme based on the optimal solution set and weight vector.
[0019] As a third aspect of the present invention, the present invention provides an electronic device comprising: One or more processors; Storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the satellite telemetry and control task scheduling method.
[0020] As a fourth aspect of the present invention, the present invention provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the scheduling method for the satellite telemetry and control mission.
[0021] The advantages of this invention are: This solution addresses the problems of low scheduling efficiency, low resource utilization, unstable quality, insufficient real-time performance, weak multi-constraint processing capability, and poor scalability of sun-synchronous satellites, achieving rapid and efficient multi-objective collaborative optimization scheduling, as detailed below: (1) Scheduling efficiency is greatly improved: Before the improvement: manual scheduling took 4-8 hours; After improvement: Automatic scheduling takes 15-20 minutes, increasing efficiency by 95%.
[0022] (2) Resource utilization rate has been significantly improved: Before the improvement: the average utilization rate of the telemetry and control stations was 65-70%; After improvement: 85-90%, an increase of 25 percentage points.
[0023] (3) Multi-objective collaborative optimization: Before improvement: Single-objective optimization, neglecting other aspects; Improved: All three objectives are optimized simultaneously, resulting in a 35% improvement in overall performance.
[0024] (4) Enhanced environmental adaptability: Before improvement: Fixed strategy, poor adaptability; Improved version: Adaptive weight adjustment to suit different scheduling scenarios. Attached Figure Description
[0025] The above and other objects, features, and advantages of this application will become more apparent from the detailed description of exemplary embodiments with reference to the accompanying drawings. The drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0026] Figure 1 The diagram illustrates the structure of the scheduling system for satellite telemetry, tracking, and command missions.
[0027] Figure 2 The diagram illustrates the steps of a satellite tracking and control mission scheduling method.
[0028] Figure 3 A schematic diagram of the electronic device is shown.
[0029] Figure 4 A schematic diagram of the structure of a computer medium is shown. Detailed Implementation
[0030] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, they are provided so that this application will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.
[0031] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0032] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0033] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily need to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0034] It should be understood that although the terms first, second, third, etc., may be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one component from another. Therefore, the first component discussed below may be referred to as the second component without departing from the teachings of this application. As used herein, the term "and / or" includes all combinations of any one and more of the associated listed items.
[0035] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of exemplary embodiments, and the modules or processes in the drawings are not necessarily essential for implementing this application, and therefore cannot be used to limit the scope of protection of this application.
[0036] According to a first specific embodiment of the present invention, the present invention provides a scheduling system for satellite telemetry, tracking and command missions, including a multi-objective optimization model generation module, a weight vector calculation module, an optimal solution set generation module, and a scheduling scheme generation module.
[0037] The multi-objective optimization model generation module is used to establish a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks.
[0038] The weight vector calculation module is used to calculate the weight vector based on the current scheduling environment parameters.
[0039] The optimal solution set generation module is used to obtain the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector.
[0040] The scheduling scheme generation module is used to generate an executable scheduling scheme based on the optimal solution set and weight vector.
[0041] According to a second specific embodiment of the present invention, the present invention provides a method for scheduling satellite telemetry and control missions, employing the satellite telemetry and control mission scheduling system of the first specific embodiment, such as... Figure 2 As shown, it includes the following steps: S1: Establish a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks.
[0042] Step S1 addresses the issues of weak multi-constraint handling, low scheduling efficiency, and poor scalability.
[0043] S11: Establish a set of visibility windows based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks.
[0044] The satellite is a typical near-Earth satellite, preferably a sun-synchronous satellite.
[0045] The orbital parameters of N satellites are {a1, e1, i1, Ω1, ω1, M1(t0)}. a2, e2, i2,Ω2,ω2, M2(t0), ... a n , e n i n ,Ω n ,ω n M n (t0)}.
[0046] Both N and n are natural numbers. i e represents the semi-major axis (km) of the i-th satellite; i Represents the eccentricity (dimensionless, 0 ≤ e < 1); i i Indicates the inclination angle of the track (in degrees or radians); Ω i Right ascension of the ascending node / RAAN (degrees or radians); ω i Indicates the argument of perigee (in degrees or radians); M i(t0) represents the mean anterior angle (in degrees or radians) at the initial time t0.
[0047] M telemetry and control station parameters {Lat1,Lon1,EIRP1,...,Lat m Lon m EIRP m}
[0048] Both M and m are natural numbers. j (Latitude): The geographical latitude of the tracking and control station, ranging from -90° to 90°; Lon j (Longitude): The geographical longitude of the tracking station, ranging from [-180°, 180°] or [0°, 360°]; EIRP j (Equivalent Isotropic Radiated Power): The product of the transmitter power and antenna gain of the telemetry and control station, in dBW, characterizing the communication capability of the telemetry and control station.
[0049] Tracking and control tasks for multiple satellites at the same ground station: K tracking and control tasks {T1, T2, ..., T...} k}
[0050] K and k are both natural numbers, and T represents the time window number of the satellite's visibility from the ground station.
[0051] For satellite i and telemetry station j, calculate the visibility window: Elevation angle calculation: ; Where E_ij(t) represents the elevation angle; r_sat_i(t) is the position vector of satellite i at time t, in km; r_station_j is the position vector of tracking station j, in km; n_j is the normal vector of tracking station j; i represents the satellite number, i = 1, 2, ..., N, where N is the total number of satellites; j represents the tracking station number, j = 1, 2, ..., M, where M is the total number of tracking stations.
[0052] The calculation process for the position vector r_sat_i(t) of satellite i at time t is as follows: First, calculate the anomalous angle E(t) from the mean anomalous angle M(t), M(t) = M(t0) + h×(t - t0), where, The mean angular velocity is given by 'a', which represents the satellite's semi-major axis. This is solved using Kepler's equations: M = Ee × sin(E), where M represents the mean anomaly and E represents the deviated anomaly. Secondly, the true anomaly ν(t) is calculated from the deviated anomaly: tan(ν(t) / 2) = ×tan(E / 2). Third, calculate the position in the orbital plane: r = a(1 - e²) / (1 + e×cos(ν(t))); x_orb = r×cos(ν(t)); y_orb = r×sin(ν(t)), where r represents the instantaneous distance from the satellite to the Earth's center (orbital radius), (x_orb, y_orb) represent the orbital plane coordinates, x_orb represents the projected component of the satellite's position in the perigee direction, and y_orb represents the component of the satellite's position perpendicular to the perigee direction. Fourth, transform to the geocentric inertial coordinate system (ECI) using a rotation matrix: r_ECI = , r_ECI =R3(-Ω)×R1(-i)×R2(-ω)×[x_orb, y_orb, 0] T Where r_ECI represents the position vector in the geocentric inertial coordinate system, R1(-i) represents a rotation of -i angles around the X-axis, where i is the orbital inclination, R2(-ω) represents the applied perigee argument, and R3(-Ω) represents a rotation of -Ω angles around the Z-axis, where Ω is the right ascension of the ascending node. Fifth, if necessary, transform to the geocentric Earth-Fixed Coordinate System (ECEF), r_sat_i(t) = R_ECI_to_ECEF(t)×r_ECI, where R_ECI_to_ECEF(t) represents the rotation matrix from the geocentric inertial coordinate system (ECI) to the geocentric Earth-Fixed Coordinate System (ECEF).
[0053] The calculation process of the position vector r_station_j of the telemetry and control station j is as follows: Given: Lat: latitude (degrees), Lon: longitude (degrees), Alt: altitude (meters or km), R_e: Earth's radius (≈6371 km). In the geocentric-fixed coordinate system (ECEF): x_j = (R_e + Alt_j) · cos(Lat_j) ×cos(Lon_j); y_j = (R_e + Alt_j)×cos(Lat_j)×sin(Lon_j); z_j = (R_e + Alt_j) ×sin(Lat_j). r_station_j = [x_j, y_j, z_j]ᵀ.
[0054] The calculation process for the tracking and control station normal vector n_j is as follows: n_j = [cos(Lat_j) × cos(Lon_j), cos(Lat_j) × sin(Lon_j), sin(Lat_j)] T Alternatively: n_j = r_station_j / ||r_station_j||.
[0055] Visibility judgment condition: E_ij(t)≥ 5° (minimum elevation angle constraint), that is, when E_ij(t)≥ 5°, it means that the telemetry and control station j can see satellite i, and the interval in which it is located represents the visibility window.
[0056] Visibility window set V = {[t_start_ijk, t_end_ijk, E_max_ijk] | Satellite i is visible to telemetry station j in time window k}; Where k represents the time window number, k = 1, 2, ..., W, and W is the total number of visibility windows of the satellite to the tracking and control station; t_start_ijk is a time parameter, representing the start time of the visibility window, that is, the start time of the k-th visibility window of satellite i relative to telemetry station j. The unit is usually expressed in UTC time, such as "2025-09-15 08:30:00". The determination condition is the moment when the satellite elevation angle E just reaches the minimum elevation angle threshold (usually 5°). t_end_ijk is a time parameter, representing the end time of the visibility window, that is, the end time of the k-th visibility window of satellite i relative to telemetry and control station j. The unit is usually expressed in UTC time. The determination condition is the moment when the satellite elevation angle E drops below the minimum elevation angle threshold. E_max_ijk is an angle parameter representing the maximum elevation angle within the window, specifically the maximum elevation angle that satellite i can achieve relative to telemetry station j within the time window [t_start_ijk, t_end_ijk]. The unit is degrees (°), and its range is 5° ≤ E_max_ijk ≤ 90°. A larger elevation angle results in better communication quality and less signal attenuation.
[0057] For example, suppose we have the following visibility window: .
[0058] S12: Define binary decision variables based on the set of visibility windows, and generate a decision variable matrix based on the binary decision variables.
[0059] Based on the visibility window data V, define binary decision variables: ; Where x_ijk represents a binary decision variable, taking the value 0 or 1; i represents a satellite index, i∈{1, 2, ...,N}, where N is the total number of satellites in the system; j represents a tracking and control station index, j∈{1, 2, ..., M}, where M is the total number of available tracking and control stations; k represents a time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j.
[0060] The physical meaning of decision variables: x_ijk = 1: This means that within the k-th window [t_start_ijk, t_end_ijk] in the visibility window set V, satellite i is selected to use telemetry and control station j to perform telemetry and control tasks (such as telemetry data reception, remote control command transmission, etc.). x_ijk = 0: This means that satellite i will not be scheduled to use telemetry and control station j within this time window, and the window is either idle or allocated to other satellites.
[0061] Constraints: The decision variable x_ijk is only meaningful if the corresponding visibility window exists, that is: ; Decision space size: The total number of decision variables is: ∑i∑j W_ij, where W_ij is the total number of visibility windows of satellite i to telemetry station j, which can typically reach thousands of variables in large-scale scheduling problems.
[0062] For example: Suppose satellite 1 has 3 visibility windows for tracking and control station 2, then x_123=1 indicates that satellite 1 will be used by telemetry and control station 2 in the third window; x_121=0 means the first window is not used; x_122=0 means that the second window is not used.
[0063] Multiple sets of binary decision variables are used to generate a decision variable matrix X={x_ijk}, which is then used as the solution object for the optimization algorithm.
[0064] S13: Based on the decision variable matrix, establish three conflicting optimization objectives, and combine the three conflicting optimization objectives to form a multi-objective optimization model.
[0065] Step S13 solves the problem of low resource utilization.
[0066] The three conflicting optimization objectives include maximizing task completion rate, maximizing resource utilization, and maximizing load balancing index.
[0067] These three optimization objectives are mutually conflicting; choosing one objective means failing to achieve the other two. The conflict manifests itself in the following ways: Objective 1 (task completion rate) vs. Objective 3 (load balancing): To maximize task completion, a few high-quality telemetry and control stations (such as stations with high elevation angles and good signals) may be concentrated, causing these stations to be overloaded while other stations are idle, resulting in an unbalanced load.
[0068] Objective 2 (resource utilization) vs Objective 3 (load balancing): To maximize resource utilization, some monitoring and control stations may be operated at full capacity (100% utilization), while other stations have low utilization, which also disrupts load balancing.
[0069] Objective 1 (task completion rate) vs. Objective 2 (resource utilization): Completing all tasks may require extending the duration of individual tasks (to ensure quality), but this will reduce the overall resource utilization (fewer tasks will be completed in the same amount of time).
[0070] Assume there are 3 telemetry and control stations A, B, and C: Option 1: If station A has 100% resource utilization, station B has 80% resource utilization, and station C has 40% resource utilization, then the resource utilization will be high, but the load will be uneven.
[0071] Option 2: If A, B, and C all have a resource utilization rate of 70%, then the load is balanced, but the resource utilization rate is reduced.
[0072] Option 3: Only use Station A to complete high-priority tasks, which will result in a high task completion rate, but poor completion rates for other objectives.
[0073] The formula for maximizing task completion rate is as follows: ; Where f1(X) represents maximizing the task completion rate, and X represents the decision variable matrix; Duration_ijk represents the task execution time of satellite i using telemetry station j within time window k, in minutes; i represents the satellite index, i∈{1, 2, ...,N}, where N is the total number of satellites in the system; j represents the telemetry station index, j∈{1, 2, ..., M}, where M is the total number of available telemetry stations; k represents the time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to telemetry station j; Total_Task_Duration represents the total duration requirement of all tasks to be scheduled; if there are K tasks, and each task requires Duration_task_k minutes, then: Total_Task_Duration = Σ k Duration_task_k, for example: if there are 120 tasks, each taking an average of 10 minutes, then Total_Task_Duration = 1200 minutes.
[0074] The formula for maximizing resource utilization is as follows: ; Where f2(X) represents maximizing resource utilization, and X represents the decision variable matrix; Actual_Usage_j = Σ i Σk x_ijk×Duration_ijk represents the actual usage time of tracking and control station j; Duration_ijk represents the task execution time of satellite i using tracking and control station j within time window k, in minutes; i represents the satellite index, i∈{1, 2, ..., N}, where N is the total number of satellites in the system; j represents the tracking and control station index, j∈{1, 2, ..., M}, where M is the total number of available tracking and control stations; k represents the time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j; Available_Time_j represents the total available time of tracking and control station j within the scheduling period; the total available time of tracking and control station j within the scheduling period = scheduling period length - maintenance time - unavailable time; Example: 24-hour scheduling period = 1440 minutes, if tracking and control station j needs to be maintained for 2 hours, then Available_Time_j = 1440 - 120 = 1320 minutes.
[0075] The load balancing index is maximized using the following formula: .
[0076] Where f3(X) represents the maximization of the load balancing exponent, and X represents the decision variable matrix; Load j =Σ i Σ k x_ijk represents the number of task loads for telemetry and control station j. Load avg The average load is represented by: i represents the satellite index, i∈{1, 2, ..., N}, where N is the total number of satellites in the system; j represents the tracking and control station index, j∈{1, 2, ..., M}, where M is the total number of available tracking and control stations; k represents the time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j.
[0077] The multi-objective optimization model MOP = {f1,f2,f3, Constraints}. Constraints represent the constraints, including: visibility constraint: tasks can only be assigned when the satellite is visible to the tracking and control station; resource capacity constraint: the tracking and control station can only serve one satellite at a time; time window constraint: tasks must be completed before the deadline; frequency band constraint: frequency conflicts should be avoided; and priority constraint: high-priority tasks are assigned first.
[0078] S2: Calculate the weight vector based on the current scheduling environment parameters.
[0079] Step S2 addresses the issues of insufficient real-time performance, low scheduling efficiency, and low resource utilization.
[0080] S21: Evaluate the scheduling environment based on the current scheduling environment parameters to obtain the environment factor.
[0081] ; Where Environment_Factor represents the environmental factor; Task_Urgency∈[0,1] represents the task urgency, calculated by exp(-λ(deadline-current_time)), where deadline represents the task's deadline (absolute time), current_time represents the current moment (absolute time), and deadline-current_time represents the remaining available time. exp(-λ(deadline-current_time)) indicates that the less time remaining, the faster the exponential decay and the higher the urgency. When the remaining time approaches 0, exp(...) approaches 0, but... The urgency level is minimized to 1 by 1-exp(...) or other transformations; Resource_Availability ∈ [0,1] represents resource availability, calculated by dividing the current available resources by the total resources; System_Load ∈ [0,1] represents system load, calculated by dividing the current number of tasks by the maximum capacity; α1, α2, and α3 are weighting coefficients used to balance the importance of the three environmental factors. α1 represents the weighting coefficient for task urgency, ranging from 0.4 to 0.5; α2 represents the weighting coefficient for resource availability, ranging from 0.3 to 0.4; and α3 represents the weighting coefficient for system load, ranging from 0.2 to 0.3. Constraint: α1 + α2 + α3 = 1 (normalization). The current scheduling environment parameters include task urgency, resource availability, and system load.
[0082] For example: Emergency dispatch scenario: α1=0.5, α2=0.3, α3=0.2; Normal dispatch scenario: α1=0.33, α2=0.33, α3=0.34.
[0083] S22: Adjust the weights according to the environmental factors to obtain the weight vector.
[0084] Traditional methods typically use fixed weights w=[0.33, 0.33, 0.34], which cannot adapt to changes in the environment.
[0085] Therefore, this scheme dynamically adjusts the weights based on environmental factors: ; Among them, w1 0 This represents the base weight of the task completion rate, ranging from 0.30 to 0.35; w2 0 This represents the basic weight of resource utilization, ranging from 0.30 to 0.35; it also implicitly includes w3.0 :1 - w1 0 - w2 0 ≈0.30-0.35; β1 represents the adjustment coefficient of the influence intensity of Environment_Factor, ranging from 0.10 to 0.20; β2 represents the adjustment coefficient of the influence intensity of Resource_Availability, ranging from 0.10 to 0.20; Environment_Factor represents environmental factors, Resource_Availability represents resource availability, representing the proportion of currently available telemetry and control station resources to total resources; t represents the current time or a point in time within the scheduling cycle, w1(t) represents the dynamic weight of the task completion rate target at time t, w2(t) represents the dynamic weight of the resource utilization rate target at time t, and w3(t) represents the dynamic weight of the load balancing target at time t.
[0086] As a preferred implementation, the value used in this scheme is: Basic weight: w1 0 =0.33, w2 0 =0.33; Adjustment coefficients: β1=0.15, β2=0.12; Calculation results: w1(t)=0.45, w2(t)=0.30, w3(t)=0.25.
[0087] In this scheme, the weights can be dynamically adjusted according to the actual scheduling environment, with more emphasis on completion rate when tasks are urgent and more emphasis on utilization rate when resources are scarce.
[0088] The adaptive weight vector W(t) = [w1(t), w2(t), w3(t)].
[0089] S3: Obtain the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector.
[0090] Step S3 addresses the issues of low scheduling efficiency, insufficient real-time performance, and weak handling of multiple constraints.
[0091] S31: Assign greedy and random strategies.
[0092] Step S31 solves the problems of unstable scheduling quality and poor scalability.
[0093] Traditional schemes typically use completely random initialization, resulting in slow convergence. This scheme combines a greedy strategy and a random strategy for efficient allocation: ; Here, Individual represents a complete scheduling scheme, which is a candidate solution to the problem; Greedy_Part represents the portion of the individual generated using a greedy strategy, i.e., the first 30% of high-priority tasks are allocated by selecting the optimal time window; Random_Part represents the portion of the individual generated using a random strategy, i.e., the remaining 70% of medium and low-priority tasks are randomly allocated to the available time window.
[0094] The reason for choosing a 30%:70% ratio is an empirical balance: too much greed (e.g., 80%): the population becomes too similar, lacks diversity, and is prone to getting trapped in local optima; too little greed (e.g., 10%): the initial quality improvement is not significant, and the advantage is insufficient; 30% is the experimental optimal value: it ensures both quality and maintains diversity.
[0095] Traditional methods typically initialize completely randomly, resulting in slow convergence. In contrast, this method guarantees the basic quality of the initial solution: critical tasks are prioritized to obtain the best resources during initialization. At the same time, it accelerates algorithm convergence. Without a greedy algorithm, poor starting quality leads to a large number of evolutionary generations, resulting in slow convergence. It balances exploration and utilization, as explained in the Individual section above.
[0096] If a traditional randomization method is used, assuming there are 100 tasks, the windows are divided into three categories based on quality: High-quality windows (elevation angle > 60°): 20%, score 0.9; Medium-quality windows (elevation angle 40-60°): 50%, score 0.6; Low-quality windows (elevation angle < 40°): 30%, score 0.3. Under the traditional randomization method, the expected quality of high-priority tasks (30 tasks) is: E[quality_random] = 0.20 × 0.9 + 0.50 × 0.6 + 0.30 × 0.3 = 0.18 + 0.30 + 0.09 = 0.57. The overall solution quality (assuming task weights: high priority 60%, others 40%) is: Total quality_random = 0.60 × 0.57 + 0.40 × 0.57 (all tasks are randomly assigned) = 0.57.
[0097] If a hybrid greedy and random algorithm is used in this scheme, the expected quality of high-priority tasks (30 tasks) is: E[quality_greedy] = 1.0 × 0.9 (the greedy algorithm guarantees the selection of the optimal window) = 0.9. The expected quality of medium- and low-priority tasks (70 tasks) is: E[quality_random] = 0.57 (same as the traditional method, but the prime window has been occupied by high-priority tasks). In reality, it will be slightly lower, assumed to be 0.55 (because the prime window is occupied). The overall scheme quality is: total quality_hybrid = 0.60 × 0.9 + 0.40 × 0.55 = 0.54 + 0.22 = 0.76. The quality improvement is calculated as: quality improvement = (0.76 - 0.57) / 0.57 × 100% = 0.19 / 0.57 × 100% = 33.3%. Considering the complex constraints of the actual system (resource conflicts, overlapping time windows, etc.), the improvement reaches approximately 40%.
[0098] As can be seen, this step can achieve the following: a 40% improvement in the quality of the initial population and a 2x increase in the algorithm's convergence speed.
[0099] This scheme achieves a significant leap in initial population quality for two main reasons: Reason 1: Improved quality of critical tasks: Traditional method: High-priority task quality = 0.57 (mixed with ordinary tasks); Greedy method: High-priority task quality = 0.90 (precisely matching optimal resources); Improvement: (0.90-0.57) / 0.57 = 58%, achieving a critical improvement. Reason 2: Improved resource utilization efficiency: Resource waste in traditional random methods: Example scenario: A high-quality window (70° elevation angle) is assigned to a low-priority task (priority 2), resulting in serious waste; a low-quality window (35° elevation angle) is assigned to a high-priority task (priority 10), which is unreasonable; Result: The resource mismatch rate of the random method is as high as 40%.
[0100] When generating an Individual instance, it is necessary to check the Constraints in the MOP. This check is performed through visibility constraints, resource capacity constraints (this constraint is the most important), time window constraints, frequency band constraints, and priority constraints.
[0101] For visibility constraints, the inspection can only be assigned when the satellite is visible to the telemetry and control station, and is achieved by checking whether the window exists in the set of visibility windows.
[0102] To address resource capacity constraints, the system checks that a tracking and control station can only serve one satellite at a time, which is achieved by checking whether the tracking and control station is idle (without time conflicts).
[0103] With time window constraints, the inspection task must be completed before the deadline.
[0104] For frequency band constraints, check to avoid frequency band conflicts. Determine whether the frequency band meets the availability constraints by checking whether the telemetry and control station supports the frequency band and whether there are time conflicts in the frequency band.
[0105] For priority constraints, high-priority tasks are prioritized for allocation. They are sorted before processing, and the greedy part automatically satisfies high-priority tasks. High-priority tasks are protected during the cross operation in step S32.
[0106] If the MOP check fails, the following layered modification strategy will be adopted: For constraints that must be met (visibility, resource capacity, time window, frequency band), a repair operation is performed: (1) Visibility constraint violation: Problem: The allocated time window is not within the satellite-tracking station visibility window; Repair method: The nearest valid window is reselected from the set of visibility windows for the satellite-tracking station pair; If no window is visible, change the telemetry and control station or delete the task assignment.
[0107] (2) Resource capacity constraint violation: Problem: The tracking and control station is assigned to multiple satellites at the same time (time conflict); Repair method: Time shift: The conflicting task is postponed to an idle period at the telemetry and control station; Tracking and Control Station Replacement: Reassign other visible tracking and control stations for conflicting missions; Priority decision: Keep high-priority tasks and delete or reschedule low-priority tasks.
[0108] (3) Time window constraint violation: Problem: The task completion time exceeded the deadline; Repair method: Early scheduling: Execute in an earlier visible window; Compress task duration (if allowed); Delete the task and record it as unscheduled (weight penalty).
[0109] (4) Frequency band constraint violation: Problem: The telemetry and control station does not support this frequency band, or there is a time conflict. Repair method: Replace the telemetry and control station: Select a telemetry and control station that supports this frequency band; Frequency band switching: If the task allows multiple frequency bands, switch to the available frequency band; Time adjustment: Avoid times when there is frequency conflict.
[0110] S32: Cross-task based on task priority.
[0111] Step S32 resolved the problem of unstable scheduling quality.
[0112] Preparation and pre-inspection are required before crossover: First, verify the validity of the parent individuals. The checks include: 1. Feasibility check: Confirm that both Parent1 and Parent2 (the two parents) are feasible solutions that pass the constraint checks; 2. Completeness check: Confirm that both parents contain valid task allocation information; 3. Data consistency: Verify that key fields such as task ID, satellite ID, and tracking station ID are not missing; 4. Priority information completeness: Confirm that all tasks have clear priority values. Handling of failures: 1. If the parent is not feasible, select other individuals from the population; 2. If data is missing, skip the crossover operation.
[0113] Secondly, task set merging and priority sorting. Operation flow: 1. Merge tasks: Merge all tasks in Parent1 and Parent2 into one set; 2. Deduplication: For the same task existing in both parent sets, retain two copies (for later selection of inheritance); 3. Priority sorting: Sort all tasks according to their priority weight value from high to low; 4. Hierarchical partitioning: The first 30% of tasks are divided into a high-priority task set (high_priority_task); the next 70% of tasks are divided into a low-priority task set (low_priority_task). Verification points: 1. Confirm that the total number of tasks = number of tasks in Parent1 + number of tasks in Parent2 (before deduplication); 2. Confirm that the number of high-priority tasks ≈ total number of tasks × 30%; 3. Confirm that all tasks are correctly classified into the two subsets.
[0114] Then, the probability distribution of the intersection point is calculated. The calculation process is as follows: 1. Calculate the total priority: ΣTask_Priority = the sum of the priority values of all tasks; 2. Calculate the probability of each task being an intersection point: For the i-th task: P(point_i) = Task_Priority_i / ΣTask_Priority; 3. Probability normalization verification: Confirm that the sum of all probabilities equals 1. Verification points: ΣTask_Priority > 0 (to avoid division by zero error); all P(point_i) values are within the range of [0, 1]; ΣP(point_i) = 1.0 (normalization verification); the P value of high-priority tasks should be significantly higher than that of low-priority tasks.
[0115] Traditional methods for cross-referencing Individuals typically involve randomly selecting cross-points, which can disrupt the allocation of high-priority tasks. This solution employs intelligent cross-referencing based on task priority, implemented as follows: Intersection selection: ; Crossover process: ; Where P(point) represents the probability value of candidate crossover point point_i being selected as the actual crossover point, with a value range of [0,1]; Task_Priority_i represents the priority weight value of the i-th task, reflecting the importance of the task; ΣTask_Priority represents the sum of the priority values of all tasks to be scheduled, used as the normalization denominator; Offspring1 represents the first offspring scheduling scheme individual generated through the crossover operation; high_priority_task represents the high-priority task subset in the top 30% after priority sorting; low_priority_task represents the low-to-medium priority task subset in the bottom 70% after priority sorting; Parent1 represents the first parent scheduling scheme individual selected from the current population; and Parent2 represents the second parent scheduling scheme individual selected from the current population.
[0116] When intelligent cross-operation is executed: First, crossover points are selected based on probability. The selection mechanism is as follows: 1. Weighted random sampling is used to select crossover points according to a probability distribution; 2. Higher-priority tasks have a higher probability of being selected as crossover points due to their larger weights; 3. The selected crossover point positions (corresponding task indices) are recorded. Verification points: The selected crossover point indices are within a valid range (0 ≤ index < total number of tasks); in multiple crossover operations, the frequency of higher-priority tasks being selected as crossover points should be significantly higher than that of lower-priority tasks.
[0117] Next, generate the child generation Offspring1. Inheritance rules: 1. High-priority tasks (top 30%): Inherit complete allocation information from Parent1, including: allocated monitoring station, time window, frequency band, task duration, etc. If a high-priority task is not scheduled in Parent1, it is inherited from Parent2. 2. Medium- and low-priority tasks (bottom 70%): Inherit allocation information from Parent2. If a task is not scheduled in Parent2, it is inherited from Parent1. Key checks: 1. Confirm that all high-priority tasks are inherited (no omissions); 2. Confirm that the inherited allocation information is complete (site, time, frequency band, etc.); 3. Record tasks that fail to inherit from any parent (requiring subsequent reallocation). Next, a child instance, Offspring2, is generated (optional). Inheritance rules (opposite to Offspring1): 1. High-priority tasks inherit from Parent2; 2. Medium- and low-priority tasks inherit from Parent1. Purpose: To increase population diversity and provide different priority combination schemes.
[0118] After generating offspring, perform constraint integrity checks on the offspring: First, visibility constraint check. Check logic: 1. Traverse each task assignment in the child generation; 2. Obtain the satellite ID and assigned tracking station ID for the task; 3. Query the visibility window set for the satellite-tracking station pair; 4. Determine if the assigned time window is within the visibility window set. Violation judgment: 1. If the start or end time of the time window is not within any visibility window, the constraint is violated; 2. Record the violating task ID, satellite ID, tracking station ID, assigned window, and valid visibility window. Statistical indicators: 1. Number of visibility violation tasks; 2. Visibility violation rate = Number of violating tasks / Total number of tasks.
[0119] After crossover to generate offspring, it is necessary to check and evaluate the constraints, f1, f2, and f3 of the MOP.
[0120] Resource capacity constraint check (most critical). Check process: 1. Grouping by tracking and control station: Group all tasks according to the assigned tracking and control station; 2. Time sorting: Sort the tasks of each tracking and control station in ascending order of start time; 3. Time conflict detection: For two consecutive tasks i and i+1, if the end time of task i > the start time of task i+1, there is a time overlap. Record the two conflicting tasks and their overlap duration. Detailed records: 1. ID of the conflicting tracking and control station; 2. Conflicting task pair (task ID, satellite ID, time window); 3. Overlap duration = end time of task i - start time of task i+1; 4. Priority of the conflicting tasks (used for subsequent repair decisions). Statistical indicators: 1. Total number of resource conflicts; 2. Resource conflict rate (goal of this scheme: reduce 40% to near 0); 3. Number of tracking and control stations involved in the conflict; 4. Average overlap duration.
[0121] Time window constraint check. Check logic: 1. Iterate through each task; 2. Compare the task's end time with the deadline; 3. If the end time > the deadline, the constraint is violated; Record information: 1. Violating task ID; 2. Actual end time; 3. Required deadline; 4. Delay duration = End time - Deadline. Statistical indicators: 1. Number of overdue tasks; 2. Average delay duration; 3. Maximum delay duration.
[0122] Frequency band constraint check. The check consists of two steps: Step 1, frequency band support check: 1. For each task, obtain its required frequency band; 2. Query whether the assigned telemetry and control station supports the frequency band; 3. If not, record it as a frequency band support violation. Step 2, frequency band time conflict check: 1. Perform two-dimensional grouping by telemetry and control station and frequency band; 2. For the same frequency band of the same telemetry and control station, check whether there is time overlap between tasks; 3. Similar to resource capacity check, determine whether there are situations where the same frequency band is used simultaneously. Recorded information: 1. Frequency band support violation: Task ID, required frequency band, list of frequency bands supported by the telemetry and control station; 2. Frequency band conflict violation: Telemetry and control station ID, frequency band type, conflicting task pair, overlap duration. Statistical indicators: 1. Number of frequency band support violations; 2. Number of frequency band time conflicts; 3. Total frequency band violation rate.
[0123] Priority constraint checks. Check dimensions: Dimension 1: High-priority task scheduling integrity; 1. Identify all high-priority tasks (priority ≥ threshold); 2. Check if these tasks have been successfully scheduled; 3. Count the number of unscheduled high-priority tasks. Dimension 2: Priority protection in resource conflicts: 1. Combine with the resource capacity violation results from step 8; 2. For each conflicting task pair, compare their priorities; 3. If a low-priority task occupies resources while a high-priority task is delayed or not scheduled, then the priority constraint is violated. Dimension 3: Inheritance correctness verification: 1. Verify whether high-priority tasks are completely inherited during the crossover process; 2. Check if any high-priority tasks are incorrectly inherited from a low-quality parent; Statistical indicators: 1. Number of unscheduled high-priority tasks; 2. Number of priority inversion conflicts (low-priority tasks preempting high-priority resources); 3. High-priority task scheduling rate.
[0124] Comprehensive constraint assessment. Summary results: 1. Number of visibility violations; 2. Number of resource capacity violations (key indicator); 3. Number of time window violations; 4. Number of frequency band violations; 5. Number of priority violations. Feasibility determination: 1. If the number of all constraint violations is 0, the sub-solution is feasible; 2. Otherwise, it is infeasible and needs to enter the remediation phase. Violation severity classification: Fatal violations: resource capacity conflicts, visibility violations (physically impossible); Severe violations: time window expired, high-priority tasks not scheduled; General violations: frequency band conflicts (may be resolved through adjustment).
[0125] Offspring repair strategy during the repair phase: Graded repair process: Repair priority (from high to low): First, visibility violation repair. Method 1: Reselect the nearest valid window within the visibility window of the satellite-tracking station pair; Method 2: If there is no visible window, change to another visible tracking station; Method 3: If there are no visible tracking stations, mark the task as unschedulable.
[0126] Second, resource capacity violation repair (core). For each conflicting task pair: Strategy A: Priority adjudication - retain the high-priority task and adjust the low-priority task; Strategy B: Time shift - postpone the conflicting task to the next idle time period of the telemetry and control station; Strategy C: Telemetry and control station replacement - reallocate other visible telemetry and control stations for the low-priority task; Strategy D: Delete task - if adjustment is not possible, delete the low-priority task.
[0127] Third, time window violation repair. Method 1: Try rescheduling in an earlier visible window; Method 2: If allowed, compress the task duration; Method 3: If not feasible, delete the task and impose a penalty on fitness.
[0128] Fourth, frequency band violation repair. Frequency band support violation: Replace with a telemetry and control station that supports the frequency band; Frequency band conflict: Adjust mission time or change the frequency band (if the mission supports multiple frequency bands).
[0129] Fifth, priority violation repair. Ensure that high-priority tasks receive resource allocation first; reorder and adjust the allocation of conflicting tasks.
[0130] Iterative Repair and Termination Conditions: Iterative Process: 1. Perform one round of hierarchical repair operations; 2. Re-execute constraint checks; 3. If violations still exist, continue to the next round of repair; 4. Maximum number of iterations: N (e.g., N=5). Termination Conditions: Condition 1: All constraint violations are 0 (repair successful); and / or Condition 2: Maximum number of iterations is reached (repair failed); and / or Condition 3: No change in the number of violations in two consecutive iterations (trapped in a local loop). Handling Repair Failures: Mark the child generation as infeasible; apply a maximum penalty value to the fitness function (e.g., fitness=+∞); likely eliminate the child generation during the selection phase.
[0131] Evaluation of objective functions f1, f2, and f3: Calculate f1 (number of tasks completed). Calculation logic: 1. Count the total number of successfully scheduled tasks in the child generation; 2. Priority-weighted: f1 = Σ(w_i × whether it is completed_i); where w_i is the priority weight of task i; 3. Higher priority tasks contribute more to the f1 value upon completion. Verification points: 1. Confirm that all successfully scheduled tasks are included; 2. Confirm that the weight calculation is correct; 3. Compare with the parent's f1 value to evaluate whether cross-referencing improves the process.
[0132] Calculate f2 (resource utilization rate). Calculation logic: 1. Calculate the total available time of all tracking and control stations; 2. Calculate the actual usage time of all tracking and control stations; 3. f2 = actual usage time / total available time. Detailed indicators: 1. Distribution of utilization rates for each tracking and control station; 2. Identify stations with excessively low utilization rates (resource waste); 3. Identify stations with excessively high utilization rates (potential conflicts may exist). Verification point: The value of f2 should be between [0, 1]. If resource conflicts have been resolved, there should be no stations with a utilization rate > 1.
[0133] Calculate f3 (task delay penalty). Calculation logic: 1. For each overdue task: Delay penalty_i = Delay duration_i × Priority weight_i; 2. f3 = Σ Delay penalty_i. Detailed considerations: 1. Higher priority tasks should incur larger penalties for delays; 2. If a task is completely unscheduled, apply a fixed, large penalty value. Verification points: 1. Confirm that the delay duration is calculated correctly (end time - deadline time); 2. Confirm that tasks that have not exceeded the deadline are not included in f3; 3. The f3 value should be a non-negative number.
[0134] Multi-objective comprehensive evaluation: Pareto dominance determination: 1. Compare the offspring's (f1, f2, f3) with other individuals in the population; 2. Determine if the offspring is dominated or dominates other individuals; 3. Calculate the Pareto rank. Fitness assignment: 1. According to the rules of multi-objective optimization algorithms (such as NSGA-II); 2. Combine Pareto rank and crowding distance; 3. Consider constraint violation penalties.
[0135] Final decision: If the offspring is a feasible solution and better than the parent, it is retained for the next generation; if the offspring is infeasible but the violation is minor, it may be temporarily retained (to guide the search); if the offspring seriously violates the constraints, it is directly eliminated.
[0136] S33: Perform multi-objective Pareto sorting to obtain the optimal solution set.
[0137] Step S33 solves the problems of low resource utilization, poor scalability, and unstable scheduling quality.
[0138] NSGA-II is one of the most popular multi-objective genetic algorithms. It reduces the complexity of non-dominated sorting genetic algorithms and has the advantages of fast running speed and good convergence of solution sets, making it a benchmark for the performance of other multi-objective optimization algorithms.
[0139] Based on the three objective functions f1, f2, and f3 of the MOP, the NSGA-II algorithm is used to perform a non-dominated ranking of all Individuals: For solutions A and B, for any two individuals in the current population: ; Both A and B are Individuals, i.e., complete scheduling schemes. A dominating B means A is better than B, A is not worse than B in all objectives, and is strictly better than B in at least one objective; denotes equivalence, which is a necessary and sufficient condition; i denotes for all objectives i, i=1,2,3 (three objective functions); f_i(A) denotes the value of solution A on objective i (the i-th objective function of A); f_i(A)≤f_i(B) denotes A is not worse than B on objective I, since this is a maximization problem where a larger value is better, A≥B means A is better; ∧ denotes logical AND, which must be satisfied simultaneously; j denotes that there exists a certain objective j, j∈{1,2,3}; f_j(A) <f_j(B) denotes A is strictly better than B on objective j.
[0140] Crowding distance calculation: ; where Crowding_Distance(i) denotes the crowding distance, i denotes the index of the current individual, which is the i-th individual within the same Pareto front; m denotes the objective function index; f_m(i) denotes the value of individual i on objective m; denotes the maximum value of all individuals on this front for objective m; the minimum value of all individuals on this front for objective m.
[0141] Finally, the Pareto optimal solution set Pareto_Set={Solution1, Solution2, ...,Solution p}. Pareto_Set denotes the Pareto optimal solution set, which is a plurality of non-dominated optimal scheduling schemes; Solution i denotes the i-th Pareto optimal solution, which is a complete scheduling scheme, and P denotes the number of Pareto optimal solutions.
[0142] S4: Performing scheme scheduling based on the optimal solution set and the weight vector to obtain an executable scheduling scheme.
[0143] Step S4 solves the problem of low resource utilization.
[0144] S41: Selecting a scheduling scheme based on the optimal solution set and the weight vector.
[0145] Step S41 solves the problem of insufficient real-time performance.
[0146] Traditional methods, which use fixed-weighted summation to select the optimal solution, cannot adapt to changes. Therefore, this scheme uses dynamic selection based on the weight vector to adapt to these changes. ; Where Score(Solution_i) represents the overall score of the i-th solution (scheduling scheme); the weight vector W(t) = [w1(t), w2(t), w3(t)]; the multi-objective optimization model MOP = {f1, f2, f3, Constraints}; Best_Solution represents the best solution selected from the Pareto optimal solution set, which is an Individual containing the values of all decision variables; argmax represents the argument of the maximum value of the objective function. Best_Solution = argmax(Score(Solution_i)) means: find the Solution_i that maximizes Score(Solution_i).
[0147] After the improvement, this step can select the most suitable solution based on the current scheduling environment, improving adaptability by 60%.
[0148] S42: Convert the scheduling scheme into scheduling instructions to obtain an executable scheduling scheme.
[0149] Convert the optimal solution into specific scheduling instructions: Loop variable: x_ijk; For each loop variable, there is an optimal solution selected from the Pareto optimal solution set, where i is the satellite index, j is the telemetry and control station index, and k is the window index.
[0150] Output parameter: Schedule_Command.
[0151] for each x_ijk = 1 in Best_Solution: Schedule_Command = { Satellite: i, # Satellite number Station: j, # Tracking and Control Station Number Start_Time: t_start_ijk, # Task start time End_Time: t_end_ijk, # Task end time Task_Type: task_type # Task type }
[0152] Output an executable scheduling scheme: Schedule_Plan={Command1, Command2, ..., Command} n}. Here, Schedule_Plan represents the complete scheduling plan, which is the geometry of all scheduling instructions; Command n This indicates that the nth scheduling instruction is an instruction that assigns a specific task; n represents the total number of instructions.
[0153] In summary, this scheme solves the problems of low scheduling efficiency, low resource utilization, unstable quality, insufficient real-time performance, weak multi-constraint processing capability, and poor scalability of sun-synchronous satellites, achieving fast and efficient multi-objective collaborative optimization scheduling, as detailed below: (1) Scheduling efficiency is greatly improved: Before the improvement: manual scheduling took 4-8 hours; After improvement: Automatic scheduling takes 15-20 minutes, increasing efficiency by 95%.
[0154] (2) Resource utilization rate has been significantly improved: Before the improvement: the average utilization rate of the telemetry and control stations was 65-70%; After improvement: 85-90%, an increase of 25 percentage points.
[0155] (3) Multi-objective collaborative optimization: Before improvement: Single-objective optimization, neglecting other aspects; Improved: All three objectives are optimized simultaneously, resulting in a 35% improvement in overall performance.
[0156] (4) Enhanced environmental adaptability: Before improvement: Fixed strategy, poor adaptability; Improved version: Adaptive weight adjustment to suit different scheduling scenarios.
[0157] Take the scheduling of eight environmental monitoring satellites as an example.
[0158] System configuration: 8 sun-synchronous satellites, orbital altitude 705km, inclination 98.2°; 5 tracking and control stations: Beijing, Xi'an, Kunming, Kashgar, and Sanya; 24-hour scheduling cycle, including 120 tracking and control tasks.
[0159] Algorithm parameter settings: Population size: 100; Number of generations: 150; Crossover probability: 0.8; Mutation probability: 0.05.
[0160] Steps to implement this plan: Step S1 is executed as follows: By inputting the orbital parameters of 8 satellites and the parameters of 5 telemetry and control stations, 240 visibility windows are calculated; Establish a multi-objective optimization model with 1200 decision variables.
[0161] Step S2 is executed as follows: Current environment assessment: Task_Urgency=0.7, Resource_Availability=0.8, System_Load=0.6; Calculate the adaptive weights: w1=0.45, w2=0.30, w3=0.25 (focusing more on task completion).
[0162] Step S3 is executed: Intelligent initialization generates 100 high-quality individuals; after 150 generations of evolution, 15 Pareto optimal solutions are obtained.
[0163] Step S4 is executed: The optimal solution is selected based on the current weight vector; an execution plan containing 96 scheduling instructions is generated.
[0164] Execution result: Task completion rate: 94.2% (85.6% by manual scheduling); Resource utilization rate: 88.7% (67.3% manual scheduling); Load balancing index: 0.89 (0.65 for manual scheduling); Dispatch time: 18 minutes (6 hours for manual dispatch).
[0165] Results analysis: The three objectives (maximizing task completion rate, maximizing resource utilization, and load balancing index) achieved a good balance under dynamic weight adjustment, which verifies the effectiveness of the method of this invention.
[0166] According to a third specific embodiment of the present invention, the present invention provides an electronic device, such as... Figure 3 As shown, Figure 3 This is a block diagram illustrating an electronic device according to an exemplary embodiment.
[0167] The following reference Figure 3 To describe an electronic device 300 according to this embodiment of the present application. Figure 3 The electronic device 300 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0168] like Figure 3 As shown, the electronic device 300 is presented in the form of a general-purpose computing device. The components of the electronic device 300 may include, but are not limited to: at least one processing unit 310, at least one storage unit 420, a bus 330 connecting different system components (including storage unit 320 and processing unit 310), a display unit 440, etc.
[0169] The storage unit stores program code that can be executed by the processing unit 310, causing the processing unit 310 to perform the steps described in this specification according to various exemplary embodiments of this application. For example, the processing unit 310 can perform the steps shown in the second specific embodiment.
[0170] The storage unit 320 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 3201 and / or a cache storage unit 3202, and may further include a read-only memory unit (ROM) 3203.
[0171] The storage unit 320 may also include a program / utility 3204 having a set (at least one) program module 3205, such program module 3205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0172] Bus 330 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0173] Electronic device 300 can also communicate with one or more external devices 300' (e.g., keyboard, pointing device, Bluetooth device, etc.), enabling users to communicate with devices that interact with electronic device 300, and / or any device (e.g., router, modem, etc.) that allows electronic device 300 to communicate with one or more other computing devices. This communication can be performed via input / output (I / O) interface 350. Furthermore, electronic device 300 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 360. Network adapter 360 can communicate with other modules of electronic device 300 via bus 330. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 300, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0174] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware.
[0175] Therefore, according to a fourth specific embodiment of the present invention, the present invention provides a computer-readable medium. For example... Figure 4 As shown, the technical solution according to the embodiments of the present invention can be embodied in the form of a software product. The software product can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, mobile hard drive, etc.) or on a network, and includes several instructions to cause a computing device (such as a personal computer, server, or network device, etc.) to execute the above-described method according to the embodiments of the present invention.
[0176] The software product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0177] The computer-readable storage medium may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0178] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0179] The aforementioned computer-readable medium carries one or more programs, which, when executed by a device, cause the computer-readable medium to perform the functions of the second specific embodiment.
[0180] Those skilled in the art will understand that the above modules can be distributed in the device as described in the embodiments, or they can be modified accordingly and placed in one or more devices that are unique to this embodiment. The modules in the above embodiments can be combined into one module, or they can be further divided into multiple sub-modules.
[0181] Through the description of the above embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions of the embodiments of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, portable hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of the present invention.
[0182] Exemplary embodiments of the present invention have been specifically shown and described above. It should be understood that the present invention is not limited to the detailed structures, arrangements, or implementations described herein; rather, the present invention is intended to cover various modifications and equivalent arrangements contained within the spirit and scope of the appended claims.
Claims
1. A method for scheduling satellite telemetry, tracking, and command (TT&C) missions, characterized in that, Includes the following steps: S1: Establish a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks; S2: Calculate the weight vector based on the current scheduling environment parameters; S3: Obtain the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector; S4: Based on the optimal solution set and weight vector, an executable scheduling scheme is obtained by scheduling the scheme.
2. The scheduling method for satellite telemetry, tracking, and command missions according to claim 1, characterized in that, In step S1, the satellite is a sun-synchronous satellite.
3. The scheduling method for satellite telemetry, tracking, and command missions according to claim 1, characterized in that, In step S1, establishing a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks includes: S11: Establish a set of visibility windows based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks; S12: Define binary decision variables based on the set of visibility windows, and generate a decision variable matrix based on the binary decision variables; S13: Based on the decision variable matrix, establish three conflicting optimization objectives, and combine the three conflicting optimization objectives to form a multi-objective optimization model.
4. The scheduling method for satellite telemetry, tracking, and command missions according to claim 3, characterized in that, In step S13, the three conflicting optimization objectives include maximizing task completion rate, maximizing resource utilization, and maximizing load balancing index. The formula for maximizing task completion rate is as follows: ; Where f1(X) represents maximizing the task completion rate, and X represents the decision variable matrix; Duration_ijk represents the task execution time of satellite i using telemetry and tracking station j within time window k, in minutes; i: satellite index, i∈{1, 2, ..., N}, where N is the total number of satellites in the system; j: telemetry and tracking station index, j∈{1, 2, ..., M}, where M is the total number of available telemetry and tracking stations; k: time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to telemetry and tracking station j; Total_Task_Duration represents the total duration requirement of all tasks to be scheduled. The formula for maximizing resource utilization is as follows: ; Where f2(X) represents maximizing resource utilization, and X represents the decision variable matrix; Actual_Usage_j = Σ i Σ k x_ijk×Duration_ijk represents the actual usage time of tracking and control station j; Duration_ijk represents the task execution time of satellite i using tracking and control station j within time window k, in minutes; i: satellite index, i∈{1, 2, ..., N}, where N is the total number of satellites in the system; j: tracking and control station index, j∈{1, 2, ..., M}, where M is the total number of available tracking and control stations; k: time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j; Available_Time_j represents the total available time of tracking and control station j within the scheduling period; The load balancing index is maximized using the following formula: ; Where f3(X) represents the maximization of the load balancing exponent, and X represents the decision variable matrix; Load j =Σ i Σ k x_ijk represents the number of task loads for telemetry and control station j. Load avg denoted as average load; i: satellite index, i∈{1, 2, ..., N}, where N is the total number of satellites in the system; j: tracking and control station index, j∈{1, 2, ..., M}, where M is the total number of available tracking and control stations; k: time window index, k∈{1, 2, ..., W_ij}, where W_ij is the total number of visibility windows of satellite i to tracking and control station j.
5. The scheduling method for satellite telemetry, tracking, and command missions according to claim 1, characterized in that, In step S2, the calculation of the weight vector based on the multi-objective optimization model and the current scheduling environment parameters includes: S21: Evaluate the scheduling environment based on the current scheduling environment parameters to obtain the environmental factors; S22: Adjust the weights according to the environmental factors to obtain the weight vector.
6. The scheduling method for satellite telemetry, tracking, and command missions according to claim 1, characterized in that, In step S3, obtaining the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector includes: S31: Allocation of greedy and random strategies; S32: Cross-task based on task priority; S33: Perform multi-objective Pareto sorting to obtain the optimal solution set.
7. The scheduling method for satellite telemetry, tracking, and command missions according to claim 1, characterized in that, In step S4, the step of obtaining an executable scheduling scheme based on the optimal solution set and weight vector includes: S41: Selecting a scheduling scheme based on the optimal solution set and weight vector; S42: Convert the scheduling scheme into scheduling instructions to obtain an executable scheduling scheme.
8. A scheduling system for satellite telemetry, tracking, and command (TT&C) missions, characterized in that, It includes a multi-objective optimization model generation module, a weight vector calculation module, an optimal solution set generation module, and a scheduling scheme generation module; The multi-objective optimization model generation module is used to establish a multi-objective optimization model based on the satellite's orbital parameters, telemetry and control station parameters, and telemetry and control tasks. The weight vector calculation module is used to calculate the weight vector based on the current scheduling environment parameters; The optimal solution set generation module is used to obtain the optimal solution set by cross-sorting based on the multi-objective optimization model and weight vector; The scheduling scheme generation module is used to generate an executable scheduling scheme based on the optimal solution set and weight vector.
9. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the satellite telemetry and control mission scheduling method as described in any one of claims 1-7.
10. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the satellite telemetry and control task scheduling method as described in any one of claims 1-7.