27 #include "cassini_1.h"
28 #include "../exceptions.h"
29 #include "../AstroToolbox/mga.h"
31 namespace pagmo {
namespace problem {
43 if (objectives != 1 && objectives !=2) {
44 pagmo_throw(value_error,
"Cassini_1 problem has either one or two objectives");
47 const double lb[6] = {-1000, 30, 100, 30 , 400 , 1000};
48 const double ub[6] = {0 , 400, 470, 400, 2000, 6000};
52 problem.type = total_DV_orbit_insertion;
54 int sequence_[6] = {3,2,2,3,5,6};
55 problem.sequence.insert(problem.sequence.begin(), sequence_, sequence_+6);
57 const int rev_[6] = {0,0,0,0,0,0};
58 problem.rev_flag.insert(problem.rev_flag.begin(), rev_, rev_+6);
74 MGA(x,problem,rp,Delta_V,f[0]);
76 f[1] = (x[2]+x[3]+x[4]+x[5]);
boost::shared_ptr< base > base_ptr
Alias for shared pointer to base problem.
std::vector< double > decision_vector
Decision vector type.
cassini_1(unsigned int=1)
Problem Constructor.
base_ptr clone() const
Clone method.
void objfun_impl(fitness_vector &, const decision_vector &) const
Implementation of the objective function.
std::string get_name() const
Get problem's name.
std::vector< double > fitness_vector
Fitness vector type.
f_size_type get_f_dimension() const
Return fitness dimension.
void set_bounds(const decision_vector &, const decision_vector &)
Bounds setter from pagmo::decision_vector.