25 #ifndef PAGMO_PROBLEM_MGA_INCIPIT_CSTRS_H
26 #define PAGMO_PROBLEM_MGA_INCIPIT_CSTRS_H
30 #include "../config.h"
31 #include "../serialization.h"
34 #include <keplerian_toolbox/planet/gtoc6.h>
35 #include <keplerian_toolbox/epoch.h>
38 namespace pagmo{
namespace problem {
54 mga_incipit_cstrs(
const std::vector<kep_toolbox::planet::planet_ptr> = construct_default_sequence(),
55 const kep_toolbox::epoch t0_l = kep_toolbox::epoch(7305.0),
56 const kep_toolbox::epoch t0_u = kep_toolbox::epoch(11323.0),
57 const std::vector<std::vector<double> > tof = construct_default_tofs(),
64 std::string get_name()
const;
65 std::string pretty(
const std::vector<double> &x)
const;
66 void set_tof(
const std::vector<std::vector<double> >&);
67 const std::vector<std::vector<double> >& get_tof()
const;
68 std::vector<kep_toolbox::planet::planet_ptr> get_sequence()
const;
72 std::string human_readable_extra()
const;
75 static const std::vector<kep_toolbox::planet::planet_ptr> construct_default_sequence() {
76 std::vector<kep_toolbox::planet::planet_ptr> retval;
77 retval.push_back(kep_toolbox::planet::gtoc6(
"io").clone());
78 retval.push_back(kep_toolbox::planet::gtoc6(
"io").clone());
79 retval.push_back(kep_toolbox::planet::gtoc6(
"europa").clone());
82 static const std::vector<std::vector<double> > construct_default_tofs() {
83 std::vector<std::vector<double> > retval;
84 std::vector<double> dumb(2);
85 dumb[0] = 100;dumb[1] = 200;
86 retval.push_back(dumb);
87 dumb[0] = 3;dumb[1] = 200;
88 retval.push_back(dumb);
89 dumb[0] = 4;dumb[1] = 100;
90 retval.push_back(dumb);
94 friend class boost::serialization::access;
95 template <
class Archive>
96 void serialize(Archive &ar,
const unsigned int)
98 ar & boost::serialization::base_object<base>(*this);
101 ar &
const_cast<double &
>(m_tmax);
102 ar &
const_cast<double &
>(m_dmin);
104 std::vector<kep_toolbox::planet::planet_ptr> m_seq;
105 std::vector<std::vector<double> > m_tof;
113 #endif // PAGMO_PROBLEM_MGA_INCIPIT_CSTRS_H
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base problem.
std::vector< double > decision_vector
Decision vector type.
The beginning of the GTOC6 Jupiter Capture Trajectory.
std::vector< double > fitness_vector
Fitness vector type.
std::vector< double > constraint_vector
Constraint vector type.