40 #ifndef PALLAS_DIFFERENTIAL_EVOLUTION_H 41 #define PALLAS_DIFFERENTIAL_EVOLUTION_H 45 #include "pallas/history_concept.h" 46 #include "pallas/types.h" 47 #include "pallas/internal/crossover_strategy.h" 48 #include "pallas/internal/mutation_strategy.h" 49 #include "pallas/internal/shuffler.h" 50 #include "pallas/internal/state.h" 260 std::string BriefReport()
const;
262 std::string FullReport()
const;
311 const std::vector<Vector> &population,
313 const Vector &best_solution)
314 : iteration_number(iteration_number),
315 population(population),
316 best_cost(best_cost),
317 best_solution(best_solution) {}
341 const GradientProblem& problem,
353 void init_mutation_strategy_(MutationStrategyType type);
358 void init_crossover_strategy_(CrossoverStrategyType type,
364 void init_random_dither_(
const Vector2d&
dither);
369 void init_population_(PopulationInitializationType type);
380 void scale_parameters_(
const Vector& trial_in, Vector& trial_out);
391 void unscale_parameters_(
const Vector& trial_in, Vector& trial_out);
399 void ensure_constraint_(Vector& trial);
407 void update_std_dev_();
415 void mutate_(Vector& candidate,
unsigned int idx);
426 std::string *message,
427 TerminationType * termination_type);
433 const GradientLocalMinimizer::Summary &local_summary);
437 Vector upper_bounds_;
438 Vector lower_bounds_;
443 double fractional_std_dev_;
446 Vector population_energies_;
447 std::vector<Vector> population_;
448 Eigen::VectorXi population_idx_;
450 unsigned int num_parameters_;
451 unsigned int population_size_;
452 unsigned int num_iterations_;
467 const GradientProblem& problem,
481 #endif // PALLAS_DIFFERENTIAL_EVOLUTION_H Vector2d dither
Definition: differential_evolution.h:205
Vector lower_bounds
Definition: differential_evolution.h:215
double local_minimization_time_in_seconds
Definition: differential_evolution.h:288
unsigned int num_parameters
Definition: differential_evolution.h:282
PopulationInitializationType population_initialization
Definition: differential_evolution.h:181
double cost_evaluation_time_in_seconds
Definition: differential_evolution.h:290
std::string message
Definition: differential_evolution.h:276
Contains a summary of the optimization.
Definition: differential_evolution.h:254
bool was_polished
Definition: differential_evolution.h:292
Definition: basinhopping.h:51
unsigned int num_iterations
Definition: differential_evolution.h:284
unsigned int population_size
Definition: differential_evolution.h:192
Stores information about the state of the system for at a given iteration number. ...
Definition: differential_evolution.h:300
double minimum_cost
Definition: differential_evolution.h:197
bool polish_output
Definition: differential_evolution.h:234
unsigned int iteration_number
Definition: differential_evolution.h:318
CrossoverStrategyType crossover_strategy
Definition: differential_evolution.h:274
HistoryOutput(unsigned int iteration_number, const std::vector< Vector > &population, double best_cost, const Vector &best_solution)
Constructor.
Definition: differential_evolution.h:310
Minimizes an objective function by continuously evolving a population of candidate solutions...
Definition: differential_evolution.h:131
GradientLocalMinimizer::Options local_minimizer_options
Definition: differential_evolution.h:156
Definition: differential_evolution.h:136
GradientLocalMinimizer::Summary local_minimization_summary
Definition: differential_evolution.h:280
TerminationType termination_type
Definition: differential_evolution.h:264
HistorySeries history
Definition: differential_evolution.h:294
double tolerance
Definition: differential_evolution.h:229
Vector upper_bounds
Definition: differential_evolution.h:210
unsigned int history_save_frequency
Definition: differential_evolution.h:247
std::vector< Vector > population
Definition: differential_evolution.h:319
DifferentialEvolution()
Default constructor.
Definition: differential_evolution.h:327
double total_time_in_seconds
Definition: differential_evolution.h:286
double crossover_probability
Definition: differential_evolution.h:222
Vector best_solution
Definition: differential_evolution.h:321
MutationStrategyType mutation_strategy
Definition: differential_evolution.h:269
MutationStrategyType mutation_strategy
Definition: differential_evolution.h:167
Options()
Default constructor.
Definition: differential_evolution.h:142
double best_cost
Definition: differential_evolution.h:320
bool is_silent
Definition: differential_evolution.h:239
void Solve(const DifferentialEvolution::Options &options, const GradientProblem &problem, double *parameters, DifferentialEvolution::Summary *global_summary)
Minimizes the specified gradient problem.
Definition: differential_evolution.cc:122
void dump(const Basinhopping::HistoryOutput &h, HistoryWriter &writer)
Dumps the system state contained in the history output into the stream contained by the writer...
Definition: basinhopping.cc:323
unsigned int max_iterations
Definition: differential_evolution.h:186
double final_cost
Definition: differential_evolution.h:278
CrossoverStrategyType crossover_strategy
Definition: differential_evolution.h:172