# A Satellite Task Planning Algorithm Based on a Symmetric Recurrent Neural Network
## 4 Mixed Integer Programming Model  
The essence of the satellite task planning problem is the selection of the appropriate observation task from the candidate observation tasks and determination of the execution order. Therefore, it is a typical combinatorial optimization problem. Therefore, we first express this problem as a mixed integer linear programming model. For convenience, the symbols used in this article are as follows:  
The decision variables are as follows:  
\[I_{i}=\left\{ \begin{array}{ll}1,&\quad\text{if \ task $i$ is selected},i=0,1,\ldots,N-1\\ 0,&\quad\text{otherwise}.\end{array} \right. \tag{1}\]  
\[y_{ij}=\left\{ \begin{array}{ll}1,&\quad\text{if \ task $i$ procedes task $j$, $i\
eq j$}\\ 0,&\quad\text{otherwise}.\end{array} \right. \tag{2}\] \begin{tabular}{|l l|} \hline _Indices_ & \\ \(i,j,n\) : & index \\ _Factors_ & \\ \(\mathrm{iSAT}_{n}\) & smart satellite number \\ \(m_{i}\) & task number \\ \(R\) : & the entire scheduling horizon \\ \(Tr\) : & total length of horizon \(R\) \\ \(p_{i}\) : & The observed profit of task \(i\) \\ \(N\) : & total number of tasks in the scheduling horizon \\ \(sp_{\mbox{\tiny{rd}}}\) : & rolling speed of satellite \\ \(D\) : & the available date storage on the satellite \\ \(d\) : & the date storage threshold on the satellite \\ \(d_{\mbox{\tiny{initial}}}\) : & the initial date storage state on the satellite \\ \(E\) : & the available energy on the satellite \\ \(e\) : & the energy threshold on the satellite \\ \(e_{\mbox{\tiny{initial}}}\) : & the initial energy on the satellite \\ \(\omega\) : & the available working time on the satellite \\ \(d_{i(+i)}\) : & release date storage of task \(i\) \\ \(e_{i(+i)}\) : & release energy of task \(i\) \\ \(d(T)\) : & data storage state at time \(T\) \\ \(e(T)\) : & energy state at time \(T\) \\ \(\mbox{\it{If}}_{i}\) : & latest finish date of task \(i\) \\ \(otw_{i}\) : & observation time window of task \(i\) \\ \(\dot{i}_{i}\) : & imaging time of task \(i\) \\ \(\theta\) : & the rolling angle for task \(i\) \\ \(s_{ij}\) : & sequence-dependent setup time if task \(j\) is executed \\  & successively after task \(i\) \\ \(Ts_{i}\) : & observation start time of \(i\) \\ \(Te_{i}\) : & observation end time of \(i\) \\ \hline \end{tabular}   
The model is as follows:  
\[\sum_{j=1,j\
eq i}^{N}y_{ij}=I_{i}\,\forall i=0,1,\ldots,N-1 \tag{3}\]  
\[(Ts_{i}+i(i))I_{j}+s_{ji}\leq Te_{i},\forall i=0,1,\ldots,N-1 \tag{4}\]  
\[(Ts_{j}+i(j))I_{i}\leq Te_{j},\forall j=0,1,\ldots,N-1 \tag{5}\]  
\[s_{ij}=\frac{\left|\theta_{i}-\theta_{j}\right|}{sp_{\mbox{\tiny{roll}}}} \tag{6}\]\[Te_{i}\leq lf_{i}I_{i},\forall i=0,1,\ldots,N-1 \tag{7}\]  
\[Ts_{i}+i(i)=Te_{i},\forall i=0,1,\ldots,N-1 \tag{8}\]  
\[d_{initial}\sum_{i=0}^{N-1}d_{i}I_{i}\leq D \tag{9}\]  
\[e\leq e_{initial}+\sum_{i=0}^{N-1}e_{i}\leq E \tag{10}\]  
\[\sum_{i=0}^{N-1}\left(i_{i}I_{i}+\sum_{j=0}^{N-1}s_{ij}y_{ij}\right)\leq\omega \tag{11}\]  
\[P=\sum_{i=0}^{N-1}p_{i}I_{i} \tag{12}\]  
Equation (3) defines the rule that, if a task command arrives at the satellite and is accepted by the satellite, the task is executed only before one task and can only be completed by one task. If the above rules are not accepted, the task does not enter the task planning sequence. Receiving task \(j\) means that task \(j\) becomes a task before task \(i\). Equation (4) and Formula (5) show that if task \(i\) has been determined in the planning arrangement, task \(j\) is after task \(i\), and the completion time of task \(j\) needs to consider the sequence-related setting time between task \(i\) and task \(j\), and the imaging time of task \(j\). Equation (6) shows that, assuming that the observation task \(j\) is executed after the observation task \(i\), there is a switching time \(s_{ij}\) between task j and task \(i\). Equation (7) shows that all tasks in the sequence are completed before the latest completion time. Equation (8) shows that the completion time of the task is equal to the start time of the task plus the imaging time of the task.