## 3 Task Planning Model and Solving Algorithm  
### Task Planning Model  
#### 3.1.1 Main Constraints of the Planning Model  
In the satellite task planning stage, the constraint satisfaction model was adopted in this paper, and the main constraint conditions are as follows:  
Figure 2: Illustration of minimal clique partition for cluster graph [1]. * Observation time window constraint. For \(\forall\mathbb{C}^{c}_{i,u}\in\mathbb{C}^{c}_{i}\), \[\text{ObserS}_{i,u}\geq TW_{i,u}^{c},\text{Obser}E_{i,u}+d_{u}\leq TW_{i,u}^{c} \infty.\] (1)  
In the above formula, \(\text{ObserS}_{i,u}\) represents the observation begin time of the clustering task \(\mathbb{C}^{c}_{i-u}\) in the i\({}^{\text{th}}\) orbit, \(\text{Obser}E_{i,u}\) represents the observation end time, and \(d_{u}=\text{Obser}E_{i,u}-\text{ObserS}_{i,u}\) represents the observation time of task \(\mathbb{C}^{c}_{i-u}\). \(TW_{i}^{c}=\left\{TW_{i,1}^{c},TW_{i,2}^{c},\ldots,TW_{i,N}^{c}\right\}\) represents a set of visible time windows for all clustering tasks \(\mathbb{C}^{c}_{i}\), \(TW_{i,u}^{c}=\left[TW_{i,u}^{c},TW_{i,u}^{c}\right]\), where \(u\) is the number of clustering tasks. The observation time window constraint ensures that the task performs observations within a visible time window. * There can be no crossover among any two tasks, and the sensor cannot perform two tasks at the same time: \[\sum_{ \begin{array}{c}v=1\\ v\
eq u\end{array} }^{N}x_{uv}\leq 1\] (2) where \(x_{uv}\) represents the transition from task \(\mathbb{C}^{c}_{i,u}\) to task \(\mathbb{C}^{c}_{i,u^{\prime}}\), 1 represents the transition, and 0 represents no transition. * There must be sufficient preparation time between any two tasks, including sensor shutdown preparation time and satellite maneuvering time: \[\text{ObserS}_{i,u}+d_{u}+s_{uv}+transT_{uv}\leq\text{ObserS}_{i,u},\forall u,v\in N.\] (3)  
In the above formula, \(s_{uv}\) represents the preparation time of the satellite from the end of \(\mathbb{C}^{c}_{i,u}\) to the start of \(\mathbb{C}^{c}_{i,v}\), \(transT_{uv}\) is the slew angle conversion time from task \(\mathbb{C}^{c}_{i,u}\) to task \(\mathbb{C}^{c}_{i,v^{\prime}}\) and \(d_{u}\) is the observation time of task \(TW_{i,u}^{c}\). * Slew angle conversion constraint: \[\left|\text{ObserS}_{i,v}-\text{Obser}E_{i,u}\right|\geq\left|\Delta\theta_{ i,v}-\Delta\theta_{i,u}\right|/v_{s}.\] (4)  
In the above formula, \(\Delta\theta_{i,v}\) represents the observed slew angle of task \(\mathbb{C}^{c}_{i-v}\). \(\Delta\theta_{i,u}\) represents the observed slew angle of task \(\mathbb{C}^{c}_{i-u}\). \(v_{s}\) represents the average velocity of the satellite slew rotation. The conversion between the two tasks requires a certain amount of maneuvering time; otherwise, the observation of the two tasks cannot be completed. * The task has certain requirements for imaging time, and the observed process needs to meet the imaging duration constraint: \[\text{Obser}E_{i,u}-\text{ObserS}_{i,u}\geq d_{u}.\] (5) Single maximum boot time constraint: \[\text{max}T\geq d_{u}(u=1,2,\ldots,N).\] (6)  
In the above formula, \(\text{max}T\) is the maximum boot time of the sensor. The observation time of the task cannot exceed the maximum start-up time of the sensor. This has been constrained in the previous task clustering section. * Maximum boot times constraint of one orbit: \[\text{CountMax}\geq\sum_{u=1}^{N}x_{u}\] (7)where CountMax is the maximum number of start-up times of the sensor in one orbit and \(x_{u}\) is the decision variable. When the satellite observes \(\mathbb{C}^{c}_{i\_u}\) in the current orbit, \(x_{u}=1\); otherwise, \(x_{u}=0\). The above equation indicates that the number of executions of all the observations within one orbit does not exceed the maximum times of the sensor. * Energy constraint: \[\sum\limits_{u=1}^{N}x_{u}eid_{u}+\sum\limits_{u=1}^{N}\sum\limits_{ \begin{array} []{c}v=1\\ v\
eq u\end{array} }^{N}x_{uv}(s_{uv}+transT_{uv})\varepsilon_{uv}\leq E.\] (8)  
In the above formula, \(ei\) represents the energy consumed per unit time of task completion.