Relay satellite multi-access resource multi-satellite multi-target scheduling method and system
By combining non-reduction domain-driven algorithms with internal and external constraints, the problem of multi-satellite and multi-objective mission planning for relay satellite multi-access resources is solved, improving resource utilization efficiency and mission assurance capabilities, and supporting online updates and dynamic expansion of constraints.
Patent Information
- Application Number
- CN202610080318.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-21
- Publication Date
- 2026-04-24
AI Technical Summary
Existing relay satellite resource scheduling models cannot be effectively applied to the planning of multi-satellite and multi-objective missions with dynamically reconfigurable relay satellite multi-location resources, resulting in insufficient resource utilization efficiency and mission support capabilities.
A non-decreasing neighborhood-driven algorithm is used to iteratively search the solution space, and a non-decreasing neighborhood-driven algorithm for task allocation success is constructed. Combined with internal and external constraints of the task, a multi-satellite and multi-objective scheduling method and system for relay satellite multi-access resources is designed, which supports online updates and dynamic expansion of constraints.
It improves the utilization efficiency and mission support capabilities of relay satellite multiple access resources, realizes optimized scheduling under dynamic conditions, and supports multiple strategy selections and online dynamic expansion constraints.
Smart Images

Figure CN121923700A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of aerospace telemetry, tracking, and command (TT&C) resource scheduling, specifically to a method and system for scheduling multiple satellites and multiple targets for relay satellite multi-access resources. Background Technology
[0002] The statements in this section are provided only as background information in connection with this disclosure and may not constitute prior art.
[0003] With the rapid development of my country's aerospace field, the number of satellites in orbit has exploded, leading to a rapid increase in demand for telemetry, tracking, and command (TT&C) data transmission resources. TT&C data transmission resources are divided into ground-based and space-based categories. Ground-based resources refer to ground-based TT&C data transmission equipment, which provides TT&C data transmission services when satellites pass overhead. Due to the curvature of the Earth, ground stations have short effective operating times and high service latency. To meet the ever-increasing demand for TT&C data transmission, a large number of ground stations need to be deployed, resulting in high construction and maintenance costs. Space-based resources refer to relay satellite systems, which provide forward and return data transmission services to user satellites through relay satellites deployed in geosynchronous orbit and their ground terminal stations. Relay satellites are less affected by the curvature of the Earth, can basically cover low and medium Earth orbit satellites, and have long effective operating times and low service latency. The new KMA-band multiple access antenna deployed on the relay satellite platform has dynamic beamforming capabilities. Each beam can independently track the target, supporting simultaneous service to multiple user satellites, establishing multiple forward and return transmission links, and can reconstruct and synthesize beams with different transmission rates according to differentiated needs, improving mission support capabilities and flexibility.
[0004] While reconfigurable multiple access resources for relay satellites have brought about a significant improvement in resource utilization efficiency and mission support capabilities, their features, such as multi-beam reconfigurability and adjustable rate, make their capabilities and constraint models more complex, and existing relay satellite resource scheduling models cannot be directly applied. Summary of the Invention
[0005] The purpose of this invention is to address the multi-satellite, multi-objective mission planning problem for relay satellite multiple access resources under dynamically reconfigurable conditions. Taking into account the characteristics of relay satellite KMA forward and backward multiple access antennas, such as dynamic beam synthesis and on-demand rate adjustment, a multi-satellite, multi-objective scheduling method and system for relay satellite multiple access resources is proposed. The method constructs a non-decreasing neighborhood-driven algorithm to iteratively search the solution space and obtain a better allocation scheme. Multiple strategies are provided for task allocation scheme selection, neighborhood construction, and solution acceptance. To implement the above method, a mission planning system is also designed. This system decouples the business process, algorithm, and constraints, supports online updates, and has the ability to dynamically expand constraint classes online. This invention improves the utilization efficiency of multiple access resources and the mission assurance capability.
[0006] The technical solution of the present invention is as follows: A method for scheduling relay satellite multiple access resources across multiple satellites and multiple objectives under dynamically adjustable conditions includes: Step S1: Obtain the set of tasks to be scheduled and their constraints; the constraints include intra-task constraints that limit the generation of a single scheme, and inter-task constraints that limit the coexistence of multiple schemes. Step S2: Construct feasible solutions; Based on the visibility window and beam transmission rate requirements of the target satellite and relay satellite, select beams that support the mission's operational content, and construct a set of feasible solutions that satisfy the intra-mission constraints for each mission in the mission set. Step S3: Execute the non-reduced neighborhood-driven algorithm; initialize the algorithm environment, and obtain the globally optimal scheduling solution for the task set through iterative search, provided that the inter-task constraints are satisfied.
[0007] Furthermore, the in-task constraints include in-task hard constraints and in-task soft constraints. The in-task hard constraints are used to determine whether a single solution is feasible, and the in-task soft constraints are used to evaluate the quality of a single solution. The inter-task constraints include hard inter-task constraints and soft inter-task constraints. The hard inter-task constraints are used to determine whether there is a conflict between multiple schemes, and the soft inter-task constraints are used to evaluate the quality of the overall scheduling scheme.
[0008] Furthermore, the state definitions of the task and feasible solutions are as follows: Free option: refers to a feasible option that does not conflict with the assigned options for other tasks; Freeze plan: refers to a feasible plan that conflicts with the assigned plans of other tasks; Conflicting solutions: If two solutions are assigned simultaneously, violating the hard constraints between tasks, then the two solutions are called conflicting solutions. Conflicting solutions cannot be assigned at the same time. Completed tasks: refers to tasks for which resource allocation has been completed; Unresolved tasks: These are tasks for which resource allocation has not been completed, including unresolved tasks, frozen tasks, and free tasks. Unresolved tasks are those with no feasible solutions; free tasks are those with free solutions; and frozen tasks are those with only the aforementioned frozen solutions. Conflicting tasks: If there is at least one pair of conflicting solutions between two tasks, then the two tasks are called conflicting tasks.
[0009] Further, step S3 includes: Step S31: Initialize the algorithm environment; Step S32: Select a task t from the free tasks, assign a feasible solution to it according to the preset solution allocation strategy, and update the solution status and task exchange ratio of the relevant tasks. Step S33: Update the current globally optimal scheduling solution; Step S34: Determine whether the algorithm meets the preset convergence condition. If yes, output the global optimal scheduling solution and end; otherwise, proceed to step S35. Step S35: Construct a non-decreasing neighborhood based on the task exchange ratio, perform task release and reallocation operations within the non-decreasing neighborhood, generate a non-decreasing neighbor set, and return to execute step S32.
[0010] Further, in step S32, updating the scheme status and task exchange ratio of the relevant tasks includes: Step S321: Update the scheme compactness, where the scheme compactness refers to the number of allocated schemes that conflict with the frozen scheme; Step S322: Update the task swap ratio of task t; Step S323: For the conflicting task ct of the cyclic task t, update the task swap ratio of task ct; Step S324: Update the task swap ratio for all conflicting tasks in task ct.
[0011] Further, step S321 includes: Select solution s from the free solutions and assign it to task t. Obtain all other task solutions that conflict with solution s and increment the compactness of each conflicting solution by 1. After releasing solution s of a solved task, first obtain all other task solutions that conflict with solution s and decrement the compactness of each conflicting solution by 1.
[0012] Further, step S322 includes: Step S3221: If task t is unsolved and a free solution exists, then t is a free task, and the process ends; Step S3222: If task t is unsolved and there is no free solution, then t is a frozen task, and the process ends; Step S3223: Initialize the task swap ratio of task t to 0; Step S3224: If the number of free solutions for task t is greater than 1, increment its task exchange ratio by 1; Step S3225: For each conflicting task in the cyclic task t, if there is no free solution and there is a frozen solution with a compactness of 1 that conflicts with the task t allocation solution, the task exchange ratio of task t is increased by 1.
[0013] Further, in step S35, constructing a non-decreasing neighborhood based on the task exchange ratio includes: Step S351: Select tasks with a task exchange ratio greater than or equal to 1 from the currently resolved tasks as tasks to be released; Step S352: Release the assigned scheme of the released task and update the scheme compactness; Step S353: Update the task exchange ratio of the released task and related tasks; Step S354: Select a free task according to the scheme allocation strategy, assign a free scheme to it and update its status to a solved task; Step S355: If the released task has a free option after the release scheme, then it is reassigned as a solved task; Step S356: After each allocation scheme, check whether there are any tasks that have changed from a frozen state to a free state. If so, jump to step S354 until there are no free tasks at present. At this time, the allocation schemes of all resolved tasks constitute the non-decreasing neighbor set.
[0014] Further, in step S1, the steps for obtaining and processing the constraints include: The constraint expression is received through the front-end interface. The constraint expression consists of static parameters, dynamic parameters and logical operators. The received constraint expressions are compiled by the rule engine to generate cache objects; When determining constraints during algorithm execution, the values of the dynamic parameters are obtained in real time according to the current algorithm environment, and combined with the pre-bound static parameters, the calculation logic corresponding to the cached object is executed, and a Boolean value representing whether the constraint is satisfied or a numerical value representing the degree of violation is output.
[0015] This invention also proposes a multi-satellite, multi-target scheduling system for relay satellite multiple access resources under dynamically adjustable conditions, comprising: The constraint management module is used to obtain the set of tasks to be scheduled and their constraints. A planning and scheduling module is used to execute the method described above; the planning and scheduling module includes: The scheme construction unit is used to filter beams that support the mission's working content based on the visibility window and beam transmission rate requirements of the target satellite and relay satellite, and to construct a set of feasible schemes that satisfy the intra-mission constraints for each mission in the mission set. The algorithm execution unit is used to initialize the algorithm environment, execute the non-reducing domain-driven algorithm, and obtain the globally optimal scheduling solution for the task set through iterative search, while satisfying the inter-task constraints.
[0016] Compared with existing technologies, the advantages of this invention are: The mission planning method of this invention solves the problem of multi-satellite and multi-objective mission planning for relay satellites under dynamically adjustable conditions. It supports the requirements of dynamic online updates of constraint types, constraint configurations, objective functions, and planning algorithms. The system update and optimization operation is simple, and constraints, algorithms, and objective functions can be iteratively upgraded in actual use. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in the embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0018] Figure 1 This is a schematic diagram illustrating the non-reduction domain planning method of the present invention; Figure 2 This is a schematic diagram of the process for updating the swap ratio in this invention; Figure 3 This is a schematic diagram of the algorithm environment structure of this invention; Figure 4 This is a schematic diagram of the constraints and expressions of this invention; Figure 5 This is a schematic diagram of the expression registration and variable registration process of the present invention; Figure 6 This is a schematic diagram of the functional modules of the task planning system of the present invention; Figure 7 This is a schematic diagram of the expression update interaction of the present invention. Detailed Implementation
[0019] It should be noted that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0020] The features and performance of the present invention will be further described in detail below with reference to embodiments.
[0021] Example 1 Please see Figure 1-7A method for scheduling relay satellite multiple access resources across multiple satellites and multiple objectives under dynamically adjustable conditions, comprising: Step S1: Obtain the set of tasks to be scheduled and their constraints; the constraints include intra-task constraints that limit the generation of a single scheme, and inter-task constraints that limit the coexistence of multiple schemes. Step S2: Construct feasible solutions; Based on the visibility window and beam transmission rate requirements of the target satellite and relay satellite, select beams that support the mission's operational content, and construct a set of feasible solutions that satisfy the intra-mission constraints for each mission in the mission set. Step S3: Execute the non-reduced neighborhood-driven algorithm; initialize the algorithm environment, and obtain the globally optimal scheduling solution for the task set through iterative search, provided that the inter-task constraints are satisfied.
[0022] In this embodiment, it should be noted that the task set includes fields such as: task number, task value, task start time, task end time, and subtask set; the subtask set includes fields such as: subtask number, target satellite, work content, transmission rate, service duration, and service window set; the service window includes fields such as: earliest service start time, latest service end time, and relay satellite.
[0023] In this embodiment, it should be noted that the in-task constraints include in-task hard constraints and in-task soft constraints. The in-task hard constraints are used to determine whether a single solution is feasible, and the in-task soft constraints are used to evaluate the quality of a single solution. The inter-task constraints include hard inter-task constraints and soft inter-task constraints. The hard inter-task constraints are used to determine whether there is a conflict between multiple schemes, and the soft inter-task constraints are used to evaluate the quality of the overall scheduling scheme.
[0024] In this embodiment, it should be noted that the hard constraints within a task include the following fields: constraint name, constraint type (hard constraint), constraint expression, associated subtask, static parameter configuration (binding parameters and constants, determined during constraint configuration), and dynamic parameter configuration (binding parameters and algorithm environment objects, obtained from the algorithm environment based on the object name during constraint calculation). The hard constraint expression takes static and dynamic parameters as input and outputs a Boolean value, where true indicates that the constraint is satisfied and false indicates that the constraint is violated. Subtask solutions must satisfy the hard constraints within the task; otherwise, they will not be assigned to the task.
[0025] In this embodiment, it should be noted that the soft constraints within a task include the following fields: constraint name, constraint type (soft constraint), constraint expression, associated subtask, static parameter configuration, and dynamic parameter configuration. The soft constraint expression takes static and dynamic parameters as input and outputs a non-negative real number. An output value of 0 indicates that the constraint is satisfied, and a larger output value indicates a more severe violation of the constraint. Subtask solutions should satisfy the soft constraints within the task as much as possible, but can still be assigned to a task if the constraint is violated.
[0026] In this embodiment, it should be noted that the hard constraints between tasks include the following fields: constraint name, constraint type (hard constraint), constraint expression, associated subtask, static parameter configuration, and dynamic parameter configuration. The hard constraint expression takes static and dynamic parameters as input and outputs a Boolean value: true indicates that the constraint is satisfied, and false indicates that the constraint is violated. Task schemes must satisfy the hard constraints within the task; otherwise, they will not be assigned to a task.
[0027] In this embodiment, it should be noted that the soft constraints between tasks include the following fields: constraint name, constraint type (soft constraint), constraint expression, associated subtask, static parameter configuration, and dynamic parameter configuration. The soft constraint expression takes static and dynamic parameters as input and outputs a non-negative real number. An output value of 0 indicates that the constraint is satisfied, and a larger output value indicates a more severe violation of the constraint. Subtask solutions should satisfy the soft constraints within the task as much as possible, but can still be assigned to tasks if constraints are violated.
[0028] In this embodiment, it should be noted that the state definitions of the task and feasible solutions are as follows: Free options: refer to feasible options that do not conflict with the assigned options for other tasks, excluding options that conflict with the same task. Freeze plan: refers to a feasible plan that conflicts with the assigned plans of other tasks, excluding plans that conflict with the plans of the same task; Conflicting schemes: If two schemes are assigned simultaneously in violation of hard constraints between tasks (which also include beamforming constraints), then the two schemes are called conflicting schemes. Conflicting schemes cannot be assigned simultaneously. Completed tasks: refers to tasks for which resource allocation has been completed; Unresolved tasks: These are tasks for which resource allocation has not been completed, including unresolved tasks, frozen tasks, and free tasks. Unresolved tasks are those with no feasible solutions, and such tasks will inevitably fail to be allocated. Free tasks are unresolved tasks with free solutions, and free solutions can be allocated to them. Frozen tasks are unresolved tasks with only the aforementioned frozen solutions, and all feasible solutions for them cannot be allocated. Conflicting tasks: If there is at least one pair of conflicting solutions between two tasks, then the two tasks are called conflicting tasks. Scheme tightness: For a frozen scheme, the number of allocated schemes that conflict with it is called the tightness. Task compactness: If the compactness of a frozen scheme s of a task is σ, then the compactness of the task based on s is said to be σ; in particular, the compactness of a free task is defined as 0. Task exchange ratio: refers to the number of other tasks that change from a frozen state to a free state after a task assignment is cancelled; if there are free options for the task other than the cancelled assignment, the task exchange ratio needs to be increased by 1.
[0029] It should be noted that the relay satellite multi-access resource multi-satellite multi-target scheduling method proposed in this embodiment should also be configured with corresponding algorithm strategies in actual application, including: scheme allocation strategy, neighborhood construction strategy and scheme update strategy.
[0030] In this embodiment, the specific scheme allocation strategy includes: Tabu search: Record the history of feasible solutions for the task, prioritize feasible solutions that are not taboo, and if no such solution exists, select the solution with the smallest taboo step size. Update the taboo table after each solution allocation. Optimal choice: Before selecting a solution, calculate the number of conflicts between each solution and other task solutions, and assign the free solution with the fewest conflicting solutions to the task. Roulette wheel: First, calculate the number of conflicts between each option and other task options. For all free options, calculate the selection probability based on the number of conflicts. Finally, select options for allocation by sampling according to the probability distribution. Random selection: For all free options, random sampling is used to select free options for allocation based on a uniform distribution.
[0031] In this embodiment, the specific neighborhood construction strategy includes: Tabu Search: For tasks with a task exchange ratio of not less than 1, prioritize selecting an untabulated task; if no untabulated task exists, select the task with the smallest taboo step size. For tasks with an exchange ratio less than 1, prioritize sampling several untabulated tasks, then sample tasks with small taboo step sizes. Update the taboo table after each task release selection. Optimal choice: Randomly select a task from the several solved tasks with the largest task exchange ratio; Roulette wheel: For all solved tasks, calculate the selection probability based on the task exchange ratio, and finally select tasks by sampling according to the probability distribution. Random selection: For tasks with a task exchange ratio of not less than 1, randomly select 1 task; for tasks with a task exchange ratio of less than 1, randomly select several tasks.
[0032] In this embodiment, the specific scheme update strategy includes: Incremental criterion: Only accept the better solution.
[0033] The Metropolis criterion is to accept the better solution and, by probability, the inferior solution.
[0034] Acceptance criteria: Accept the current proposal unconditionally.
[0035] In this embodiment, specifically, step S3 includes: Step S31: Initialize the algorithm environment; Step S32: Select a task t from the free tasks, assign a feasible solution to it according to the preset solution allocation strategy, and update the solution status and task exchange ratio of the relevant tasks. Step S33: Update the current globally optimal scheduling solution; Step S34: Determine whether the algorithm meets the preset convergence condition. If yes, output the global optimal scheduling solution and end; otherwise, proceed to step S35. Step S35: Construct a non-decreasing neighborhood based on the task exchange ratio, perform task release and reallocation operations within the non-decreasing neighborhood, generate a non-decreasing neighbor set, and return to execute step S32.
[0036] In this embodiment, specifically, in step S32, updating the scheme status and task exchange ratio of related tasks includes: Step S321: Update the scheme compactness, where the scheme compactness refers to the number of allocated schemes that conflict with the frozen scheme; Step S322: Update the task swap ratio of task t; Step S323: For the conflicting task ct of the cyclic task t, update the task swap ratio of task ct; Step S324: Update the task swap ratio for all conflicting tasks in task ct.
[0037] In this embodiment, specifically, step S321 includes: Select solution s from the free solutions and assign it to task t. Obtain all other task solutions that conflict with solution s and increment the compactness of each conflicting solution by 1. After releasing solution s of a solved task, first obtain all other task solutions that conflict with solution s and decrement the compactness of each conflicting solution by 1.
[0038] In this embodiment, specifically, step S322 includes: Step S3221: If task t is unsolved and a free solution exists, then t is a free task, and the process ends; Step S3222: If task t is unsolved and there is no free solution, then t is a frozen task, and the process ends; Step S3223: Initialize the task swap ratio of task t to 0; Step S3224: If the number of free solutions for task t is greater than 1, increment its task exchange ratio by 1; Step S3225: For each conflicting task in the cyclic task t, if there is no free solution and there is a frozen solution with a compactness of 1 that conflicts with the task t allocation solution, the task exchange ratio of task t is increased by 1.
[0039] In this embodiment, specifically, in step S35, constructing a non-decreasing neighborhood based on the task exchange ratio includes: Step S351: Select tasks with a task exchange ratio greater than or equal to 1 from the currently resolved tasks as tasks to be released; Step S352: Release the assigned scheme of the released task and update the scheme compactness; Step S353: Update the task exchange ratio of the released task and related tasks; Step S354: Select a free task according to the scheme allocation strategy, assign a free scheme to it and update its status to a solved task; Step S355: If the released task has a free option after the release scheme, then it is reassigned as a solved task; Step S356: After each allocation scheme, check whether there are any tasks that have changed from a frozen state to a free state. If so, jump to step S354 until there are no free tasks at present. At this time, the allocation schemes of all resolved tasks constitute the non-decreasing neighbor set.
[0040] In this embodiment, specifically, step S1, the steps for obtaining and processing the constraint conditions, include: The constraint expression is received through the front-end interface. The constraint expression consists of static parameters, dynamic parameters and logical operators. The received constraint expressions are compiled by the rule engine to generate cache objects; When determining constraints during algorithm execution, the values of the dynamic parameters are obtained in real time according to the current algorithm environment, and combined with the pre-bound static parameters, the calculation logic corresponding to the cached object is executed, and a Boolean value representing whether the constraint is satisfied or a numerical value representing the degree of violation is output.
[0041] Based on the same inventive concept, this embodiment also proposes a relay satellite multi-access resource multi-satellite multi-objective scheduling system under dynamically adjustable conditions, applied to the relay satellite multi-access resource multi-satellite multi-objective mission planning method described above. The system includes: The constraint management module is used to obtain the set of tasks to be scheduled and their constraints. Specifically, the constraint management module consists of requirement management, constraint configuration, and objective function configuration functions. Requirement management is responsible for adding, deleting, and modifying requirements (including subtasks and intra-task constraints); constraint configuration is responsible for adding, deleting, querying, and modifying constraints between tasks; objective function configuration is responsible for configuring the objective function for task planning, supporting multiple objective function configurations. The planning and scheduling module is used to execute the methods described above. Specifically, the planning and scheduling module consists of planning execution, plan management, and algorithm evaluation functions. Planning execution is responsible for loading planning constraints from the database, calling the algorithm engine to execute the planning, parsing the algorithm results, generating a plan, and storing it in the database. Plan management provides operations for adding, querying, deleting, and modifying plans, issuing execution orders, and tracking the closed-loop plan status. The algorithm evaluation function records algorithm latency and, based on the plan and requirements, calculates the planning success rate, the number of resource fragments (resource idle windows shorter than the shortest idle length), and the number of remaining resources, evaluating algorithm performance from multiple dimensions.
[0042] In this embodiment, specifically, the planning and scheduling module includes: The scheme construction unit is used to filter beams that support the mission's working content based on the visibility window and beam transmission rate requirements of the target satellite and relay satellite, and to construct a set of feasible schemes that satisfy the intra-mission constraints for each mission in the mission set. The algorithm execution unit is used to initialize the algorithm environment, execute the non-reducing domain-driven algorithm, and obtain the globally optimal scheduling solution for the task set through iterative search, while satisfying the inter-task constraints.
[0043] In this embodiment, specifically, a relay satellite multi-access resource multi-satellite multi-target scheduling system under dynamically adjustable conditions further includes: a data management module, an algorithm engine module, and an expression calculation module.
[0044] The data management module comprises spacecraft management, relay satellite management, and support relationship management functions. The spacecraft management function manages the user's space infrastructure, providing add, delete, and modify operations. The relay satellite management function manages the basic information of relay satellites and their antennas, providing add, delete, and modify operations. The support management function provides the support relationships between relay satellite antennas and user spacecraft regarding their operational content, and also provides add, delete, and modify operations.
[0045] The algorithm engine module consists of algorithm execution, algorithm registration, and strategy management functions. The algorithm execution function implements the task planning algorithm and provides an interface for calling the algorithm; the algorithm registration function supports adding, deleting, and enabling algorithms, but algorithm execution cannot call disabled algorithms; the strategy management function supports adding, deleting, and selecting strategies within the algorithm, and the algorithm executes according to the selected strategy.
[0046] The expression calculation module, developed based on the Aviator rule engine, consists of expression calculation, expression template registration, and parameter type registration functions. The expression calculation function calculates output values based on expression scripts and input parameters, supporting hard constraints, soft constraints, and objective function expression calculation. The expression template registration function provides a visual expression template editing function, enabling the addition, deletion, querying, and modification of expressions; for addition and modification operations, expressions are automatically compiled and cached; for deletion operations, cached expressions are automatically removed, freeing up memory. The parameter type registration function provides the ability to register complex parameter Java types (including custom types), enabling the addition, deletion, querying, and modification of parameters; for addition operations, a namespace for the type is defined, and a new type method is added to the Aviator instance; for deletion operations, the type method is deleted from the Aviator instance; for modification operations, the old operation method for the type is first deleted from the Aviator instance, and then the type method is re-added to the Aviator instance.
[0047] An expression template consists of a template name, an expression Aviator script, parameter names, parameter types, and parameter value ranges. The template name must be unique.
[0048] Example 2 In order to quantitatively evaluate the merits of scheduling schemes and provide guidance for the iterative direction of non-reduced domain-driven algorithms, this embodiment designs a multi-dimensional objective function evaluation system.
[0049] As mentioned earlier, step S33 requires scoring the currently generated scheduling scheme when updating the globally optimal scheduling solution. Traditional scheduling algorithms often use only "number of tasks completed" or "resource utilization" as a single indicator. However, in the dynamic scheduling scenario of relay satellite multiple access resources, focusing solely on the completion rate of the current task is insufficient. Since task requirements may be dynamically inserted, the scheduling system must be "forward-looking"—that is, while satisfying current high-value tasks as much as possible, it must also deliberately reserve large, continuous blocks of idle resources (reducing resource fragmentation) to reserve space for high-priority tasks that may be urgently inserted later.
[0050] Based on this, this embodiment proposes a composite objective function that comprehensively considers task value loss, idle resource quality, and fragmented resource quantity. This objective function not only aims to minimize the value loss of unfinished tasks but also introduces a penalty mechanism for "fragmented time," thereby guiding the algorithm to generate a scheduling scheme with a more compact structure and stronger resistance to dynamic disturbances.
[0051] The specific objective function calculation logic and related parameter definitions are as follows: Task value loss: For the set of failed tasks, tasks The value is The total value of the loss is:
[0052] Number of idle resources: Let f represent the forward beam, F represent the forward beam set; b represent the return beam, and B represent the return beam set; use Indicates beam The set of free windows It can be expressed as a tuple , , These represent the start and end times of the visible window; the minimum available idle time is... (Minimum service duration plus preparation and end time), ideal idle time is (Maximum service duration plus preparation and cleanup time) To meet the needs of medium- and high-speed tasks and long-duration tasks, the remaining high-speed, long-duration idle windows are prioritized, allowing idle windows to... length The number of free windows is:
[0053] The remaining resource capacities for the forward and return beams are respectively:
[0054] in:
[0055] Fragment resource quantity: Fragment time of forward / backward beams (less than) The amount of free time is:
[0056] In this embodiment, the beamforming constraint proposed in Embodiment 1 is further explained, namely, the conflict judgment rule: beams with a beamforming relationship can only perform one task at a time. Let any beam... The beam set that has a composition relationship is The beam set assigned to task t is For any time have:
[0057] Example 3 Building upon the detailed description of the task scheduling method and evaluation criteria in the foregoing embodiments, this embodiment further discloses a system architecture implementation scheme supporting the operation of this scheduling method. In particular, considering the characteristics of variable constraints and complex business rules in aerospace telemetry and control missions, this embodiment focuses on describing an online dynamic constraint expansion and configuration mechanism based on a rule engine.
[0058] In practical applications, traditional scheduling systems often hard-code constraint logic into the program. Once business rules change (e.g., adding new antenna usage restrictions or altering beamforming rules), it is usually necessary to modify the source code and restart the entire service, which is unacceptable for relay satellite scheduling systems that require high availability. To solve this problem, this system introduces "expression registration" and "variable registration" mechanisms. Utilizing the dynamic compilation capabilities of the Aviator expression engine, combined with distributed message queues (such as RabbitMQ / Kafka) and centralized caching (such as Redis), it achieves hot loading and real-time application of constraint rules.
[0059] This mechanism allows users to flexibly define new constraint logic in the front-end interface without stopping the background algorithm service. The system can automatically complete the entire process from parameter type validation, distributed broadcast notification, parallel compilation of nodes to eventual consistency confirmation.
[0060] Specifically, expression registration and variable registration are the foundation for realizing online dynamic expansion and configuration of constraints. The main steps are as follows: Step 1: Edit the expression pattern on the front end and submit a registration request. The expression template includes the expression name, the expression Aviator script, static parameters (specified when configuring constraints and not interacting with the algorithm environment), and dynamic parameters (obtained by interacting with the algorithm environment when calculating constraints). Static and dynamic parameters are composed of parameter name, parameter type, value range, and description information (explaining the function of the parameter).
[0061] Step 2: After receiving the expression registration request, compare the expression parameter types with the registered parameter types. If there are unregistered parameter types, perform parameter type registration; otherwise, proceed directly to Step 4.
[0062] Step 3: If parameter type registration fails, end the process and reply with a request for registration failure.
[0063] Step 4: Broadcast the message queue to notify all constraint calculation modules to register the expression.
[0064] Step 5: After the constraint calculation module listens for the broadcast message, it compiles and caches the expression in the Aviator instance. If the compilation is successful, a success count is accumulated in Redis; if the compilation fails, a failure count is accumulated in Redis.
[0065] Step 6: Monitor key-value changes for successful and failed Redis configurations in real time. If the compilation failure count is greater than 0, end the process and reply with a registration failure message; if the compilation success count equals the number of constraint calculation modules (the number of healthy modules obtained from the registry), the registration is considered successful.
[0066] Step 7: After confirming successful registration, save the expression information to the database and reply with a successful registration request.
[0067] The parameter type registration process is as follows: Step 1: Receive type registration request.
[0068] Step 2: Check the registration application and the already registered type. If already registered, end the process and return a registration success message; otherwise, broadcast the registration type to all constraint calculation modules via message queue.
[0069] Step 3: After the constraint calculation module listens for the broadcast message, it adds a type method to the Aviator instance. If the addition is successful, a success count is accumulated in Redis; if the addition fails, a failure count is accumulated in Redis.
[0070] Step 4: Monitor Redis configuration success and failure key-value changes in real time. If the failure count for adding a type method is greater than 0, end the process and reply with a registration failure message; if the success count for adding a type method equals the number of constraint calculation modules (the number of healthy nodes obtained from the registry), the registration is considered successful.
[0071] Step 5: After confirming successful registration, save the expression information to the database and reply with a successful registration request.
[0072] Example 4 To more intuitively illustrate the execution process of the method described in this invention in a real-world business scenario, this embodiment provides a specific application scenario for relay satellite multiple access resource scheduling. In this scenario, the entire lifecycle process, from task requirement configuration, constraint definition, scheme construction to final algorithm solution, will be fully demonstrated.
[0073] Suppose we need to schedule a batch of telemetry, tracking, and command (TT&C) missions involving multiple low-Earth orbit user satellites (such as remote sensing satellites and meteorological satellites). The relay satellite system is equipped with KMA-band multiple access antennas and supports dynamic beamforming. The system first needs to transform the abstract business requirements into a data model that the algorithm can recognize.
[0074] Based on the method proposed in this invention, the application implementation process in this specific scenario is as follows: Step 1: Configure task requirements. Requirements include fields such as task number, task value, task start time, task end time, subtask set, hard constraints within the task, and soft constraints within the task.
[0075] The subtask includes the following fields: subtask number, target satellite, task content, transmission rate, service duration, and service window set.
[0076] The service window contains the following fields: earliest service start time, latest service end time, and relay satellite.
[0077] In-task constraints limit the selection of subtask schemes, and are divided into hard constraints and soft constraints.
[0078] Hard constraints within a task include the following fields: constraint name, constraint type (hard constraint), constraint expression, associated subtask, static parameter configuration (bound parameters and constants, determined during constraint configuration), and dynamic parameter configuration (bound parameters and algorithm environment object, retrieved from the algorithm environment based on the object name during constraint calculation). The hard constraint expression takes static and dynamic parameters as input and outputs a Boolean value: true indicates constraint satisfaction, false indicates constraint violation. Subtask solutions must satisfy the hard constraints within the task; otherwise, they will not be assigned to the task.
[0079] Within a task, soft constraints include the following fields: constraint name, constraint type (soft constraint), constraint expression, associated subtask, static parameter configuration, and dynamic parameter configuration. The soft constraint expression takes static and dynamic parameters as input and outputs a non-negative real number. An output value of 0 indicates that the constraint is satisfied, and a larger output value indicates a more severe violation. Subtask solutions should satisfy the task's soft constraints as much as possible, but can still be assigned to tasks if constraints are violated.
[0080] Step 2: Configure inter-task constraints. Inter-task constraints limit the choice of solutions for several tasks, and are divided into hard constraints and soft constraints.
[0081] Hard constraints between tasks include the following fields: constraint name, constraint type (hard constraint), constraint expression, associated subtask, static parameter configuration, and dynamic parameter configuration. The hard constraint expression takes static and dynamic parameters as input and outputs a Boolean value: true indicates the constraint is satisfied, and false indicates a violation. Task solutions must satisfy the hard constraints within the task; otherwise, they will not be assigned to a task.
[0082] Soft constraints between tasks include the following fields: constraint name, constraint type (soft constraint), constraint expression, associated subtask, static parameter configuration, and dynamic parameter configuration. The soft constraint expression takes static and dynamic parameters as input and outputs a non-negative real number. An output value of 0 indicates that the constraint is satisfied, and a larger output value indicates a more severe violation. Subtask solutions should satisfy the soft constraints within the task as much as possible, but can still be assigned to tasks if constraints are violated.
[0083] Step 3: Configure the algorithm strategy. Configure the algorithm's scheme allocation strategy, neighborhood construction strategy, and scheme update strategy.
[0084] Step 4: Execute the algorithm. Execute the non-decreasing neighborhood hill-climbing method to obtain the global solution to the planning problem. The specific steps are as follows: 4.1: Loading Data. Load requirements, constraints, and visible window information from the database.
[0085] 4.2: Constructing Feasible Solutions. Based on the target satellite, mission content, transmission rate, and support relationships, beams that support the mission content and meet the transmission rate are selected to obtain the visible window. Forward missions require one forward beam, return missions require one return beam, and both forward and return missions require one forward beam and one return beam. Relay satellite visible windows are relatively long; therefore, the visible window needs to be divided into sub-windows (hereinafter referred to as arcs) based on a sliding step size, ensuring each element meets the mission requirements. Feasible solutions for the mission are then constructed using these sub-windows to avoid wasting resources.
[0086] 4.3: Calculating Scheme Conflicts. When two feasible schemes violate constraints on beam capability, beamforming, or user satellite capability, they are said to conflict. Two conflicting schemes cannot be assigned simultaneously. Since only one feasible scheme needs to be assigned per task, this paper focuses only on conflicts between feasible schemes from different tasks.
[0087] 4.4: Initializing the Algorithm Environment. The idle window is fundamental for calculating the remaining resource quantity and resource fragment quantity, and needs to be updated in real-time based on solution iteration. Because the algorithm starts iterating from an empty solution, and no plans are scheduled for each beam, the initial idle window represents the start and end times of the plan. The task exchange ratio is crucial for constructing non-decreasing neighborhoods. By releasing tasks with an exchange ratio of at least 1, the number of successfully assigned tasks can be ensured to remain non-decreasing, improving the convergence speed of the iteration. When the initial solution is empty, all tasks fall into only two categories: free tasks (unsolved but with free solutions) and unsolvable tasks (unsolved and without feasible solutions). Set the maximum number of iterations, maximum runtime, and maximum number of non-convergences.
[0088] 4.5: Obtain a free task. Randomly select a free task: if it exists, proceed to the next assignment step; if it does not exist, skip to step 4.7.
[0089] 4.5: Execute Allocation. Select feasible solutions based on the allocation strategy and complete the free allocation; after allocation, update the status of all solutions and tasks, as well as the task exchange ratio and idle window.
[0090] 4.6: Update the optimal solution. After each round of free task allocation, i.e., allocating feasible solutions to free tasks and updating the solution status, task status, solved task exchange ratio, and idle window, calculate the overall solution score. Then, update the current optimal overall solution and optimal score according to the solution update strategy. The score includes task loss, total number of idle resources, and total number of fragmented resources, and is scalable. Skip to step 4.5.
[0091] 4.7: Determine convergence or termination. If the number of iterations, running time, or number of non-convergences reaches its maximum value, terminate the algorithm iteration and output the global optimal solution; otherwise, proceed to the next step to construct the neighborhood.
[0092] 4.8: Construct a non-decreasing neighborhood. If there is a solved task with a swap ratio greater than 1, perform the following steps to construct a non-decreasing neighborhood; otherwise, skip to step 4.9.
[0093] 4.8.1: Select a task from the solved tasks with a swap ratio greater than or equal to 1 according to the configured neighborhood construction strategy; 4.8.2: Release the selected option for this task; 4.8.3: Update the status of other feasible solutions that conflict with this solution; 4.8.4: After completing the status update of the schemes, update the exchange ratio and free state of the tasks to which these schemes belong, as well as the tasks to which the conflicting schemes belong; 4.8.5: Select a free task based on the strategy, assign a free solution to it, and update the status to "solved task"; 4.8.6: When a free task is selected as a released task, assign it a free option other than the released option. If no free option exists, skip this assignment and re-execute the previous step. 4.8.7: Jump to step 4.8.5 and repeat the free task assignment scheme to make it a solved task until there are no more free tasks. 4.8.8: Based on the above steps, a new solution to the planning problem can be obtained. The task assignment success rate of this solution remains non-decreasing and will not revert to the solution of the previous step. Therefore, it is called a non-decreasing neighbor. The set of all non-decreasing neighbors can be called a non-decreasing neighborhood.
[0094] 4.9: Perform the perturbation. The perturbation is as follows. After completing the perturbation, proceed to step 4.5.
[0095] 4.9.1: Randomly select a solved task and add it to the release set.
[0096] 4.9.2: Retrieve the resolved conflicting tasks in the release set and add them to the release set.
[0097] 4.9.3: Repeat the above steps until the size of the collection is released and the set value is reached.
[0098] 4.9.4: Execute the interpretation of the released set of resolved schemes.
[0099] 4.9.5: Update the status of other feasible task options that conflict with this option.
[0100] The embodiments described above merely illustrate specific implementation methods of this application, and while the descriptions are detailed and specific, they should not be construed as limiting the scope of protection of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the technical solution of this application, and these modifications and improvements all fall within the scope of protection of this application.
[0101] This background section is provided to generally present the context of the invention. The work of the currently named inventors, the work to the extent described in this background section, and aspects of this section that did not constitute prior art at the time of application are neither expressly nor impliedly acknowledged as prior art to the invention.
Claims
1. A method for scheduling relay satellite multiple access resources across multiple satellites and multiple objectives under dynamically adjustable conditions, characterized in that, include: Step S1: Obtain the set of tasks to be scheduled and their constraints; the constraints include intra-task constraints that limit the generation of a single scheme, and inter-task constraints that limit the coexistence of multiple schemes. Step S2: Construct feasible solutions; Based on the visibility window and beam transmission rate requirements of the target satellite and relay satellite, select beams that support the mission's operational content, and construct a set of feasible solutions that satisfy the intra-mission constraints for each mission in the mission set. Step S3: Execute the non-reduced neighborhood-driven algorithm; initialize the algorithm environment, and obtain the globally optimal scheduling solution for the task set through iterative search, provided that the inter-task constraints are satisfied.
2. The method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 1, characterized in that, The in-task constraints include in-task hard constraints and in-task soft constraints. The in-task hard constraints are used to determine whether a single solution is feasible, and the in-task soft constraints are used to evaluate the quality of a single solution. The inter-task constraints include hard inter-task constraints and soft inter-task constraints. The hard inter-task constraints are used to determine whether there is a conflict between multiple schemes, and the soft inter-task constraints are used to evaluate the quality of the overall scheduling scheme.
3. The method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 2, characterized in that, The state definitions of the task and feasible solutions are as follows: Free option: refers to a feasible option that does not conflict with the assigned options for other tasks; Freeze plan: refers to a feasible plan that conflicts with the assigned plans of other tasks; Conflicting solutions: If two solutions are assigned simultaneously, violating the hard constraints between tasks, then the two solutions are called conflicting solutions. Conflicting solutions cannot be assigned at the same time. Completed tasks: refers to tasks for which resource allocation has been completed; Unresolved tasks: These are tasks for which resource allocation has not been completed, including unresolved tasks, frozen tasks, and free tasks. Unresolved tasks are those with no feasible solutions; free tasks are those with free solutions; and frozen tasks are those with only the aforementioned frozen solutions. Conflicting tasks: If there is at least one pair of conflicting solutions between two tasks, then the two tasks are called conflicting tasks.
4. The method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 3, characterized in that, Step S3 includes: Step S31: Initialize the algorithm environment; Step S32: Select a task t from the free tasks, assign a feasible solution to it according to the preset solution allocation strategy, and update the solution status and task exchange ratio of the relevant tasks. Step S33: Update the current globally optimal scheduling solution; Step S34: Determine whether the algorithm meets the preset convergence condition. If yes, output the global optimal scheduling solution and end; otherwise, proceed to step S35. Step S35: Construct a non-decreasing neighborhood based on the task exchange ratio, perform task release and reallocation operations within the non-decreasing neighborhood, generate a non-decreasing neighbor set, and return to execute step S32.
5. A method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 4, characterized in that, In step S32, updating the scheme status and task exchange ratio of related tasks includes: Step S321: Update the scheme compactness, where the scheme compactness refers to the number of allocated schemes that conflict with the frozen scheme; Step S322: Update the task swap ratio of task t; Step S323: For the conflicting task ct of the cyclic task t, update the task swap ratio of task ct; Step S324: Update the task swap ratio for all conflicting tasks in task ct.
6. A method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 5, characterized in that, Step S321 includes: Select solution s from the free solutions and assign it to task t. Obtain all other task solutions that conflict with solution s and increment the compactness of each conflicting solution by 1. After releasing solution s of a solved task, first obtain all other task solutions that conflict with solution s and decrement the compactness of each conflicting solution by 1.
7. A method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 6, characterized in that, Step S322 includes: Step S3221: If task t is unsolved and a free solution exists, then t is a free task, and the process ends; Step S3222: If task t is unsolved and there is no free solution, then t is a frozen task, and the process ends; Step S3223: Initialize the task swap ratio of task t to 0; Step S3224: If the number of free solutions for task t is greater than 1, increment its task exchange ratio by 1; Step S3225: For each conflicting task in the cyclic task t, if there is no free solution and there is a frozen solution with a compactness of 1 that conflicts with the task t allocation solution, the task exchange ratio of task t is increased by 1.
8. A method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 7, characterized in that, In step S35, constructing a non-decreasing neighborhood based on the task exchange ratio includes: Step S351: Select tasks with a task exchange ratio greater than or equal to 1 from the currently resolved tasks as tasks to be released; Step S352: Release the assigned scheme of the released task and update the scheme compactness; Step S353: Update the task exchange ratio of the released task and related tasks; Step S354: Select a free task according to the scheme allocation strategy, assign a free scheme to it and update its status to a solved task; Step S355: If the released task has a free option after the release scheme, then it is reassigned as a solved task; Step S356: After each allocation scheme, check whether there are any tasks that have changed from a frozen state to a free state. If so, jump to step S354 until there are no free tasks at present. At this time, the allocation schemes of all resolved tasks constitute the non-decreasing neighbor set.
9. A method for scheduling relay satellite multiple access resources under dynamically adjustable conditions according to claim 1, characterized in that, In step S1, the steps for obtaining and processing the constraints include: The constraint expression is received through the front-end interface. The constraint expression consists of static parameters, dynamic parameters and logical operators. The received constraint expressions are compiled by the rule engine to generate cache objects; When determining constraints during algorithm execution, the values of the dynamic parameters are obtained in real time according to the current algorithm environment, and combined with the pre-bound static parameters, the calculation logic corresponding to the cached object is executed, and a Boolean value representing whether the constraint is satisfied or a numerical value representing the degree of violation is output.
10. A relay satellite multi-access resource multi-satellite multi-target scheduling system under dynamically adjustable conditions, characterized in that, include: The constraint management module is used to obtain the set of tasks to be scheduled and their constraints. The planning and scheduling module is used to execute the method as described in any one of claims 1 to 9; The planning and scheduling module includes: The scheme construction unit is used to filter beams that support the mission's working content based on the visibility window and beam transmission rate requirements of the target satellite and relay satellite, and to construct a set of feasible schemes that satisfy the intra-mission constraints for each mission in the mission set. The algorithm execution unit is used to initialize the algorithm environment, execute the non-reducing domain-driven algorithm, and obtain the globally optimal scheduling solution for the task set through iterative search, while satisfying the inter-task constraints.