Next Article in Journal
Using Smartwatches in Stress Management, Mental Health, and Well-Being: A Systematic Review
Previous Article in Journal
Environmental Sensitivity in AI Tree Bark Detection: Identifying Key Factors for Improving Classification Accuracy
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Research on the Integrated Scheduling of Imaging and Data Transmission for Earth Observation Satellites

National Key Laboratory of Information Systems Engineering, National University of Defense Technology, Changsha 410073, China
*
Author to whom correspondence should be addressed.
Algorithms 2025, 18(7), 418; https://doi.org/10.3390/a18070418
Submission received: 13 May 2025 / Revised: 15 June 2025 / Accepted: 26 June 2025 / Published: 8 July 2025
(This article belongs to the Section Combinatorial Optimization, Graph, and Network Algorithms)

Abstract

This study focuses on the integrated scheduling issues of imaging and data transmission for Earth observation satellites, where each target needs to be imaged and transmitted within a feasible time window. The scheduling process also takes into account the constraints of satellite energy and storage capacity. In this paper, a mixed-integer linear programming (MILP) model for the integrated scheduling of imaging data transmission has been proposed. The MILP model was validated through numerical experiments based on simulation data from SuperView-1 series satellites. Additionally, some neighborhood mechanisms are designed based on the characteristics of the problem. Based on the neighborhood mechanisms, the rule-based large neighborhood search algorithm (RLNS) was designed, which constructs initial solutions through various scheduling rules and iteratively optimizes the solutions using multiple destroying and repairing operators. To address the shortcomings of the overly regular mechanism of the destruction and repair operator for large neighborhood search, we design a genetic algorithms (GA) for tuning the heuristic scheduling rules. The calculation results demonstrate the effectiveness of RLNS and GA, highlighting their advantages over CPLEX in solving large-scale problems.

1. Introduction

With the rapid development of satellite technology and space sensor technology, the number of Earth observation satellites has increased quickly, and the observation performance has continuously improved. The application of satellite remote sensing technology is becoming increasingly widespread, with demand growing rapidly.
In the observation activities, the satellite executes payload control commands to observe targets and transmits this information back to the ground station for analysis and assessment [1]. The payloads installed on these satellites are classified as passive remote sensors, which utilize the energy reflected from sunlight by ground targets or the electromagnetic wave energy radiated by the targets themselves to detect and identify them [2]. For Earth observation satellites, a complete imaging mission can be divided into two phases: the imaging phase and the data transmission phase. In the two phases of satellite imaging missions, there are some limitations such as energy, storage capacity, and so on. In general, satellite resources are relatively scarce, and not all user demands can be met; the goal of scheduling is to satisfy as many user demands as possible. For the task planning of Earth observation satellites, designing a reasonable scheduling scheme is crucial for making full use of satellite resources.
There has been a lot of research on the scheduling problems of Earth observation satellites. Cordeau et al. [3] transformed the satellite observation problem into a Selective Traveling Salesman Problem (STSP), converted the time window constraints of the satellite into the time window constraints of the vehicle task, and used the Unified Tabu Search Algorithm (UTSA) to solve the Earth-observation satellite task scheduling problem. Parish [4] conducted an in-depth study of the Satellite Range Scheduling Problem (SRSP) under the Air Force Satellite Control Network (AFSCN) and proposed a genetic algorithm based scheduling algorithm called “Genitor” to solve the AFSCN problem, which achieved a high degree of optimization. Sharkheyli et al. [5] investigated the agile Earth observation satellite scheduling problem by using dual decision variables to represent the mission time window of an Earth observation satellite and the start moment of the mission within the time window. Gabrel et al. [6] represented the satellite mission planning problem as a weighted directed acyclic graph, and the solution goal of the problem was to find a longest path of the graph. The advantage of this method is that the model is intuitive, easy to understand, and can be solved with the help of mature graph theoretic solving algorithms, but its shortcomings are that the expressive ability of the graph theoretic model is limited, and it is not possible to realize complex mission constraints such as area target imaging, imaging digital transmission, solid-state erasure, and so on, in the model, which is still to be improved for real problem portrayal. Integrated scheduling, solid-storage erasure, and other complex task constraints in the model, and the portrayal of practical problems, is still to be improved.
Pemberton et al. [7] conducted a constrained modeling of the imaging data transmission integration scheduling problem, but only provided a formal description of the issue based on analysis, without presenting algorithms or computational results. Bianchessi et al. [8,9] studied the scheduling problem of the COSMO-SkyMed radar constellation, analyzing in detail the occupancy and release of onboard storage. However, their mathematical models primarily considered the bottleneck constraints in the problem, namely the cumulative imaging count and cumulative imaging time constraints related to imaging. For data transmission processing, they adopted a simplified mode where data is transmitted back when there is a data transmission window and storage capacity available, and for the contention of multiple satellites returning data to a single ground station, they employed a simple first-come, first-served conflict resolution strategy. Li Jufang et al. [10] abstracted the satellite integration scheduling problem as a variant form of a transceiver problem, establishing a constrained planning model for the multi-satellite multi-station task planning problem, and employed a tabu search algorithm to solve the issue. Wang Jun [11] studied a comprehensive task scheduling model that only considered satellite task allocation without accounting for the scheduling of task start times, while considering both imaging and data transmission tasks, and proposed two modes for solving the problem based on global optimization and phase optimization. In the phase optimization mode, a task scheduling algorithm for emergency conditions based on the concept of imaging path delay dominance and the idea of label updating is proposed. Jin Peng et al. [12] designed a task scheduling strategy for multi-satellite emergency mission planning that combines fixed-period decision planning with local adjustment planning, and proposed a two-phase algorithm to address the dynamic programming problem of emergency tasks with uncertain arrival times. However, this paper, when studying the scheduling problem, only considers the selection of task time windows, without scheduling the specific start and end times of the tasks.
Wang Pei [13] modeled the task planning problem into a heterogeneous multi-vehicle delivery problem with multiple time windows and complementary resource constraints, and introduced the branch-and-price algorithm into the solution process of this problem. However, this study strictly limited the order of satellite data downlinking to follow the imaging sequence. Additionally, during the modeling process, to facilitate the solution of the branch-and-price method, the start time of tasks was restricted to integer values, and the satellite could only perform one action at the same time, meaning imaging and data transmission could not be executed simultaneously. Xing et al. [14] analyzed the integrated scheduling problem of satellite observation and data transmission in the context of satellite storage environments with partially erasable memory (PEM) and wholly erasable memory (HEM), proposed an integrated scheduling model suitable for both types of storage environments, and employed constructive heuristics and metaheuristics, using Tabu Simulated Annealing (TSA) and Tabu Late Acceptance (TLA) algorithms to solve the model. In this paper, the imaging and non-real-time data transmission actions of the satellite cannot be executed simultaneously. Sun et al. [15] studied the emergency task scheduling problem of agile satellites while simultaneously considering imaging and data transmission tasks.They accurately took into account the attitude adjustment of agile satellites and proposed a new time window partitioning method that transforms variable-spacing visible time windows into multiple fixed-spacing visible time windows and presented a scheduling algorithm based on merging insertion, direct insertion, shifting insertion, deletion insertion, and reinsertion strategies. In this study, the satellite can perform imaging and data transmission tasks simultaneously, and the storage is only required to not exceed the maximum storage capacity limit.
Hu et al. [16] assumes that data transmission occurs when the satellite passes over the ground station, with the data transmission time being the visible window time of the ground station and that the amount of data transmitted is variable, which is independent of the transmission time. The scheduling cycles of the satellite’s tasks were segmented according to the downlink time windows to establish a mixed-integer programming model for integrated imaging and data transmission scheduling problem with a branch-and-price algorithm to solve it. Zhu et al. [17] investigated the integrated scheduling problem of observation data transmission for Earth observation satellites with the involvement of relay satellites, assuming that ground station resources were sufficient to simultaneously meet the data transmission needs of multiple satellites. They used a directed acyclic graph to established a mixed-integer linear programming model, and proposed a two-stage genetic annealing algorithm to solve the model. Chen et al. [18] studied the integrated scheduling problem of Earth observation satellites, proposing an integer linear programming model and an local search algorithm. The algorithm utilizes an efficient constraint handling mechanism to guarantee algorithm efficiency. However, the model proposed in this study does not allocate and schedule tasks for satellites and ground stations, without considering the limitation on ground station antenna resources.
Kim et al. [19] studied the integrated scheduling problem of multiple satellites for imaging and data transmission under memory constraints, tracking the capacity changes during the task scheduling process through the sequence of task variables, but only used the Gurobi solver for solving, which is not applicable to large-scale cases and did not consider task allocation for stations, adopting a “first-come, first-served” approach for data transmission. Lee et al. [20] abstracted the integrated scheduling problem of imaging and data transmission as a vehicle routing problem with pick up and delivery, establishing a mixed-integer programming model for the integrated scheduling of command uplinks, imaging, and data transmission for multiple satellites, and verified the model’s effectiveness through a solver. Zhang et al. [21] studied the imaging and data transmission integration scheduling problem for two types of data transmission modes: real-time data transmission and storage distribution. They established a mixed-integer programming model and designed a genetic algorithm based on the earliest start rule for observation tasks and the earliest suitable time rule for data transmission tasks. He et al. [22] studied the multi-satellite observation-relay transmission–downloading coupling scheduling problem, and improved the conventional tabu search algorithm for multi-satellite earth observation by integrating the data transmission path planning algorithm to solve and carry out the entire coupling process for earth observation. And, a satellite cluster profit-state evaluation function was provided to enhance the local search process, while a rule-based Dijkstra data transmission path planning method was proposed in the data transmission planning algorithm.
Table 1 summarizes the related work. Due to the explosive characteristics of imaging and data transmission scheduling, traditional research mostly separates the scheduling of imaging tasks from that of data transmission tasks, and there is little research that considers both the imaging and data transmission processes simultaneously. Current research on integrated scheduling is mostly based on various simplified conditions such as: discretization of time windows, unlimited ground station antenna resources, and “first-come, first-served” execution of data transmission tasks and so on. Therefore, in order to improve the effectiveness of satellite scheduling, it is necessary to conduct more in-depth research on the integrated scheduling problem.
This study addresses the integrated scheduling problem of parallel imaging and data transmission for agile Earth observation satellites, considering sliding time windows and ground station resource constraints, establishes a mixed-integer linear programming model and designs various neighborhood operators and heuristic rules within a large neighborhood search algorithm framework.
The remainder of this paper is organized as follows: Section 2 presents the problem description and model formulation. In Section 3, the CPLEX CP Solver Solution is shown. Section 4 provides the details of the Rule-based Large Neighborhood Search algorithm (RLNS) algorithm. Section 5 describes the simulation experiments, including the experimental settings and results. Finally, Section 6 presents conclusions and directions for future research.

2. Mathematical Programming Model

2.1. Problem Definition

The satellite’s imaging actions, data transmission actions, and attitude maneuvers all consume energy. However, during its operation, the satellite cannot always replenish energy by receiving external radiation. Therefore, during scheduling, the satellite has a limited total energy, and the energy consumed in executing tasks must comply with energy constraints. Due to the limitations of the onboard storage capacity of satellites, the imaging and data transmission plans of the satellites need to ensure that the observed data stored in the satellite meets the constraints of the storage capacity.
For agile satellites, their attitude maneuverability is stronger, and the selectable time window for ground targets is longer. When observing a target, it is necessary to determine the start and end time of the observation task within the feasible time window. Due to user demands for the quality of the target image, it is necessary to limit the side viewing angle of the satellite during target imaging to avoid issues where the image resolution does not meet user requirements.
This problem can be described as maximizing scheduling benefits by appropriately arranging which satellites will execute the targets observation tasks, the execution times of these observation tasks, which ground stations will receive the satellites’ data downlink tasks, and the execution times of the downlink tasks, all while satisfying the constraints of satellite energy and storage capacity.

2.2. Assumptions

  • Once the satellite’s observation and data transmission activities begin, they must not be interrupted.
  • Each satellite is equipped with only one solid-state storage and battery resource. Without considering the uncertainty of resource consumption such as solid-state storage and batteries on board, the storage capacity and energy of the satellite are limited.
  • The satellite operates in a playback mode, which means it first captures images and then transmits the imaging data to the ground station.
  • Satellites can simultaneously perform imaging and data downlink operations.
  • The attitude transition time of the satellite between two targets is a fixed value. A fixed attitude transition time needs to be satisfied between two data transmission missions from a satellite to different ground stations, and similarly, a fixed transition time needs to be satisfied between two data transmission missions from ground stations to different satellites.
  • Since the energy consumption of satellite attitude maneuvers is relatively small compared to imaging and data transmission missions, the energy consumed by satellite attitude maneuvers is not considered in this study.
  • Each satellite carries only one sensor.
  • Ignoring the factors that affect observation tasks, such as cloud cover, solar angle, and other meteorological conditions.
  • It is necessary to select a satellite with an appropriate side view angle for imaging in order to meet the user’s requirements for the quality of the target image.
Figure 1 shows a diagram of the example scenario.

2.3. MILP Model Formulation

This section establishes a mixed-integer linear programming (MILP) model for the integrated scheduling problem of Earth observation satellite imaging and data transmission. The notations used for parameters in the proposed MILP model are presented in Table 2, and the decision variables of the MILP model are shown in Table 3.
max i , m , k x i , m , k c i
k S m O k x i , m , k 1
j G n O k y i , j , n , k = m O k x i , m , k
i T y i , j , n , k g j , n , k M
x _ t i m e i , k = m O k x i , m , k t i m e i
g _ t i m e j , n , k = i T y i , j , n , k t i m e d i
x _ e n d i , k m O k x i , m , k w e t i , m , k
x _ s t a r t i , k m O k x i , m , k w s t i , m , k
x _ e n d i , k = x _ s t a r t i , k + x _ t i m e i , k
g _ e n d j , n , k g j , n , k w e g j , n , k
g _ s t a r t j , n , k g j , n , k w s g j , n , k
g _ e n d j , n , k = g _ s t a r t j , n , k + g _ t i m e j , n , k
z 1 i 1 , i 2 , k m O k x i 1 , m , k
z 1 i 1 , i 2 , k m O k x i 2 , m , k
z 1 a i , j , n , k m O k x i , m , k
z 1 a i , j , n , k g j , n , k
z 1 b i , j , n , k m O k x i , m , k
z 1 b i , j , n , k g j , n , k
z 1 c j 1 , n 1 , j 2 , n 2 , k g j 1 , n 1 , k
z 1 c j 1 , n 1 , j 2 , n 2 , k g j 2 , n 2 , k
z 1 a i , j , n , k y i , j , n , k
y i , j , n , k = 1 x _ e n d i , k g _ s t a r t j , n , k 0
m O k x i 1 , m , k = 1 ( z 1 i 1 , i 2 , k 1 ) M + x _ e n d i 1 , k g _ s t a r t i 2 , k < 0
m O k x i 1 , m , k = 1 ( z 1 i 1 , i 2 , k 1 ) M + x _ e n d i 1 , k g _ s t a r t i 2 , k M
m O k x i 1 , m , k = 1 ( z 1 a i , j , n , k 1 ) M + x _ e n d i , k g _ s t a r t j , n , k < 0
m O k x i 1 , m , k = 1 ( z 1 a i , j , n , k 1 ) M + x _ e n d i , k g _ s t a r t j , n , k M
g j , n 2 , k = 1 ( z 1 b i , j , n , k 1 ) M + g _ e n d j , n , k x _ s t a r t i , k < 0
g j , n 2 , k = 1 ( z 1 b i , j , n , k 1 ) M + g _ e n d j , n , k x _ s t a r t i , k M
g j 1 , n 1 , k = 1 ( z 1 c j 1 , n 1 , j 2 , n 2 , k 1 ) M + x _ e n d j 1 , n 1 , k g _ s t a r t j 1 , n 1 , k < 0
g j 1 , n 1 , k = 1 ( z 1 c j 1 , n 1 , j 2 , n 2 , k 1 ) M + x _ e n d j 1 , n 1 , k g _ s t a r t j 1 , n 1 , k M
m O k x i 1 , m , k + m O k x i 2 , m , k z 1 i 1 , i 2 , k z 1 i 2 , i 1 , k < = 1
g j 1 , n 1 , k + g j 1 , n 1 , k z 1 c j 1 , n 1 , j 2 , n 2 , k z 1 c j 2 , n 2 , j 1 , n 1 , k < = 1
z 1 i 1 , i 2 , k = 1 p i 1 , i 2 , k = ( x _ t i m e i 1 , k ) m _ u n i t k , 0
z 1 i 1 , i 2 , k = 0 p i 1 , i 2 , k = 0
z 1 a i , j , n , k = 1 p a i , j , n , k = ( x _ t i m e i , k ) m _ u n i t k , 0
z 1 a i , j , n , k = 0 p a i , j , n , k = 0
z 1 b i , j , n , k = 1 p b i , j , n , k = ( g _ t i m e j , n , k ) m _ u n i t k , 1
z 1 b i , j , n , k = 0 p b i , j , n , k = 0
z 1 c j 1 , n 1 , j 2 , n 2 , k = 1 p c j 1 , n 1 , j 2 , n 2 , k = ( g _ t i m e j 1 , n 1 , k ) m _ u n i t k , 1
z 1 c j 1 , n 1 , j 2 , n 2 , k = 0 p c j 1 , n 1 , j 2 , n 2 , k = 0
z 2 n 1 , k 1 , n 2 , k 2 , j g j , n 1 , k 1
z 2 n 1 , k 1 , n 2 , k 2 , j g j , n 2 , k 2
g j , n 1 , k 1 = 1 ( z 2 n 1 , k 1 , n 2 , k 2 , j 1 ) M + g _ e n d j , n 1 , k 1 g _ s t a r t j , n 2 , k 2 < 0
g j , n 1 , k 1 = 1 ( z 2 m , k 1 , n , k 2 , i 1 ) M + g _ e n d i , m , k 1 g _ s t a r t i , n , k 2 M
g j , n 1 , k 1 + g j , n 2 , k 2 z 2 n 1 , k 1 , n 2 , k 2 , j z 2 n 2 , k 2 , n 1 , k 1 , j < = 1
( 1 z 2 n 1 , k 1 , n 2 , k 2 , j ) M + g _ s t a r t j , n 2 , k 2 g _ e n d j , n 1 , k 1 s l e w t g j
( 1 z 1 c j 1 , n 1 , j 2 , n 2 , k ) M + g _ s t a r t j 1 , n 2 , k g _ e n d j 2 , n 2 , k s l e w t s k
( 1 z 1 i 1 , i 2 , k ) M + x _ s t a r t i 2 , k x _ e n d i 1 , k s l t i 1 , i 2 , k
p x _ s t o r a g e i , k = i 1 p i 1 , i , k + j G , n O k p b i , j , n , k
p g _ s t o r a g e j , n , k = i p a i , j , n , k + j 1 G , n 1 O k p c j 1 , n 1 , j , n , k
p x _ s t o r a g e i , k + ( x _ e n d i , k x _ s t a r t i , k ) m _ u n i t k , 0 0
p g _ s t o r a g e j , n , k + ( g _ e n d j , n , k g _ s t a r t j , n , k ) m _ u n i t k , 1 0
p x _ s t o r a g e i , k + ( x _ e n d i , k x _ s t a r t i , k ) m _ u n i t k , 0 M e m o r y k
p g _ s t o r a g e j , n , k + ( g _ e n d j , n , k g _ s t a r t j , n , k ) m _ u n i t k , 1 M e m o r y k
i T x _ t i m e i , k e _ u n i t k , 0 + i G , m O k g _ t i m e i , m , k e _ u n i t k , 1 E n e r g y k
x i , m , k { 0 , 1 }
y i , j , n , k { 0 , 1 }
g j , n , k { 0 , 1 }
Equation (1) is the Objective function, aiming to maximize task benefits. Equation (2) describes the task execution count constraints. Equations (3) and (4) describe the tasking relationship constraints. Equation (5) represents the observation mission time constraints. Equation (6) indicates the data transmission time constraint. Equations (7)–(9) indicate the observation mission time window constraints.
Equations (10)–(12) indicate the time Window Constraints for data transmission Tasks. Equations (13) and (14) represent the constraints on the order of observational tasks. Equations (15)–(18) represent the Observation and data transmission task sequencing constraints. Equations (19) and (20) represent the sequential relationship constraints for on-planet data transmission tasks. Equation (21) indicates the logical relationship between target digitizing assignments and imaging digitizing sequential relationships. Equation (22) indicates the logical relationship between the distribution of target passes and the start and end times of missions.
Equations (23) and (24) indicate the relationship between imaging tasks’ order and start and finish times. Equations (25)–(28) indicate the relationship between imaging and data transmission tasks sequencing and tasks’ start and finish times. Equations (29) and (30) indicate the relationship between the sequence of digital transmission missions on satellites and the start and end times of missions. Equations (31) and (32) indicate that similar missions on satellites may not be carried out simultaneously. Equations (33)–(40) indicate the relationship between the capacity utilization of on-planet tasks and task sequencing.
Equations (41) and (42) indicate the sequencing of tasks at Earth stations. Equations (43)–(45) indicate the relationship between the sequence of data transmission tasks on ground stations and the start and end times of the tasks. Equation (46) indicates the attitude transition time constraints between ground station data transmission missions. Equation (47) indicates the attitude transition time constraints between digital transmission missions on satellites. Equation (48) indicates the attitude transition time constraints between imaging missions on satellites. Equations (49)–(54) indicate the satellite fixed storage capacity constraint. Equation (55) indicates the energy constraint for satellites.

3. CPLEX CP Solver Solution

3.1. CPLEX Solver

CPLEX is a high-performance mathematical optimization solver developed by IBM, widely used in operations research, management science, and engineering fields. It supports modeling and solving various types of problems, including linear programming (LP), integer programming (IP), mixed-integer programming (MIP), and quadratic programming (QP/QCP).
The constraint programming module (Constraint Programming, CP) of CPLEX is one of its important extensions, focusing on solving combinatorial optimization problems with complex logical constraints. Compared to traditional mathematical programming methods, the CP solver is based on constraint propagation and backtracking search mechanisms, allowing for flexible definition and constraint of relationships between variables, and quickly finding optimal or approximate solutions through an automatic solver. This feature makes CPLEX particularly outstanding in fields such as scheduling problems, resource allocation, and logic puzzles.

3.2. MILP Model

In order to test the validity of the model presented in the previous section, this study implements this mixed-integer linear programming model through the opl language of the Cplex solver and implements the CP model form of the model using variables and constraints specific to Cplex’s CP solver.

3.2.1. Using CPLEX Solver

  • dvar boolean x[i in tasks][k in satellites][m in orbits];
  • dvar boolean g[j in stations][k in satellites][n in orbits];
  • dvar int x_time[i in tasks][k in satellites];
  • dvar int g_time[i in stations][k in satellites][m in orbits];
  • dvar boolean y[i in tasks][j in stations][k in satellites][n in orbits];
  • dvar boolean za[i in tasks][j in stations][k in satellites][n in orbits];
  • dvar boolean zb[i in tasks][j in stations][k in satellites][n in orbits];
  • dvar boolean z1[i1 in tasks][i2 in tasks][k in satellites];
  • dvar boolean z1c[k in satellites][j1 in stations][n1 in orbits][j2 in stations][n2 in orbits];
  • dvar boolean z2[j in stations][k1 in satellites][m in orbits][k2 in satellites][n in orbits];
  • dvar int+ x_start[i in tasks][k in satellites];
  • dvar int+ x_end[i in tasks][k in satellites];
  • dvar int+ g_start[i in stations][k in satellites][m in orbits];
  • dvar int+ g_end[i in stations][k in satellites][m in orbits];
  • dvar float+ ux[tasks,satellites];
  • dvar float+ ug[stations,satellites,orbits];
  • dvar float pg[k in satellites][j1 in stations][n1 in orbits][j2 in stations][n2 in orbits];
  • dvar float px[i1 in tasks][i2 in tasks][k in satellites];
  • dvar float pxga[i1 in tasks][j2 in stations][k in satellites][n2 in orbits];
  • dvar float pxgb[i1 in tasks][j2 in stations][k in satellites][n2 in orbits];
  • maximize sum(j in tasks, m in orbits ,k in satellites)(profit[j] *x[j][k][m]);
  • subject to {
  • forall(i in tasks)
  • sum(m in orbits ,k in satellites) x[i][k][m]<=1;
  • forall(i in tasks, k in satellites){
  • sum(n in orbits, j in stations) y[i][j][k][n]==sum(m in orbits) x[i][k][m];}
  • forall(n in orbits, j in stations, k in satellites){
  • sum(i in tasks) y[i][j][k][n] <= g[j][k][n]*tasknum;}
  • forall(i in tasks,k in satellites){
  • x_time[i][k]==sum(m in orbits)x[i][k][m]*duration[i];}
  • forall(j in stations, n in orbits,k in satellites){
  • g_time[j][k][n]==sum(i in tasks)y[i][j][k][n]*utime[i];}
  • forall(i in tasks, k in satellites){
  • x_start[i][k]>=sum(m in orbits)x[i][k][m]*wst[i][k][m];
  • x_end[i][k]<=sum(m in orbits)x[i][k][m]*wet[i][k][m];
  • x_end[i][k]==x_start[i][k]+x_time[i][k];}
  • forall(j in stations, n in orbits,k in satellites){
  • g_end[j][k][n]==g_start[j][k][n]+g_time[j][k][n];
  • g_start[j][k][n]>=g[j][k][n]*wsg[j][k][n];
  • g_end[j][k][n]<=g[j][k][n]*weg[j][k][n];}
  • forall(i1 in tasks,i2 in tasks, k in satellites: i1 != i2){
  • z1[i1][i2][k]<=sum(m in orbits)x[i1][k][m];
  • z1[i1][i2][k]<=sum(m in orbits)x[i2][k][m];
  • sum(m in orbits)x[i1][k][m]+sum(m in orbits)x[i2][k][m]
  • -z1[i1][i2][k]-z1[i2][i1][k]<=1;}
  • forall(i in stations,m in orbits,k in satellites)
  • forall(j in stations, n in orbits: <i,m> != <j,n>){
  • z1c[k][i][m][j][n]<=g[i][k][m];
  • z1c[k][i][m][j][n]<=g[j][k][n];
  • g[i][k][m]+g[j][k][n]-z1c[k][i][m][j][n]-z1c[k][j][n][i][m]<=1;}
  • forall(i1 in tasks, k in satellites)
  • forall(j in stations, n in orbits){
  • za[i1][j][k][n]<=sum(m in orbits)x[i1][k][m];
  • za[i1][j][k][n]<=g[j][k][n];
  • zb[i1][j][k][n]<=sum(m in orbits)x[i1][k][m];
  • zb[i1][j][k][n]<=g[j][k][n];}
  • forall(i1 in tasks, k in satellites)
  • forall(j in stations, n in orbits){
  • za[i1][j][k][n]>=y[i1][j][k][n];}
  • forall(i in tasks, k in satellites)
  • forall(j in tasks){
  • (x_end[i][k]-x_start[j][k]<=s && sum(m in orbits)x[i][k][m]==1)=>(z1[i][j][k]==1);
  • (x_end[i][k]-x_start[j][k]>=0 && sum(m in orbits)x[i][k][m]==1)=>(z1[i][j][k]==0);}
  • forall(i in tasks, k in satellites)
  • forall(j in stations, n in orbits){
  • (x_end[i][k]-g_start[j][k][n]<=s &&
  • sum(m in orbits)x[i][k][m]==1)=>(za[i][j][k][n]==1);
  • (x_end[i][k]-g_start[j][k][n]>=0 &&
  • sum(m in orbits)x[i][k][m]==1)=>(za[i][j][k][n]==0);
  • (g_end[j][k][n]-x_start[i][k]<=s && g[j][k][n]==1)=>(zb[i][j][k][n]==1);
  • (g_end[j][k][n]-x_start[i][k]>=0 && g[j][k][n]==1)=>(zb[i][j][k][n]==0);}
  • forall(i in stations,m in orbits, k in satellites)
  • forall(j in stations, n in orbits){
  • (g_end[i][k][m]-g_start[j][k][n]<=s && g[i][k][m]==1)=>(z1c[k][i][m][j][n]==1);
  • (g_end[i][k][m]-g_start[j][k][n]>=0 && g[i][k][m]==1)=>(z1c[k][i][m][j][n]==0);}
  • forall(i in stations, m in orbits,k in satellites)
  • forall(j in stations, n in orbits){
  • (z1c[k][i][m][j][n]==1)=>(pg[k][i][m][j][n]==g_time[i][k][m]*umemory[k][1]);
  • (z1c[k][i][m][j][n]==0)=>(pg[k][i][m][j][n]==0);}
  • forall(i in tasks, k in satellites)
  • forall(j in tasks){
  • (z1[i][j][k]==1)=>(px[i][j][k]==x_time[i][k]*umemory[k][0]);
  • (z1[i][j][k]==0)=>(px[i][j][k]==0);}
  • forall(i in tasks, k in satellites)
  • forall(j in stations, n in orbits){
  • (za[i][j][k][n]==1)=>(pxga[i][j][k][n]==x_time[i][k]*umemory[k][0]);
  • (za[i][j][k][n]==0)=>(pxga[i][j][k][n]==0);
  • (zb[i][j][k][n]==1)=>(pxgb[i][j][k][n]==g_time[j][k][n]*umemory[k][1]);
  • (zb[i][j][k][n]==0)=>(pxgb[i][j][k][n]==0);}
  • forall(i in tasks,k in satellites){
  • ux[i][k]==(sum(j in tasks) px[j][i][k])-
  • (sum(j in stations, m in orbits) pxgb[i][j][k][m])+x_time[i][k]*umemory[k][0];
  • ux[i][k]<=memory[k];
  • ux[i][k]>=0;}
  • forall(i in stations, m in orbits,k in satellites){
  • ug[i][k][m]==(sum(j in tasks) pxga[j][i][k][m])-
  • (sum(j in stations, m1 in orbits)pg[k][j][m1][i][m])-g_time[i][k][m]*umemory[k][1];
  • ug[i][k][m]<=memory[k];
  • ug[i][k][m]>=0;}
  • forall(i in stations,m in orbits,k1 in satellites)
  • forall(k2 in satellites, n in orbits:k1!=k2){
  • z2[i][k1][m][k2][n]<=g[i][k1][m];
  • z2[i][k1][m][k2][n]<=g[i][k2][n];
  • g[i][k1][m]+g[i][k2][n]-z2[i][k1][m][k2][n]-z2[i][k2][n][k1][m]<=1;}
  • forall(i in stations,m in orbits, k1 in satellites)
  • forall(k2 in satellites, n in orbits){
  • (g_end[i][k1][m]-g_start[i][k2][n]>=0 && g[i][k1][m]==1)=>(z2[i][k1][m][k2][n]==0);
  • (g_end[i][k1][m]-g_start[i][k2][n]<=s && g[i][k1][m]==1)=>(z2[i][k1][m][k2][n]==1);}
  • forall(i in stations,m in orbits,k1 in satellites)
  • forall(k2 in satellites, n in orbits){
  • (z2[i][k1][m][k2][n]==1)=>(g_start[i][k2][n]-g_end[i][k1][m]>=slewt[i]);}
  • forall(i in stations,m in orbits,k in satellites)
  • forall(j in stations, n in orbits){
  • (z1c[k][i][m][j][n]==1)=>(g_start[j][k][n]-g_end[i][k][m]>=slewtime1[k]);}
  • forall(i in tasks, k in satellites)
  • forall(j in tasks){
  • (z1[i][j][k]==1)=>(x_start[j][k]-x_end[i][k]>=slewtime[i][j][k]);}
  • forall(k in satellites){
  • sum(i in tasks)((x_time[i][k])*uenergy[k][0])+
  • sum(i in stations, m in orbits)((g_time[i][k][m])*uenergy[k][1])<=energy[k];}
  • }

3.2.2. Using CP Solver

In the CPLEX constraint programming solver, for time window constraints, “interval” and “sequence” data types can be used to describe time windows and sequences of time windows. The “noOverlap” function can be employed to ensure that the execution times of tasks on the same satellite do not overlap, as well as to impose constraints on attitude transition times.
  • dvar boolean x[i in tasks][k in satellites][m in orbits];
  • dvar boolean y[i in tasks][j in stations][k in satellites][n in orbits];
  • dvar interval x_val[j in tasks][k in satellites] optional size duration[j];
  • dvar interval g_val[i in stations][k in satellites][m in orbits] optional in wsg[i][k][m]..weg[i][k][m];
  • dvar interval y_val[i in tasks][j in stations][k in satellites][m in orbits] optional size utime[i];
  • dvar sequence x_seq[k in satellites] in all (j in tasks) x_val[j][k];
  • dvar sequence y_seq[k in satellites] in all (i in tasks, j in stations, m in orbits) y_val[i][j][k][m];
  • dvar sequence g_seq[j in stations] in all (i in tasks, m in orbits, k in satellites) y_val[i][j][k][m];
  • dvar sequence d_seq[j in stations] in all (m in orbits, k in satellites) g_val[j][k][m];
  • cumulFunction storageUsage[k in satellites] =
  • sum(i in tasks) stepAtStart(x_val[i][k], umemory[k][1] * duration[i])
  • - sum(j in stations, i in tasks, m in orbits) stepAtStart(y_val[i][j][k][m],
  • umemory[k][2] * utime[i]);
  • cumulFunction energyUsage[k in satellites] =
  • sum(i in tasks) stepAtStart(x_val[i][k], uenergy[k][1] * duration[i])
  • + sum(j in stations, i in tasks, m in orbits) stepAtStart(y_val[i][j][k][m],
  • uenergy[k][2] * utime[i]);
  • maximize sum(j in tasks, m in orbits ,k in satellites) (profit[j] *x[j][k][m]);
  • subject to {
  • forall(i in tasks){
  • sum(m in orbits ,k in satellites) x[i][k][m] <= 1;}
  • forall(i in tasks){
  • sum(n in orbits, j in stations, k in satellites) y[i][j][k][n] <= 1;}
  • forall(i in tasks, k in satellites){
  • sum(n in orbits, j in stations) y[i][j][k][n] >= sum(m in orbits) x[i][k][m];}
  • forall(i in tasks, j in stations, m in orbits, k in satellites){
  • y[i][j][k][m] == presenceOf(y_val[i][j][k][m]);}
  • forall(i in tasks,k in satellites){
  • sum(m in orbits)x[i][k][m] == presenceOf(x_val[i][k]);}
  • forall(i in tasks, k in satellites){
  • startOf(x_val[i][k])>=sum(m in orbits)x[i][k][m]*wst[i][k][m];
  • endOf(x_val[i][k])<=sum(m in orbits)x[i][k][m]*wet[i][k][m];}
  • forall(i in tasks, j in stations, m in orbits, k in satellites){
  • endBeforeStart(x_val[i][k], y_val[i][j][k][m]);
  • (y[i][j][k][m] == 1) => ( endOf(x_val[i][k]) <= startOf(g_val[j][k][m]) );}
  • forall(j in stations, m in orbits, k in satellites)
  • span(g_val[j][k][m], all(i in tasks) y_val[i][j][k][m]);
  • forall(k in satellites) storageUsage[k] <= memory[k];
  • forall(k in satellites) energyUsage[k] <= energy[k];
  • forall(k in satellites) noOverlap(y_seq[k]);
  • forall(j in stations) noOverlap(g_seq[j]);
  • forall(j in stations) noOverlap(d_seq[j]);
  • forall(k in satellites) noOverlap(x_seq[k], Setup[k]);
  • forall(k in satellites){
  • forall(j1 in stations, m1 in orbits, j2 in stations, m2 in orbits : j1 != j2){
  • (presenceOf(g_val[j1][k][m1]) && presenceOf(g_val[j2][k][m2])) =>
  •  abs(endOf(g_val[j1][k][m1])-startOf(g_val[j2][k][m2])) >= slewtime1[k];
  • (presenceOf(g_val[j1][k][m1]) && presenceOf(g_val[j2][k][m2])) =>
  •  abs(endOf(g_val[j2][k][m2])-startOf(g_val[j1][k][m1])) >= slewtime1[k];}}
  • forall(j in stations){
  • forall(k1 in satellites, m1 in orbits, k2 in satellites, m2 in orbits : k1 != k2){
  • (presenceOf(g_val[j][k1][m1]) && presenceOf(g_val[j][k2][m2])) =>
  •  abs(endOf(g_val[j][k1][m1])-startOf(g_val[j][k2][m2])) >= slewt[j];
  • (presenceOf(g_val[j][k1][m1]) && presenceOf(g_val[j][k2][m2])) =>
  •  abs(endOf(g_val[j][k2][m2])-startOf(g_val[j][k1][m1])) >= slewt[j];}}
  • }
By utilizing the special variable types and built-in constraint functions of the CP solver, it is possible to model the original mixed-integer linear programming problem conveniently and solve it conveniently using the solver.

4. Rule-Based Large Neighborhood Search Algorithm (RLNS)

The solution space of this problem is vast, and due to the presence of various constraints, the feasible region of the solutions is highly complex. Traditional exact solving methods struggle to address such problems; therefore, it is necessary to design heuristic algorithms, and a Rule-based Large Neighborhood Search algorithm (RLNS) is designed.

4.1. Algorithm Description

Since the problem itself involves multiple levels of task allocation and scheduling of task execution time, when defining the solution to the problem, both task allocation and the scheduling of start times are treated as variables.
Due to the complex logical constraints of the problem, it is necessary to design different neighborhood operators for different levels of the problem. For various neighborhood operators, a roulette wheel-based operator selection method is employed, and the operator scores are updated in each iteration to continuously adjust the selection probabilities of the operators, thereby enhancing the convergence of the algorithm.

4.2. Heuristic Rules and Various Operators

The implementation of this search algorithm relies on various heuristic rules and forms multiple types of operators based on these rules.

4.2.1. Construction of the Initial Solution

Based on the random allocation scheme for satellites and ground stations, the initial solution construction operator is designed according to the start time of the time window and suitable timing, following the precedence rules for scheduling, which is shown in Figure 2.

4.2.2. Task Allocation Random Perturbation Operator

Task allocation random disturbance operator is based on the taboo degree table. For the allocation matrix of targets to satellites and ground stations, a simple approach is to compare the initial allocation matrix with the final allocation matrix after conflict resolution. A taboo value is set for the allocation methods of targets that have been canceled after conflict resolution, in order to avoid such allocations as much as possible. The taboo values used here are not binary (0–1), but numerical. Each time when allocating satellites and ground stations to each target, the allocation scheme with the smallest taboo value is preferentially selected. As shown in Algorithm 1.
Algorithm 1 Task Allocation Disturbance
Require: Task Allocation Matrix: m a t r i x _ x , Taboo List: t a s k _ t a b o o
Ensure: new Task Allocation Matrix: m a t r i x _ x
 1:
while  s i z e _ o f ( t a s k _ i n d e x s ) m  do
 2:
       t a s k _ i n d e x d i s ( )
 3:
       t a s k _ i n d e x s . p u s h _ b a c k ( t a s k _ i n d e x )
 4:
end while
 5:
while  i m  do
 6:
       n e w _ s a t _ i n d e x s e l e c t _ p o s i o n _ w i t h _ t a b o o ( t a s k _ t a b o o )
 7:
       m a t r i x _ x [ t a s k _ i n d e x s [ i ] ] [ n e w _ s a t _ i n d e x ] 1
 8:
       m a t r i x _ x [ t a s k _ i n d e x s [ i ] ] [ s a t _ i n d e x ] 0
 9:
end while

4.2.3. Random Perturbation Operator for Observation Task Sequences

Observation Task Sequence Random Perturbation Operators: In situations where it is necessary to adjust the execution order of satellite observation tasks, operators for swapping and deleting-inserting have been designed. These operators can swap the execution order of two tasks in the queue or remove a task’s execution order from the queue and then simply insert it at the beginning or end of the queue. Before executing the perturbation operators, it is important to reinsert any tasks that were not successfully executed at the end of the sequence to avoid the perturbation of the sequence from failing to find a better task sequence. As shown in Algorithm 2.
Algorithm 2 Sequence Perturbation
Require: Observation Tasks Sequences: s e q u e n c e s
Ensure: new Observation Tasks Sequences: s e q u e n c e s
       n u m d i s ( ) % s i z e _ o f ( s e q u e n c e s )
 2:
while  i n u m  do
       i d x 1 d i s ( ) , i d x 2 d i s ( )
 4:
       s w a p ( s e q u e n c e s [ i d x 1 ] , s e q u e n c e [ i d x 2 ] )
end while

4.2.4. Observation Task Scheduling Operator Based on Target Allocation Scheme

The Observation Task Scheduling Operator is based on the target allocation scheme. Once the allocation scheme for observation targets is known, the scheduling of task start and end times is carried out according to the rule of observing targets in the order of their arrival, as shown in Algorithm 3. In this algorithm, there are many customized symbols, and the meanings are as follows: the timenode is a structure that stores the corresponding mission and satellite numbers for each time window, with the window start time being wst and the end time being wet, which means that i.wst means the wst of timewindow i; is_scheduled is a 0–1 array of the size of the number of tasks to record whether each task has been successfully scheduled during the scheduling process.
Algorithm 3 Observation Task Scheduling
Require: Observation Tasks Allocations: m a t r i x _ x
Ensure: Observation Tasks Scheduling Scheme: i s _ s c h e d u l e d ▹ also contains other
       informations such as starttime, endtime et al.
       if  m a t r i x _ x = = 1  then
        t i m e N o d e s . p u s h _ b a c k ( t i m e n o d e )
 3:
end if
s o r t ( t i m e N o d e s . b e g i n ( ) , t i m e N o d e s . e n d ( ) )
i s _ s c h e d u l e d [ ] 0
 6:
while  i s i z e _ o f ( t i m e N o d e s )  do
     if  t i m e N o d e s [ i ] . e n d t i m e > t e m p t i m e && i s _ s c h e d u l e d [ t i m e N o d e s [ i ] . t a s k ] 1  then
            x _ s t a r t [ t i m e N o d e s [ i ] . t a s k ] m a x { t i m e N o d e s [ i ] . e n d t i m e , t e m p t i m e + s l e w t i m e }
 9:
            t e m p t i m e x _ e n d [ t i m e N o d e s [ i ] . t a s k ]
            i s _ s c h e d u l e d [ t i m e N o d e s [ i ] . t a s k ] 1
     end if
12:
end while

4.2.5. Onboard Data First-Come-First-Served Transmission Operator

An on-orbit data transmission tasks scheduling operator is based on the target data transmission allocation scheme and the observation task scheduling results: after determining the allocation scheme for the target ground station, the satellite observation task scheduling results are combined to downlink satellite data according to the first-come, first-served rule, while satisfying the logical constraints of observation and data transmission. When determining the transmission time for each data transmission opportunity, the observation end time of the corresponding targets that have been observed but not yet transmitted is used to sequentially select the targets that need to be transmitted, ensuring that the difference between the end time of the time window and the start time of the transmission does not exceed the specified limit, as shown in Algorithm 4.
Algorithm 4 Observation Task Scheduling
Require: Transmission Tasks Allocations: m a t r i x _ y
Ensure: Transmission Tasks Scheduling Scheme: i s _ d o w n l o a d e d ▹ also contains other
    informations such as starttime, endtime et al.
    if  m a t r i x _ y = = 1  then
         t i m e N o d e s . p u s h _ b a c k ( t i m e n o d e )
    end if
 4:
s o r t ( t i m e N o d e s . b e g i n ( ) , t i m e N o d e s . e n d ( ) )
i s _ s c h e d u l e d [ ] 0
while  i s i z e _ o f ( t i m e N o d e s )  do
      if  t i m e N o d e s [ i ] . e n d t i m e > s a t _ t e m p t i m e && t i m e N o d e s [ i ] . e n d t i m e > s t a _ t e m p t i m e
then
 8:
          g _ s t a r t [ t i m e N o d e s [ i ] . s t a ]     m a x { t i m e N o d e s [ i ] . e n d t i m e , s a t _ t e m p t i m e   +
s a t _ s l e w t i m e , s t a _ t e m p t i m e + s t a _ s l e w t i m e }
         while  d u r a t i o n m a x _ d u r a t i o n && j n  do
               if  x _ e n d [ j ] > t e m p t i m e && i s _ d o w n l o a d e d [ j ] 1  then
                   d u r a t i o n d u r a t i o n + d t i m e [ j ]
12:
                   i s _ d o w n l o a d e d [ t i m e N o d e s [ i ] . t a s k ] 1
               end if
         end while
          s a t _ t e m p t i m e g _ e n d [ t i m e N o d e s [ i ] . s a t ]
16:
          s t a _ t e m p t i m e g _ e n d [ t i m e N o d e s [ i ] . s t a ]
      end if
end while

4.2.6. Sequence-Based Observation Tasks Scheduling Algorithm

The observation tasks scheduling operator is based on task sequences: after perturbing the task sequence, it is necessary to arrange the start and end times of observation tasks according to the new task sequence. When scheduling the times, the observation tasks are arranged in the order of execution, and for each task, the start time of the observation is scheduled according to the arrival order of the time windows, while ensuring that the observation tasks do not overlap, as shown in Figure 3.

4.2.7. Repair Algorithms Based on Onboard Capacity Constraints and Satellite Energy Constraints

The Repair Operator is based on onboard capacity constraints and satellite energy constraints: after completing the task scheduling scheme for the satellite and ground station, it is also necessary to calculate the fixed capacity limitations of the satellite while performing observation tasks. If there are task schedules that do not meet the capacity constraints, adjustments to the scheduling scheme are required. To reduce the computational complexity of the repair operator, a method of eliminating conflicting tasks is employed to repair the original scheduling scheme. In addition to verifying the satellite’s fixed capacity, it is also necessary to examine the satellite’s energy consumption. If the satellite’s energy consumption exceeds its maximum energy limit, adjustments to the scheduling plan are required. To minimize the impact of these adjustments on the original plan, a simple method of canceling the last executed observation tasks is employed until the satellite’s energy constraints are satisfied, as shown in Figure 4.

4.3. Process of the RLNS

The process of the large neighborhood search algorithm based on constraint information is shown in Figure 5.
In the iterative framework of the algorithm, a reference is made to the Metropolis criterion of the simulated annealing algorithm to enhance the search efficiency of the algorithm.

5. Genetic Algorithms (GA)

Through the analysis we found that due to the high coupling of the scheduling schemes of the imaging and digital transmission tasks in this integrated scheduling problem, the destruction and repair operators of the designed RLNS are relatively simple and the solution effect is relatively limited; therefore, the population-based genetic algorithm is designed on the basis of the multiple rule operators of the RLNS.

5.1. Algorithm Description

In the RLNS, task start scheduling is performed by a simple first-come-first-scheduled rule. This single heuristic rule could potentially lead to optimal solutions that cannot be found by neighborhood search.
As shown in Figure 6, if only the first-come-first-served rule is followed, goal 2 will not be scheduled; however, it may be possible to adjust the execution time of goal 1 backward so that goal 2 can also be executed.
As shown in Figure 7, if only the first-come-first-served rule is followed, Satellite 2 will not be able to perform the observation as planned due to insufficient on-board fixed memory capacity during the observation mission.

5.2. Algorithm Design

In order to realize the perturbation of the first-come-first-schedule rule based on the time window sequence and achieve better search results, the operators of the genetic algorithm are designed as the perturbation of the task sequence on the satellite and the perturbation of the time window timing sequence between the satellite and the ground station.
For mission sequences on satellites, neighborhood perturbation can be achieved by exchanging the sequential order between different segments, and exchanging mission sequence segments on different satellites, as shown in Figure 8.
For the perturbation of the time sequence of the time window between the satellite and the ground station, it is possible to adopt the method of randomly selecting the perturbation position, and exchanging the time sequence between the time window of the perturbation position and the next window immediately adjacent to it.
For other aspects of the design of the genetic algorithm, the new population selects individuals from the parent population for chromosome crossover operations (chromosome crossover operations in this case are exchanging the assignments and sequences of observational targets to satellites or assignments to ground stations on different solutions, as well as the sequence of adjustments to the time window of the satellite and ground stations) and mutation operations by means of a tournament selection method. The optimal individuals from the previous generation of the population are retained each time the offspring population is generated, as shown in Figure 9.

6. Simulation Experiments and Results

This section conducts simulation experiments of varying scales.

6.1. Data Description

The various parameters of the simulation data are as follows: The satellite parameters (from the orbital parameters of the SuperView-1 series satellites) are shown in Table 4.
The satellite sensor type is rectangular, with a vertical half-angle of the field of view of 30° and a horizontal half-angle of 5°. Other satellite parameters are shown in Table 5.
The observation targets are a group of targets with an average distribution centered around five points within China, with latitude and longitude differences ranging from −10° to 10°. The coordinates of the five central points are shown in Table 6.
The five ground stations selected are located within China, with the following latitude and longitude information shown in Table 7.
The priority of the targets is a random integer between 1 and 5.
The observation time for each target is 10, and the transmission time is 20.
To simplify the complexity of the simulation, we randomly assign the transition time between observation tasks as an integer within the range of 1 to 10. The attitude maneuver of the satellite or the stations both consume 1 unit of energy per second.

6.2. Problem Scenario Visualization

Based on the above assumptions, the problem scenarios focused on in this study are as shown in Figure 10 and Figure 11.

6.3. Analysis of the Results

The exact solution experiment was implemented using the CPLEX 12.9 Studio, while the heuristic algorithm solution experiment was implemented using C++ language. Both experiments were run on a personal computer with an AMD Ryzen Threadripper PRO 5975WX 32-Cores 3.60 GHz processor, 32.0 GB (31.8 GB available) of memory, and the operating system Windows 10.
The experimental results are shown in Figure 12, Figure 13 and Figure 14.
As shown in Figure 15. The experimental results for solvers and algorithms are shown in Table 8.
The solution of CPLEX is not the optimal solution when the target scale is greater than 50, but a truncated solution according to the set time limit.

7. Discussion

Through the experimental results we found the following:
As the problem size increases, the solution time of the cplex solver increases exponentially with the problem size. And, when the problem exceeds a certain size, the solver has difficulty in finding a feasible solution within an acceptable time frame. For small-scale problems, the solution performance of the cplex solver is not much different from that of the cp solver when resources are more abundant, while for resource-constrained cases, the cplex solver is able to find the optimal solution faster without having to explore all the branches as much as possible, as in the case of the cp solver.
Rule-based algorithms for large neighborhoods converge better, but have limited effectiveness in finding optimal results for large-scale problems. Neighborhood updates by large neighborhood search algorithms to explore to a better solution during neighborhood search occur more often on the task reassignment operator than on the task sequence perturbation operator, which may reflect the significant advantage of the first-come-first-scheduled rule for stochastic task sequences.
Genetic algorithms have a better ability to find the optimal based on the heuristic rules of the large neighborhood algorithms, but for the case of tight resource constraints, the solution effect is not satisfactory enough; when the size of the problem increases, the solution performance of genetic algorithms is better than that of the neighborhood search algorithms. Meanwhile, during the experiments we found that the genetic algorithm is prone to premature maturity, where the algorithm has found a better solution under the heuristic rule in the first generation, while it is unable to find a better neighborhood solution in the subsequent iterations of the optimization search process.
Current rule-based operators fall short in the explorability of neighborhood spaces: first of all, the rules of the repair operator designed in this paper are too simple, and there may be cases where the optimal solution cannot be searched. This is especially so when the satellite is executing imaging and digital transmission tasks at the same time; if the satellite’s fixed memory capacity at this time cannot satisfy the current observation task, then according to the rules in this paper, this task will not be successfully executed in the current task sequence. However, if the current mission can be moved backward for a certain period of time within the range allowed by the time window, after the satellite completes the current digital transmission mission, there will be possible memory space to realize the current observation mission, as shown in Figure 16. Therefore, in order to achieve better search results and avoid the optimal solution being unreachable, the execution start time of tasks in the task scheme can be designed to be locally adjusted based on the execution time of the tasks, instead of the current simple sequence-based neighborhood operator.

8. Conclusions

In this paper, the integrated scheduling problem for parallel imaging and data transmission of agile Earth observation satellites is explored, considering sliding time window and ground station resource constraints, as well as satellite energy and memory capacity constraints. To solve the problem, the RLNS algorithm is first proposed and a genetic algorithm is designed on the basis of its operator design, and the solution performance of these two algorithms is compared with that of the cplex and cp solvers through simulation experiments to verify the effectiveness of the algorithms.
By analyzing the neighborhood space of the algorithm, we found that some parts of the neighborhood space that could potentially lead to better solution results were discarded due to the use of certain heuristic rules. This leads to the limited effectiveness of the heuristics proposed in this paper. Cplex performs well and is fast when dealing with small-scale problems. However, its performance is limited when dealing with larger scale problems, whereas the heuristics are faster in searching and can produce better solution results for larger scale problems. For this problem, possible future algorithmic improvements are to relax the heuristic rules for data transfer scheduling and the neighborhood search for imaging and digitizing task start times, or to use advanced heuristic information such as the degree of temporal slack in the time window in which the task is located, and the degree of satellite on-board fixed memory capacity slack to guide the neighborhood search.

Author Contributions

Conceptualization, G.Y. and K.Z.; Data curation, G.Y.; Formal analysis, G.Y.; Funding acquisition, K.Z.; Investigation, G.Y. and K.Z.; Methodology, G.Y.; Project administration, G.Y.; Resources, G.Y.; Software, G.Y.; Supervision, K.Z.; Validation, G.Y. and K.Z.; Visualization, G.Y.; Writing—original draft, G.Y.; Writing—review and editing, K.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Science and Technology Innovation Program of Hunan Province (Grant No. 2022RC1241).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All data used in this study were presented in this paper.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
MILPThree mixed-integer linear programming
RLNSRule-based Large Neighborhood Search Algorithm
GAGenetic Algorithm

References

  1. He, R. Research on the Scheduling Problem of Imaging Reconnaissance Satellites. Ph.D. Thesis, National University of Defense Technology, Changsha, China, 2004. (In Chinese). [Google Scholar]
  2. Wang, J. Research on the Scheduling Problem of Optical Earth Observation Satellites under Uncertain Cloud Conditions. Ph.D. Thesis, National University of Defense Technology, Changsha, China, 2015. (In Chinese). [Google Scholar]
  3. Cordeau, J.F.; Laporte, G. Maximizing the value of an earth observation satellite orbit. J. Oper. Res. Soc. 2005, 56, 962–968. [Google Scholar] [CrossRef]
  4. Barbulescu, L.; Howe, A.; Whitley, D. AFSCN scheduling: How the problem and solution have evolved. Math. Comput. Model. 2006, 43, 1023–1037. [Google Scholar] [CrossRef]
  5. Sarkheyli, A.; Bagheri, A.; Ghorbani-Vaghei, B.; Askari-Moghadam, R. Using an effective tabu search in interactive resources scheduling problem for LEO satellites missions. Aerosp. Sci. Technol. 2013, 29, 287–295. [Google Scholar] [CrossRef]
  6. Gabrel, V.; Vanderpooten, D. Enumeration and interactive selection of efficient paths in a multiple criteria graph for scheduling an earth observing satellite. Eur. J. Oper. Res. 2002, 139, 533–542. [Google Scholar] [CrossRef]
  7. Pemberton, J.C.; Galiber, F. A constraint-based approach to satellite scheduling. In Constraint Programming and Large Scale Discrete Optimization. DIMACS Workshop; American Mathematical Society: Providence, RI, USA, 2001. [Google Scholar]
  8. Bianchessi, N.; Righini, G. A mathematical programming algorithm for planning and scheduling an earth observing SAR constellation. In Proceedings of the International Workshop on Planning and Scheduling for Space, Baltimore, MD, USA, 22–25 October 2006. [Google Scholar]
  9. Bianchessi, N.; Righini, G. Planning and scheduling algorithms for the COSMO-SkyMed constellation. Aerosp. Sci. Technol. 2008, 12, 535–544. [Google Scholar] [CrossRef]
  10. Li, J.; Tan, Y. Model and Solution for the Receiving and Transmitting Problem in the Overall Scheduling of Satellite Observation Systems. Syst. Eng.-Theory Pract. 2004, 24, 65–71. (In Chinese) [Google Scholar]
  11. Wang, J. Research on Integrated Task Scheduling Models and Optimization Methods for Imaging Satellites. Ph.D. Thesis, National University of Defense Technology, Changsha, China, 2007. (In Chinese). [Google Scholar]
  12. Jin, P.; Wang, C.; Xia, W.; Yang, B.; Tang, H. Onsideration of Two-Stage Emergency Task Planning for Satellite Command Injection. J. Syst. Eng. Electron. 2019, 41, 810–818. (In Chinese) [Google Scholar]
  13. Wang, P. Research on Integrated Scheduling Methods for Multiple Satellites and Ground Stations Based on Branch Pricing; National University of Defense Technology: Changsha, China, 2011. (In Chinese) [Google Scholar]
  14. Du, Y.; Xing, L.; Chen, Y.; Wang, L.; Ren, T. Integrated agile observation satellite scheduling problem considering different memory environments: A case study. J. Braz. Soc. Mech. Sci. Eng. 2020, 42, 76. [Google Scholar] [CrossRef]
  15. Sun, H.; Xia, W.; Wang, Z.; Hu, X. Agile earth observation satellite scheduling algorithm for emergency tasks based on multiple strategies. J. Syst. Sci. Syst. Eng. 2021, 30, 626–646. [Google Scholar] [CrossRef]
  16. Hu, X.; Zhu, W.; An, B.; Jin, P.; Xia, W. A branch and price algorithm for EOS constellation imaging and downloading integrated scheduling problem. Comput. Oper. Res. 2019, 104, 74–89. [Google Scholar] [CrossRef]
  17. Waiming, Z.; Xiaoxuan, H.; Wei, X.; Peng, J. A two-phase genetic annealing method for integrated earth observation satellite scheduling problems. Soft Comput. 2019, 23, 181–196. [Google Scholar] [CrossRef]
  18. Chen, Y.; Lu, J.; He, R.; Ou, J. An efficient local search heuristic for earth observation satellite integrated scheduling. Appl. Sci. 2020, 10, 5616. [Google Scholar] [CrossRef]
  19. Kim, C.H.; Kim, S.J.; Choi, H.L. Optimal Integrated Scheduling of Observation and Download Tasks for Multiple Satellites with Memory Constraints. In Proceedings of the 2024 IEEE 20th International Conference on Automation Science and Engineering (CASE), Bari, Italy, 28 August–1 September 2024; IEEE: Piscataway, NJ, USA, 2024; pp. 2287–2294. [Google Scholar]
  20. Lee, M.; Yu, S.; Kwon, K.; Lee, M.; Lee, J.; Kim, H. Mixed-integer linear programming model for scheduling missions and communications of multiple satellites. Aerospace 2024, 11, 83. [Google Scholar] [CrossRef]
  21. Zhang, J.; Xing, L. An improved genetic algorithm for the integrated satellite imaging and data transmission scheduling problem. Comput. Oper. Res. 2022, 139, 105626. [Google Scholar] [CrossRef]
  22. He, C.; Dong, Y. Multi-Satellite Observation-Relay Transmission-Downloading Coupling Scheduling Method. Remote Sens. 2023, 15, 5639. [Google Scholar] [CrossRef]
Figure 1. Diagram of the example scenario.
Figure 1. Diagram of the example scenario.
Algorithms 18 00418 g001
Figure 2. Flowchart of the construction of the initial solution.
Figure 2. Flowchart of the construction of the initial solution.
Algorithms 18 00418 g002
Figure 3. Flowchart of sequence-based observation tasks scheduling Algorithm.
Figure 3. Flowchart of sequence-based observation tasks scheduling Algorithm.
Algorithms 18 00418 g003
Figure 4. Flowchart of repair algorithm.
Figure 4. Flowchart of repair algorithm.
Algorithms 18 00418 g004
Figure 5. Flowchart of the large neighborhood search algorithm based on constraint information.
Figure 5. Flowchart of the large neighborhood search algorithm based on constraint information.
Algorithms 18 00418 g005
Figure 6. Graph of the adjustments to the sequence of tasks.
Figure 6. Graph of the adjustments to the sequence of tasks.
Algorithms 18 00418 g006
Figure 7. Graph of the adjustments to the sequence of time windows for stations.
Figure 7. Graph of the adjustments to the sequence of time windows for stations.
Algorithms 18 00418 g007
Figure 8. Diagram of an operator.
Figure 8. Diagram of an operator.
Algorithms 18 00418 g008
Figure 9. Flowchart of Genetic Algorithm (GA).
Figure 9. Flowchart of Genetic Algorithm (GA).
Algorithms 18 00418 g009
Figure 10. (a) Description of time windows for case10. (b) Description of time windows for case20.
Figure 10. (a) Description of time windows for case10. (b) Description of time windows for case20.
Algorithms 18 00418 g010
Figure 11. (a) Description of time windows for case30. (b) Description of time windows for case40. (c) Description of time windows for case50. (d) Description of time windows for case100. (e) Description of time windows for case150. (f) Description of time windows for case200.
Figure 11. (a) Description of time windows for case30. (b) Description of time windows for case40. (c) Description of time windows for case50. (d) Description of time windows for case100. (e) Description of time windows for case150. (f) Description of time windows for case200.
Algorithms 18 00418 g011
Figure 12. (a) Description of scheduling shcheme for case10 in RLNS. (b) Description of scheduling shcheme for case20 in RLNS. (c) Description of scheduling shcheme for case30 in RLNS. (d) Description of scheduling shcheme for case40 in RLNS. (e) Description of scheduling shcheme for case50 in RLNS. (f) Description of scheduling shcheme for case100 in RLNS.
Figure 12. (a) Description of scheduling shcheme for case10 in RLNS. (b) Description of scheduling shcheme for case20 in RLNS. (c) Description of scheduling shcheme for case30 in RLNS. (d) Description of scheduling shcheme for case40 in RLNS. (e) Description of scheduling shcheme for case50 in RLNS. (f) Description of scheduling shcheme for case100 in RLNS.
Algorithms 18 00418 g012
Figure 13. Diagraph algorithm convergence for RLNS.
Figure 13. Diagraph algorithm convergence for RLNS.
Algorithms 18 00418 g013
Figure 14. (a) Description of scheduling shcheme for case10 in GA. (b) Description of scheduling shcheme for case20 in GA. (c) Description of scheduling shcheme for case30 in GA. (d) Description of scheduling shcheme for case40 in GA. (e) Description of scheduling shcheme for case50 in GA. (f) Description of scheduling shcheme for case100 in GA. (g) Description of scheduling shcheme for case150 in GA. (h) Description of scheduling shcheme for case300 in GA.
Figure 14. (a) Description of scheduling shcheme for case10 in GA. (b) Description of scheduling shcheme for case20 in GA. (c) Description of scheduling shcheme for case30 in GA. (d) Description of scheduling shcheme for case40 in GA. (e) Description of scheduling shcheme for case50 in GA. (f) Description of scheduling shcheme for case100 in GA. (g) Description of scheduling shcheme for case150 in GA. (h) Description of scheduling shcheme for case300 in GA.
Algorithms 18 00418 g014aAlgorithms 18 00418 g014b
Figure 15. Line Chart of solver performance comparison.
Figure 15. Line Chart of solver performance comparison.
Algorithms 18 00418 g015
Figure 16. Schematic diagram showing the start time of the task moving within the time window.
Figure 16. Schematic diagram showing the start time of the task moving within the time window.
Algorithms 18 00418 g016
Table 1. Previous research on satellite imaging and data transmission scheduling.
Table 1. Previous research on satellite imaging and data transmission scheduling.
LiteratureAgile SatelliteImaging and Transmission Are Performed in ParallelLimitated Ground Station ResourcesTime Window Discretized
[3,5]×××
[1,2,6,11,12]×××
[7,8,9,10]×
[13,14,15]××
[16,17,18]××
[19,20]××
[21,22]×
Table 2. Notation of parameters for the proposed MILP model.
Table 2. Notation of parameters for the proposed MILP model.
ParametersDefinition
SSatellite Collection
GGround station set
TTask Set
MNumber of Tasks
O k The orbit Set of satellite k
t i m e i Execution time of imaging task i
s l t i , j , k The time required for satellite k to complete the transition to task j after finishing task i
c i The benefit value of task i
g i , k The side view angle of satellite k performing task i
m a x g i The maximum side view angle of target i
E n e r g y k The energy limit for a single activation of satellite k
M e m o r y k The maximum storage capacity of satellite k
m _ u n i t k , 0 / 1 The data generated or freed by satellite k per unit time
e _ u n i t k , 0 / 1 Energy consumed per second for satellite imaging or data transmission
t i m e d i The time at which task j is transmitted from the satellite to the ground station
w s j , m , k The start time of the time window for task j executed by satellite k at orbit m
w e j , m , k The end time of the time window for task j executed by satellite k at orbit m
w s d j , m , k Start of the time window for ground stations in satellite k-orbit m
w e d j , m , k End of the time window for ground stations in satellite k-orbit m
s l e w t s i Transition time between two adjacent communication tasks at Earth station i
s l e w t g i Transition time between two adjacent communication tasks at Earth satellite i
Table 3. Notation of decision variables for the proposed MILP model.
Table 3. Notation of decision variables for the proposed MILP model.
Decision VariablesDefinition
g j , n , k Whether the ground station j communicates with the satellite k in the nth orbit
x i , m , k Whether target i is observed in the mth orbit of satellite k
y i , j , n , k Whether target i transmitted at ground station j through the nth orbit of satellite k
x _ t i m e i , k Observation time of target i on satellite k
x _ s t a r t i , k Observation start time of target I on Satel-lite K
x _ e n d i , k Observation end time of target I on Satel-lite K
g _ t i m e j , n , k Communication time of ground station j with the satellite k in the nth orbit
g _ e n d j , n , k Communication end time of ground sta-tion j with the satellite k in the nth orbit
g _ s t a r t j , n , k Communication start time of ground sta-tion j with the satellite k in the nth orbit
z 1 i 1 , i 2 , k The sequence of targets i1 and i2 observed on satellite k
z 1 a i , j , n , k The end time of data transmission task i executed by satellite k and ground station m
z 1 b i , j , n , k The end time of data transmission task i executed by satellite k and ground station m
z 1 c j 1 , n 1 , j 2 , n 2 , k The sequence of ground j1 at n1th and ground j2 at n2th orbit on satellite k
z 2 n 1 , k 1 , n 2 , k 2 , j The sequence of satellite k1 at n1th and satellite k2 at n2th orbit on station j
p i 1 , i 2 , k Capacity consumed when observing target i1 before target i2 on satellite k
p a i , j , n , k Capacity consumed when observing target i before station j with orbit n on satellite k
p b i , j , n , k Capacity released when observing target i after station j with orbit n on satellite k
p c j 1 , n 1 , j 2 , n 2 , k Capacity released when observing station j1 with orbit n1 before station j2 with orbit n2 on satellite k
p x _ s t o r a g e i , k Satellite storage when observing target i
p g _ s t o r a g e j , n , k Satellite storage when communicating with station j at orbit n
Table 4. Parameters of satellites for experiments.
Table 4. Parameters of satellites for experiments.
ParametersSat01Sat02Sat03Sat04
a609.1 km609.1 km609.1 km609.1 km
e1.64 × 10 3 1.54 × 10 3 5.11 × 10 4 1.1 × 10 3
i97.50°97.41°97.47°97.47°
ω 82.01°78.17°335.09°320.80°
Ω 349.16°334.40°342.09°342.30°
ν 52.73°33.30°162.46°173.56°
Table 5. Information of satellites for experiments.
Table 5. Information of satellites for experiments.
Sat m k energy k M k Energy k
Sat0122500500
Sat0222500500
Sat0322500500
Sat0422500500
Table 6. Information of targets for experiments.
Table 6. Information of targets for experiments.
Point1Point2Point3Point4Point5
Longitude11390100110115
Latitude1040353025
Table 7. Information of stations for experiments.
Table 7. Information of stations for experiments.
BeijingJiamusiKashgarNanningXiamen
Longitude116130.3275.929108.37118.09
Latitude4046.839.50522.8224.48
Table 8. Results of experiments.
Table 8. Results of experiments.
Target QuantityLPLPtimeCPCPtimeRLNSRLNStimeGAGAtime
10150.08150.37153133
20450.564510.773433814
30656.2365600.213412828
4012941.0812941.5710917740
50152601.16152600.359138555
1001983604.331983600.741524150146
15003600036001616226288
20003600036001748261473
300036000360016312327609
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yu, G.; Zhang, K. Research on the Integrated Scheduling of Imaging and Data Transmission for Earth Observation Satellites. Algorithms 2025, 18, 418. https://doi.org/10.3390/a18070418

AMA Style

Yu G, Zhang K. Research on the Integrated Scheduling of Imaging and Data Transmission for Earth Observation Satellites. Algorithms. 2025; 18(7):418. https://doi.org/10.3390/a18070418

Chicago/Turabian Style

Yu, Guanfei, and Kunlun Zhang. 2025. "Research on the Integrated Scheduling of Imaging and Data Transmission for Earth Observation Satellites" Algorithms 18, no. 7: 418. https://doi.org/10.3390/a18070418

APA Style

Yu, G., & Zhang, K. (2025). Research on the Integrated Scheduling of Imaging and Data Transmission for Earth Observation Satellites. Algorithms, 18(7), 418. https://doi.org/10.3390/a18070418

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop