The paper deals with the multiple gravity assist trajectories design. In order to improve the performance of the heuristic algorithms, such as differential evolution algorithm, in multiple gravity assist trajectories design optimization, a method combining BFS (breadthfirst search) and EP_DE (differential evolution algorithm based on search space exploring and principal component analysis) is proposed. In this method, firstly find the possible multiple gravity assist planet sequences with pruning based BFS and use standard differential evolution algorithm to judge the possibility of all the possible trajectories. Then select the better ones from all the possible solutions. Finally, use EP_DE which will be introduced in this paper to find an optimal decision vector of spacecraft transfer time schedule (launch window and transfer duration) for each selected planet sequence. In this paper, several cases are presented to prove the efficiency of the method proposed.
Multiple gravity assist in deep space exploration mission design can greatly reduce the fuel expense. In general, all the planets in solar system can be used to design the gravity assist trajectories. At the same time, each planet can be used more than once. So, there are so many possible planet sequences for the gravity assist trajectories design. For each possible gravity assist planet sequence, there also must be an outstanding algorithm which can find an optimal decision vector of spacecraft transfer time schedule. A global optimization method, such as differential evolution, is suggested for seeking solutions which are likely to be close to the global optimum. However, the optimal solution may not be found only with standard differential evolution, so there must be some improvements on it. How to design the gravity assist trajectories has attracted a lot of researchers to work on it, and lots of research achievements have been published [
In addition, in this paper, breadthfirst search was also mentioned. It is true that BFS can lead to an optimal solution if there is enough calculation expense. Frequently, some pruning methods must be used for BFS. However, usually there is no suitable pruning method that can be found easily. So some computer calculating methods are used here. Korf and Schultze propose the method of how to design largescale parallel breadthfirst search which can get a result in less calculation time [
When designing the multiple gravity assist trajectories, we must find the most possible gravity assist planets sequence and furthermore find the optimal solution of gravity assist time sequence [
We are devoted to finding a heuristic search algorithm based on machine learning, and EP_DE algorithm proposed in this paper can be seen as a basic version of this idea. And the feasibility of the algorithm has been proved by the benchmarks Cassini and GTOC1. With the development of hardware technology, heuristic algorithms based on machine learning will become a new research direction. So, EP_DE algorithm has important reference meaning for the development of heuristic search algorithm based on machine learning.
Obviously, compared to previous studies, the advantages of the method proposed in this paper are the guidance strategy based on data analysis. In prior studies, basic aerospace dynamics knowledge is usually used to reduce the global search space [
In this paper, a method combining BFS (breadthfirst search) and EP_DE (differential evolution algorithm based on search space exploring and principal component analysis) is proposed. Firstly, find the possible multiple gravity assist planet sequences with pruning BFS; here, some thresholds have been set to prune the search space. In order to judge the efficiency of the planet sequence, standard differential evolution algorithm is applied to find the initial decision of the planet sequence. And it should be noted that the reason why we use standard differential evolution algorithm here is that it can cost less time. Then, select out the better planet sequence from all the possible sequences. Finally, find the optimal decision vector of spacecraft transfer time schedule for the planet sequence selected with EP_DE algorithm.
The rest of the paper is organized as follows. Section
In general, there are two kinds of MGA (multiple gravity assist) trajectory design: PMGA (Powered Multiple Gravity Assist) and Unpowered Multiple Gravity Assist. In this paper, assume that the final planet is a fixed destination, and dynamical model in the numerical test cases is MGA with powered flyby. PMGA is the method of applying a pulse to the spacecraft when it flies by a planet. And Unpowered Multiple Gravity Assist is the method of applying a pulse to spacecraft in heliocentric coordinate system.
In the trajectory design of PMGA, the trajectory can be seen as a combination of several partial trajectories which are solved as Lambert problems. It can be seen from Figure
Multiple gravity assist trajectory.
The position vector of spacecraft in the heliocentric coordinate system is
Before the spacecraft flies by the gravity assist planet, the velocity of the spacecraft relative to the velocity of planet is
After the spacecraft flies by the gravity assist planet, the relative velocity is
Of course, the value of the two relative velocities is the same. The value can be represented to be
If the angle between
Assume that the planetary gravitational constant is
The value range of
Multiple gravity assist spacecraft trajectory design relies on two partial decision vectors. One is the sequence of planet; the other is decision vector of spacecraft transfer time schedule. Determine the sequence of planets and then solve the sequence of launch window and transfer duration. The calculation model is described as follows.
One partial decision vector is
Decision vector is
In each partial trajectory solved as a Lambert problem, there is a delta
Meanwhile the delta
So we can know that
The partial trajectory between two planets is solved as a Lambert problem. It is a twopoint boundary value problem,
When time is
If there are
Finally, when combining two partial trajectories, we should find the suitable
If
In this section, we will introduce the method proposed in detail. The introduction of the method is divided into two parts. One is how to use pruning based BFS to seek the gravity assist planet sequence, and the others are the process and efficiency of EP_DE algorithm.
There will be many possible planet sequences when optimizing the gravity assist trajectory if we do not prune the search space. So, some algorithm improvements about BFS must be proposed.
Assume that m planets are available and can be used for the gravity assist trajectory design, and the maximum times of gravity assist are
Tree searching with BFS.
Pruning methods appear to be especially important while there are so many branches. In addition, when the pruning method is not suitable, the optimal solution obtained will be not ideal. The reason why we only obtain some suboptimal solutions will be introduced in this paper.
As for how to prune the search space, the most direct method is to set a threshold value, although it is difficult to determine the threshold. In the experiment, the threshold is determined by experience. The value of each solution is obtained by standard DE algorithm which can estimate the efficiency of the gravity assist planet sequence. Then, pick out the most possible planet sequences, and go on to calculate the optimal value of each planet sequence picked out with EP_DE algorithm. Next, there is the introduction of the EP_DE proposed in this paper. When calculating the optimal value of the mission Cassini at which gravity assist planet sequence is EVVEJS (Earth, Venus, Venus, Earth, Jupiter, and Saturn), we usually get 5.3 km/s.
When using standard differential evolution algorithm to optimize trajectory design problem, it can be found that usually the suboptimal value valley is much larger than a better value valley in spatial size, so it is hard to find a better solution. In order to solve this special problem, the algorithm proposed in this paper is showed in Algorithm
Number of initialization samples: Pop0.
Number of samples retained: Pop1.
Number of clusters: Pop2.
Number of dimension division: Pop3.
Solution vector:
The main idea of algorithm is to explore the relationship between function value and variables. For one thing, estimate the general position of function value valley by initializing P0 samples in global search space; for another thing, learn the densest dimension of samples distribution in local search space.
In order to show the validity of method proposed in this paper, we use it to find the optimal solution in benchmark Cassini1 and GTOC1.
The meaning of search space exploring is to know the change of the function value in the search space by mathematical statistics.
There are two methods of search space exploring: method one is gridinitializing by using a large number of samples to know the relationship between search space function value and the variables change, which we call GI method. Method two randomly initializes a few parts of samples to know about the search space well, which is called method RI. For example, we initialize 25682962 samples in the experiment when using method RI and select the 500 best samples eventually. Apparently, the feature of method one in experiment results is low speed and high repeatability. When using method two, randomly initialize 2000 samples and pick out 500 excellent samples whose function values are outstanding. Apparently, the feature of method two in experiment results is high speed and low repeatability. In addition, the time system is JMD2000.
In the experiment of Cassini1, we use method one to explore the search space, and value range for each variable is in Table
Value range of each variable in Cassini.
Variable 







Min  −1000  30  100  30  400  1000 
Max  0  470  400  2000  2000  6000 
Gridinitialization number for each variable in Cassini.







30  30  30  100  100  200 
Value range of each variable in GTOC1.










Min  3000  14  14  14  14  100  366  300 
Max  10000  2000  2000  2000  2000  9000  9000  9000 
In the experiment of Cassini, cluster selected 500 samples into five communities. Principal component analysis was performed on the samples in each community we selected. Also there is a mechanism to ensure that there are enough samples in each community for the PCA to be statistically meaningful. If, in a community, there are no enough meaningful samples, we must produce some new samples around the samples reserved by normal distribution. Because the best solution was found in the fourth community, experiment result of the fourth community is showed here. Its samples number is 67, and the value range of community is showed in Table
Value range of the fourth community in Cassini.
Variable 







Min 

148  386  34  898  4504 
Max 

204  400  97  1220  4891 
In the experiment of GTOC1, the number of clusters is 3. Table
The spatial range of each community in GTOC1.
Community 










1  Max  9991  1993  1995  1979  1993  8985  8994  8983 
1  Min  4070  62  16  26  46  168  3893  3869 
2  Max  9989  1996  1991  1984  1986  8991  6338  8982 
2  Min  4865  27  17  19  56  3439  428  3007 
3  Max  9997  1997  1996  1982  1993  8997  8989  6087 
3  Min  5203  21  29  23  18  2930  2376  320 
Community 










1  Max  9989  1995  1991  1982  1997  8990  8991  8992 
1  Min  4265  40  23  17  54  144  3907  3923 
2  Max  9976  1994  1993  1979  1992  8995  6344  8992 
2  Min  4877  16  22  30  27  3504  445  3102 
3  Max  9994  1992  1989  1991  1986  8988  8975  6064 
3  Min  5157  32  22  34  27  3011  2476  396 
Community range in Cassini.
Community range in GTOC1.
Gain the covariance matrix by the fourth community samples, and eigenvalues and eigenvectors of the covariance matrix are calculated. From left to right, the characteristic value is arranged in the successive increasing order. The feature vector is represented as a column vector, and the feature vector corresponding to the characteristic value is also arranged from left to right in Table
Feature vector matrix in Cassini.
First component  Second component  Third component  Fourth component  Fifth component  Sixth component 





































Optimal value found is in the second community, and two PCA results which mean there are two experiments related to Table
Feature vector matrix in GTOC1.
First component  Second component  Third component  Fourth component  Fifth component  Sixth component  Seventh component  Eighth component 

−0.3850  −0.2518  −0.2510  0.1105  −0.3493  0.1704  0.2427  0.7093 
−0.0492  0.3120  0.3859  −0.6696  −0.3199  0.4230  −0.1061  0.1021 
−0.2776  0.6459  −0.5983  −0.1580  0.2905  0.0622  0.1809  −0.0423 
0.4842  0.4185  −0.1284  0.3069  −0.6616  −0.0948  0.1762  −0.0452 
−0.4723  0.3972  0.5264  0.2188  −0.0206  −0.5224  0.0346  0.1403 
0.3660  0.0344  −0.1872  −0.3740  0.0992  −0.5419  −0.3616  0.5057 
0.3856  0.0454  0.2862  −0.0729  0.3909  0.0490  0.7312  0.2686 
0.1794  0.2930  0.1400  0.4767  0.3008  0.4585  −0.4466  0.3675 
First component  Second component  Third component  Fourth component  Fifth component  Sixth component  Seventh component  Eighth component 

−0.1287  0.0755  −0.5779  0.4540  −0.1094  0.2181  −0.1042  −0.6060 
−0.0511  −0.0347  0.1628  −0.4753  −0.6551  0.5042  0.1035  −0.2230 
−0.0646  −0.1284  −0.0644  −0.1991  0.5942  0.3844  0.6374  −0.1686 
0.0696  0.0040  0.0960  −0.2124  0.4270  0.4605  −0.7376  −0.0494 
−0.1124  0.0311  −0.1876  −0.6225  0.1176  −0.5663  −0.1099  −0.4659 
−0.0825  −0.1345  0.7530  0.3088  0.0690  −0.1201  0.0018  −0.5418 
0.7923  0.5644  0.0581  −0.0158  0.0225  0.0072  0.1200  −0.1873 
0.5697  −0.7994  −0.1437  0.0071  −0.0664  −0.0574  −0.0402  −0.0799 
In order to prove the efficiency of the EP_DE algorithm, the different calculation results are compared here by using DE and EP_DE. Based on the idea of improvement for DE, we also try some other improvements for PSO algorithm and GA algorithm, and they are called EP_PSO and EP_GA. 20 independent runs are performed by each algorithm. In Table
The best results using DE, PSO, and GA.
Algorithm  Optimal value (km/s)  Independent runs 

DE  5.30  20 
PSO  5.30  20 
GA  6.83  20 
The best results using improved heuristic algorithm.
Algorithm  Optimal value (km/s)  Independent runs 

EP_DE  4.93  20 
EP_PSO  4.94  20 
EP_GA  5.80  20 
When dividing the community into several partitions on the selected dimension, the step size of the partition determines the optimal value we can find. Set different width of the partition and study the relationship between width of partition and the optimal value. The experiment results are in Table
Relationship between width of partition and optimal value.
Algorithm  Width (days)  Optimal value (km/s)  Independent runs 

EP_DE  20  4.93071  5 
EP_DE  16  4.93071  5 
EP_DE  12  4.93071  5 
EP_DE  8  4.93071  5 


EP_PSO  20  4.97  5 
EP_PSO  16  4.97  5 
EP_PSO  12  4.97  5 
EP_PSO  8  4.938560  5 


EP_GA  20  5.83  5 
EP_GA  16  5.81  5 
EP_GA  12  5.80  5 
EP_GA  8  5.80  5 
Dividing the space in the selected dimension, we can find that step size of partition determines the optimal value. Set different partition width and study the relationship between partition width and optimal value. Experiment result is in Table
Relationship between partition width and optimal value.
Width (days)  Community  Optimal value (change in semimajor axis) 

1000  1 

1000  2 

1000  3 

500  2 

In the experiment of Cassini1, we ever tried to use second screening to find the optimal value, but the optimal value was lost. So there might be rapid growing of function value near the optimal value. When exploring search space, the optimal value is also removed. We fix four of all variables and draw the relationship between function value and the remaining two variables
Relationship between function value change and variables
As can be seen from Figure
Relationship between function value change and variables
Relationship between function value change and variables
Relationship between function value change and variables
Relationship between function value change and variables
Differential evolution algorithm factors have a great influence on results. The results of experiments are summarized and analyzed here. When there are 200 samples and 800 generations, best result we found is −473311.67197 km. When there are 2000 samples and 2000 generations, best result we found is −885276.164762 km. After clustering, use differential evolution algorithm to find the optimal value in each community. Each optimal value is showed in Table
Optimal value of each community.
Algorithm  Community number  Optimal value (change in semimajor axis)  Independent runs 

DE  One 

5 
DE  Two 

5 
DE  Three 

5 
Optimal value of each community.
Algorithm  Community number  Optimal value (change in semimajor axis)  Independent runs 

DE  One 

5 
DE  Two 

5 
DE  Three 

5 
Stability of the algorithm.
Population  Generation  Optimal value (change in semimajor axis)  Worst value  Standard deviation  Independent runs 

2000  2000 


89121  10 
The global search space is estimated by the function value of samples in the global space. The community is estimated by PCA in each community. EP_DE algorithm can obtain the distribution of search space through this statistical method. Also, its efficiency in different problems is also different. In the calculation of the Cassini1, the results are relatively stable, while, in the calculation of the GTOC1, experiment result is still far from the optimal value that had already been announced. We will test the efficiency of EP_DE by other benchmarks in the next work.
Show the trajectory simulation based on the solution we have found. The trajectories simulations of Cassini and GTOC1 are in Figure
Trajectories simulation of Cassini (a) and GTOC1 (b).
The gravity assist planet sequence of above Cassini experiment mentioned is EVVEJS announced by ACT in ESA. And the best value found in Cassini with EVVEJS is 4.93 km/s. Of course, there may be a better gravity assist planet sequence. Next, we will try to seek a better solution with the method proposed in this paper.
In general, the value of the solution could be affected by transfer duration between two planets. In Tables
The minimum transfer duration between random two planets.
Mercury  Venus  Earth  Mars  Jupiter  Saturn  Uranus  Neptune  

Mercury  10  25  25  50  200  100  1000  2500 
Venus  25  50  15  150  250  200  1500  3000 
Earth  25  15  50  200  200  50  50  50 
Mars  50  150  200  150  500  500  2500  2500 
Jupiter  200  250  200  500  1000  500  2500  2500 
Saturn  100  200  50  500  500  250  500  500 
Uranus  1000  1500  50  2500  2500  500  5000  20000 
Neptune  2500  3000  50  2500  2500  500  20000  10000 
The maximum transfer duration between random two planets.
Mercury  Venus  Earth  Mars  Jupiter  Saturn  Uranus  Neptune  

Mercury  300  600  450  1200  9000  1500  75000  120000 
Venus  600  705  600  1200  9000  1500  75000  120000 
Earth  450  600  750  1500  3000  900  750  750 
Mars  1200  1200  1500  1500  12000  9000  75000  120000 
Jupiter  9000  9000  3000  12000  7500  9000  90000  135000 
Saturn  1500  1500  900  9000  9000  3000  75000  120000 
Uranus  75000  75000  750  75000  90000  75000  75000  300000 
Neptune  120000  120000  750  120000  135000  120000  300000  120000 
The search computation expense will be high if there is no pruning threshold. However how to find the suitable threshold is difficult. But there is some prior knowledge that can be used by us. Firstly, while seeking the optimal value in Cassini with DE algorithm, the result found usually comes to 5.3 km/s. Then, the maximum energy expense of direct transfer trajectory is no more than 15 km/s. So, in the former search process, in order to prevent the pruning of possible solution, the threshold we set is 20 km/s while in the later search process, in order to reduce the computation expense, the threshold we set is 6 km/s. In addition, sometimes, it cannot hold true that more gravity assist planets can reduce the total fuel expense. For example, in the experiment, we find that the fuel expense of planet sequence EVVS is higher than that EJS, while the fuel expense of planet sequence EVVEJS is lower than that EJS.
The planet sequence we gain with method proposed is EVVEEJS. Every time the experiment result obtained by EP_DE algorithm seems to be not stable. In several experiments we have finished, there are three different results shown in Table
Different results of Cassini for EVVEEJS.
Algorithm  Experiments  

Planet sequence  Total 




EP_DE  EVVEEJS  4.425189 km/s 




 

 

 

 

 

 


EP_DE  EVVEEJS  4.424657 km/s 




 

 

 

 

 

 


EP_DE  EVVEEJS  4.439864 km/s 




 

 

 

 

 


The feature of the optimal solution is obvious when seeking the optical solution of multiple gravity assist trajectory. It looks like looking for a needle in a sea; that is to say, it is so hard to find the optimal solution. In this paper, when fixing the gravity assist planet sequence and looking for the optimal solution with EP_DE algorithm, the method proposed was proved to be effective, although sometimes there may not be perfect performance. The value of Cassini obtained in this paper is better than that announced by ACT in ESA. Likewise, this method can be used for any problems of multiple gravity assist trajectory design.
All of the above experiments can illustrate the efficiency of the method proposed in this paper, especially the availability of EP_DE algorithm. Experimental result of Cassini has the same function value as that announced in the database of ACT in ESA, though the specific solution is different from that. Also, the experimental result of GTOC1 also performs well, even if the accuracy of the calculation depends on the step size. For Cassini, if minimum energy is used as the optimization objective, the planets sequence EVVEJS in the benchmark may not be the best selection, while the function value 4.425189 km/s based on the planets sequence EVVEEJS found in this paper is better than 4.93 km/s which is announced by ACT.
It is a new research trend for heuristic algorithms based on machine learning. EP_DE algorithm combining search space exploring and PCA proposed in this paper is the basic research work for it. But, in general, there are also some limitations of EP_DE algorithm. For example, the processes of data statistics and analysis will cost lots of time and computing resources. However, this problem can also be solved by means of the distributed computing and development of hardware technology.
The purpose of the machine learning here is to obtain more information from less data. In the future research work, in order to improve the calculation accuracy of EP_DE algorithm, deep learning, decision tree, neural network, and reinforcement learning can also be added into the EP_DE algorithm.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work is supported by Natural Science Foundation of China under Grant nos. 41571403, 61472375, and 61103144.