In this trajectory problem we design what is commonly called a deltaV-EGA manouvre to then fly-by Jupiter and reach 50AU. The objective function considered is the overall mission length and has to be minimsed. This creates an MGADSM problem where two more variables need to be added to the decision vector in order to be able to evaluate the keplerian orbit reached after the last fly-by.
- MATLAB: use the function sagas.m and pass to it the MGAproblem variable contained in sagas.mat
- C++: call the function "double sagas (const std::vector & x, double& DVtot, double& DVonboard)" provided in the GTOPtoolbox.
- C++ (PaGMO): use the class pagmo::problem::sagas
- Python 2.7 (PyGMO): use PyGMO.problem.sagas().obj_fun(x)
The box bounds on each of the decision vector variable are given below.
We also consider the following two contraints:
- deltaV_1 + deltaV_2 < 1.782
- deltaV:=deltaV_1 + delta V_2 + delta V_infinity < 6.782 km/s
which capture the limited on board fuel and the launcher performance.
Note that the bound on the departure deltaV is quite large and include a very strong minima at around 1-4 km/sec (1:1 Earth orbit resonance) that often tricks the optimisers. Clearly, by reducing this bound (knowledge-based pruning) one can drastically help any optimiser to locate the correct global optima. As here we are interested in the algorithmic performances, we selected the bounds to create an interesting optimisation problem rather than to simplify the problem as much as possible and thus we included zones of the search space one could prune out by experience.
The objective function is considered to the precision of 0.01 years.
The solutions submitted to this problem are listed below in chronological order
|T., Vinko, D., Izzo||European Space Agency||October 2005||18.19 years|
x=[7020.49, 5.34817, 1, 0.498915, 788.763, 484.349, 0.4873, 0.01, 1.05, 10.8516, -1.57191, -0.685429]