# An Efficient Task Autonomous Planning Method for Small Satellites
## 3 Methods
### Algorithm Design
#### 3.2.3 Cross and Mutation Operator
* Step 2: Let \(g_{s}\) be a set of genes selected by \(W\) in the genome, and let \(g_{n}\) be a set of genes that are not selected by W in the genome. Choose \(g_{s}\) and \(t\) genes from \(g_{n}\) to form _genotype1_; the remaining genes in \(g_{n}\) make up the _genotype2_. * Step 3: Completely sort the genes of _genotype1_ in a time partially ordering, while the relative ordering of _genotype2_ remains unchanged. * Step 4: Store _genotype2_ in the places that exclude the positions of the \(t\) genes, and store _genotype1_ in the positions of the \(t\) genes and the positions of the genes in \(g_{s}\) to obtain a new genome. The process of TPOMO is shown in Figure 7. For convenience, we assume that all of the time windows satisfy the time constraints. Figure 6: A diagram of 10 time windows. The time partially ordering constraints can no longer contribute to increasing the number of tasks satisfying time constraints, when the genome fully satisfies the time partially ordering constraints. We call this state a fully partially ordering state. In this paper, we introduce new changes through crossover and mutation operations. The crossover and mutation operation can only be carried out within the influence set of the time windows. This is because the time windows in \(Inwin_{i}\) interact with \(win_{i}\). It is possible to generate new individuals by changing the ordering between the interacting windows so that the partial modification of the genome can be realized, while the genetic information of the rest of the genome can be preserved at the same time. In addition, we use the time partially ordering constraint to sort the new genomes in order, to ensure that the new individual still satisfies the time partially order constraint. Therefore, we propose an influence set crossover-mutation operator (ISCMO) to cross and mutate the genomes within the time window influence set, in order to obtain new individuals and to ensure that the new individuals fully meet the partially order constraints. The steps of ISCMO is shown as below:  
* Step 1: Obtain two individuals that are in line with this evolutionary direction. * Step 2: Select \(Inwin_{i}\), in turn, and perform the following crossover operations by probability. According to the original sequence, get \(Inwin_{i}\) from _genome1_ and _genome2_ to make up _genotype1_ and _genotype2_, respectively. Store _genotype1_ in the position of _genotype2_ and store _genotype2_ in the position of _genotype1_. * Step 3: Select two genes from \(Inwin_{i}\) randomly, and exchange the position of these two genes in _genome1_. Then perform the same operation on _genome2_. * Step 4: Sort _genome1_ and _genome2_ by time partially ordering to get new individuals. The process of ISCMO is shown in \[R=W\&R \tag{9}\]0  
\[R=W\&R \tag{9}\]1 The mutation process of the time partially ordering mutation operator (TPOMO). If \(W\) and \(R\) are not equal, it indicates that not all task instances satisfying the time constraints are allocated to the required resources. That is, some task instances that meet the time constraints do not meet the resource constraints. We call it an insufficient state of resources. Because of the limited allocation of resources within the planning time, there is no clear evolutionary direction at this time. We propose an inefficient time window crossover-mutation operator (ITWCMO) to solve this problem. The ITWCMO gives up the tasks with a low utilization of resources and selects new individuals with high resource utilization rates to improve the overall task income. The steps of ITWCMO is shown as below:  
* Step 1: Obtain two individuals that are in line with this evolutionary direction. * Step 2: Calculate the absolute utilization efficiency of two kinds of resources for each gene of the two individuals, separately. The absolute resource utilization efficiency of a certain resource in a certain time window is equal to the income of the task to which the time window belongs, divided by the amount of the resource consumed.