Evolutionary Algorithms in Astrodynamics

This paper presents the method of solving the equations of motions by evolutionary algorithms. Starting from random trajectory, the solution is obtained by accepting the mutation if it leads to a better approximations of Newton’s second law. The general method is illustrated by finding trajectory to the Moon.


Introduction
In this paper, we examine the application of a simple evolutionary algorithm with mutation only (no recombination) for solving general dynamical problems resulting from Newton's second law and will use it to solve the special astrodynamical problem, namely finding the trajectory to the Moon.
In the last decades, there is a growing interest in the algorithms inspired by nature [1] [2]."Surviving of the fittest" applied so successfully by nature in the real world can be also very efficient in computer simulations.
The usual way of solving problems in astrodynamics is to start from differential equations resulting from Newton's second law, discretizate it and apply one of the standard numerical procedure like Runge-Kutta scheme.However this approach has some drawbacks.First, if we start the procedure from given positions and velocities, we don't know the destination, so if we want to, for example, land on the Moon, we have to try many different initial velocities to find the one which actually brings us to the Moon.
Second, the errors grow in each numerical steps, so the obtained trajectory can be very different from the real one, especially for the chaotic systems.
The evolutionary (genetic) algorithm method is free from this weakness.In this ap-proach, we fix the initial and final destination, start from the random initial trajectory and modify it as long as it necessary to approximate physical laws with a desired accuracy.
One way to apply evolutionary algorithm is to use the principal of least action as the fitness of the solution by choosing the value of the action.In the case of a motion of single body in the potential ( ) , , , U x y z t , the action S is: ( ) We could start with a random trajectory, modify it and choose it if it leads to the smaller value of the above integral.Although this procedure may be efficient in finding solution of Hamiltonian systems, its limitation is that it is restricted only to forces which possess potential energy.To circumnavigate this limitation, we will apply evolutionary algorithm directly to the Newton's second law.

Description of the Method
Let's start with Newton's second law: where 1, 2, 3 i = and instead of the initial conditions , As a starting point we choose randomly the trajectory ( ) ( ) ( ) , , x t y t z t .This trajectory of course doesn't satisfy Equation (2).We compute for this trajectory the left and righthand side of (2) and construct the distance d between them: Generally this give us at the beginning a huge number which express the fact that our chosen trajectory is far away from the actual trajectory which has to follow Newton's second law.
Next we choose random point on the trajectory, except boundary points which stay fixed, modify it and as a result obtain a new trajectory.By that we mean, we randomly choose time τ somewhere between initial time 0 t and destination time 1 t and add a random, small numbers , , a b c to the variables at that time ( ) ( ) This approach, based directly on bringing acceleration and forces to fit each other has the advantage over the minimalization of action ( 1) not only it allows to apply the procedure to nonconservative forces but also making sure about approaching the real solution because we know that the true solution satisfies the condition 0 d = whereas we don't know a priori the value of the action.

Trajectory to the Moon
As an application of the method laid down in section 2 we consider the special astrodynamical problem, namely finding the trajectory to the Moon [3] [4].In many astrodynamical cases we face a problem of finding trajectory with given initial and final position.Imagine, for example, a future space colony on the Moon or any planet which should obtain a supply (food, water) from the Earth in a given time to survive.Finding the trajectory to the Moon is interesting as all the forces acting on the spaceship in most parts of its trajectory are comparable.As a result we can achieve interesting chaotic, low-energy trajectories which was demonstrated by Belbruno to rescue Japanese spacecraft Hiten [5].
We choose a rotating coordinate system with angular velocity equal to Sun-Earth system.The Earth lay at the beginning of the system.The equations of motion are as follow:

Summary
We presented simple evolutionary algorithm with one trajectory at any given time and mutation as a selection mechanism.By changing the trajectory so as to make equal accelerations and forces, we were able to find a true trajectory which satisfies the Newton's second law.Trying this scheme for longer times could lead us to find interesting trajectories, for example, with small initial velocity (small rocket fuel consumption).
The general method presented in this article can be used to obtain solution to any physical problem described by mathematical equation.In particular, apart of astrodynamical problems similar to the one presented here, it can be useful in finding the solution of the internal structure of the stars (the values of the observable parameters both at the center and at the surface are given), in statistical mechanics problems like Ising model to obtain phase transition, in fluid dynamics problems where no-slip condition fixes the velocity on the boundaries or heat transfer problems.
the computed distance d according to (3) for the new trajectory is smaller than for the old trajectory we accept the change.In this manner after many iteration we can get very close to the real solution.
where x, y, z are the position of the spacecraft, , d Sun-Earth distance, M, m, µ denote respectively the mass of the Sun, Earth and Moon, ω angular velocity of the Sun-Earth system, and the two last terms in the first two equations describes centrifugal and Coriolis force.Applying the scheme presented in section 2, we wrote simple C++ program.In every step the algorithm chooses one point on the trajectory, change it and accept the mutation if it leads to the smaller value of the distance d (3).In our simulations we constrained the numbers of points between initial and final time to 200, restricted the maximal mutation value in one step to less than 10 −4 Earth-Moon distance, and as a starting and final position of the spacecraft choose respectively the point at 6500 km from Earth center and 2000 km from Moon center.After 8 10 ≈ iterations from the random trajectories we obtained the solution which differ from the real one by 6 10 d − ≈ .Some trajectories obtained in this matter are presented in Figure 1.