\hypertarget{group___selectors}{}\doxysection{Selection operators} \label{group___selectors}\index{Selection operators@{Selection operators}} Selectors are operators that select a subset of a population. Collaboration diagram for Selection operators\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{group___selectors} \end{center} \end{figure} \doxysubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classeo_det_select}{eo\+Det\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_det_tournament_select}{eo\+Det\+Tournament\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_fitness_scaling_select}{eo\+Fitness\+Scaling\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_linear_fit_scaling}{eo\+Linear\+Fit\+Scaling$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology$<$ P\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_neighborhood}{eo\+Neighborhood$<$ P\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_perf2_worth}{eo\+Perf2\+Worth$<$ E\+O\+T, Worth\+T $>$}} \begin{DoxyCompactList}\small\item\em Base class to transform raw fitnesses into fitness for selection. \end{DoxyCompactList}\item class \mbox{\hyperlink{classeo_perf2_worth_cached}{eo\+Perf2\+Worth\+Cached$<$ E\+O\+T, Worth\+T $>$}} \item class \mbox{\hyperlink{classeo_no_perf2_worth}{eo\+No\+Perf2\+Worth$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_proportional_select}{eo\+Proportional\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_random_select}{eo\+Random\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_best_select}{eo\+Best\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_no_select}{eo\+No\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_ranking}{eo\+Ranking$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_ranking_select}{eo\+Ranking\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology$<$ P\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_select}{eo\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_select_factory}{eo\+Select\+Factory$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_select_from_worth}{eo\+Select\+From\+Worth$<$ E\+O\+T, Worth\+Type $>$}} \item class \mbox{\hyperlink{classeo_det_tournament_worth_select}{eo\+Det\+Tournament\+Worth\+Select$<$ E\+O\+T, Worth\+T $>$}} \item class \mbox{\hyperlink{classeo_stoch_tournament_worth_select}{eo\+Stoch\+Tournament\+Worth\+Select$<$ E\+O\+T, Worth\+T $>$}} \item class \mbox{\hyperlink{classeo_roulette_worth_select}{eo\+Roulette\+Worth\+Select$<$ E\+O\+T, Worth\+T $>$}} \item class \mbox{\hyperlink{classeo_select_many}{eo\+Select\+Many$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_select_number}{eo\+Select\+Number$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_select_one}{eo\+Select\+One$<$ E\+O\+T, Worth\+T $>$}} \item class \mbox{\hyperlink{classeo_select_perc}{eo\+Select\+Perc$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_sequential_select}{eo\+Sequential\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_elite_sequential_select}{eo\+Elite\+Sequential\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classd_matrix}{d\+Matrix}} \item class \mbox{\hyperlink{classeo_sharing}{eo\+Sharing$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_sharing_select}{eo\+Sharing\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_social_neighborhood}{eo\+Social\+Neighborhood$<$ P\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_star_topology}{eo\+Star\+Topology$<$ P\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_stochastic_universal_select}{eo\+Stochastic\+Universal\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_stoch_tournament_select}{eo\+Stoch\+Tournament\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_topology}{eo\+Topology$<$ P\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_truncated_select_many}{eo\+Truncated\+Select\+Many$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_truncated_select_one}{eo\+Truncated\+Select\+One$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_trunc_select}{eo\+Trunc\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_rank_mu_select}{eo\+Rank\+Mu\+Select$<$ E\+O\+T $>$}} \item class \mbox{\hyperlink{classeo_elite_select}{eo\+Elite\+Select$<$ E\+O\+T $>$}} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$class E\+OT $>$ }\\bool \mbox{\hyperlink{group___selectors_ga8347829fdfecf3586ffc2cb8079932ac}{minimizing\+\_\+fitness}} () \item \mbox{\Hypertarget{group___selectors_gaef99936dbe253f9e8cdd70b3bfe2940b}\label{group___selectors_gaef99936dbe253f9e8cdd70b3bfe2940b}} double {\bfseries scale\+\_\+fitness} (const std\+::pair$<$ double, double $>$ \&\+\_\+minmax, double \+\_\+value) \item \mbox{\Hypertarget{group___selectors_gaddcc97344e2ccbe4aaf3f1dd65931f49}\label{group___selectors_gaddcc97344e2ccbe4aaf3f1dd65931f49}} {\footnotesize template$<$class It $>$ }\\double {\bfseries sum\+\_\+fitness} (It begin, It end) \item \mbox{\Hypertarget{group___selectors_gab85a11cdd311c8809eddf2bac3148773}\label{group___selectors_gab85a11cdd311c8809eddf2bac3148773}} {\footnotesize template$<$class E\+OT $>$ }\\double {\bfseries sum\+\_\+fitness} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop) \item \mbox{\Hypertarget{group___selectors_gad969fc799206eb0062cf4fe782c7ac74}\label{group___selectors_gad969fc799206eb0062cf4fe782c7ac74}} {\footnotesize template$<$class E\+OT $>$ }\\double {\bfseries sum\+\_\+fitness} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, std\+::pair$<$ double, double $>$ \&\+\_\+minmax) \item \mbox{\Hypertarget{group___selectors_ga5e2bde618aac2bfed9de3206edf22c65}\label{group___selectors_ga5e2bde618aac2bfed9de3206edf22c65}} {\footnotesize template$<$class It $>$ }\\It {\bfseries roulette\+\_\+wheel} (It \+\_\+begin, It \+\_\+end, double total, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gaad0180a7f6ced9e315e14703d4702e28}\label{group___selectors_gaad0180a7f6ced9e315e14703d4702e28}} {\footnotesize template$<$class E\+OT $>$ }\\const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries roulette\+\_\+wheel} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, double total, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga8382cc96a720883017b2138f40904f88}\label{group___selectors_ga8382cc96a720883017b2138f40904f88}} {\footnotesize template$<$class E\+OT $>$ }\\\mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries roulette\+\_\+wheel} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, double total, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga6e30bec2aeebd08ccaba514ff091b138}\label{group___selectors_ga6e30bec2aeebd08ccaba514ff091b138}} {\footnotesize template$<$class It $>$ }\\It {\bfseries deterministic\+\_\+tournament} (It \+\_\+begin, It \+\_\+end, unsigned \+\_\+t\+\_\+size, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga079bdcb2323eb20a28b8ce59e0b1832f}\label{group___selectors_ga079bdcb2323eb20a28b8ce59e0b1832f}} {\footnotesize template$<$class E\+OT $>$ }\\const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries deterministic\+\_\+tournament} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, unsigned \+\_\+t\+\_\+size, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gaf64c7c95bc9fd03223c21cdd62313700}\label{group___selectors_gaf64c7c95bc9fd03223c21cdd62313700}} {\footnotesize template$<$class E\+OT $>$ }\\\mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries deterministic\+\_\+tournament} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, unsigned \+\_\+t\+\_\+size, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga63394162fe4df6afbc8ebf2c82633055}\label{group___selectors_ga63394162fe4df6afbc8ebf2c82633055}} {\footnotesize template$<$class It $>$ }\\It {\bfseries inverse\+\_\+deterministic\+\_\+tournament} (It \+\_\+begin, It \+\_\+end, unsigned \+\_\+t\+\_\+size, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gaf6e7cf7aa1967db653cd4922644d68af}\label{group___selectors_gaf6e7cf7aa1967db653cd4922644d68af}} {\footnotesize template$<$class E\+OT $>$ }\\const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries inverse\+\_\+deterministic\+\_\+tournament} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, unsigned \+\_\+t\+\_\+size, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gac33541774d5ed3631eac4844cf9e39c0}\label{group___selectors_gac33541774d5ed3631eac4844cf9e39c0}} {\footnotesize template$<$class E\+OT $>$ }\\\mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries inverse\+\_\+deterministic\+\_\+tournament} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, unsigned \+\_\+t\+\_\+size, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gab59557aaa3186b9308a104d7023b84a1}\label{group___selectors_gab59557aaa3186b9308a104d7023b84a1}} {\footnotesize template$<$class It $>$ }\\It {\bfseries stochastic\+\_\+tournament} (It \+\_\+begin, It \+\_\+end, double \+\_\+t\+\_\+rate, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga6c65264b33d54d0a254b1b68d10b5053}\label{group___selectors_ga6c65264b33d54d0a254b1b68d10b5053}} {\footnotesize template$<$class E\+OT $>$ }\\const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries stochastic\+\_\+tournament} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, double \+\_\+t\+\_\+rate, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga486540b0c17bfcb78d374d38b8b64efc}\label{group___selectors_ga486540b0c17bfcb78d374d38b8b64efc}} {\footnotesize template$<$class E\+OT $>$ }\\\mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries stochastic\+\_\+tournament} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, double \+\_\+t\+\_\+rate, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gabe6b6a620f70ee36f27f9e4bae167330}\label{group___selectors_gabe6b6a620f70ee36f27f9e4bae167330}} {\footnotesize template$<$class It $>$ }\\It {\bfseries inverse\+\_\+stochastic\+\_\+tournament} (It \+\_\+begin, It \+\_\+end, double \+\_\+t\+\_\+rate, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga69569cf4945361b4755806fe1ad1824f}\label{group___selectors_ga69569cf4945361b4755806fe1ad1824f}} {\footnotesize template$<$class E\+OT $>$ }\\const \mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries inverse\+\_\+stochastic\+\_\+tournament} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, double \+\_\+t\+\_\+rate, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_ga0df5d4ad6973c31f4cf8ec844f486896}\label{group___selectors_ga0df5d4ad6973c31f4cf8ec844f486896}} {\footnotesize template$<$class E\+OT $>$ }\\\mbox{\hyperlink{struct_dummy}{E\+OT}} \& {\bfseries inverse\+\_\+stochastic\+\_\+tournament} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop, double \+\_\+t\+\_\+rate, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng) \item \mbox{\Hypertarget{group___selectors_gaa9170c9215db7fd849af6869cdc02f43}\label{group___selectors_gaa9170c9215db7fd849af6869cdc02f43}} {\footnotesize template$<$class E\+OT $>$ }\\bool \mbox{\hyperlink{group___selectors_gaa9170c9215db7fd849af6869cdc02f43}{minimizing\+\_\+fitness\+\_\+atomic}} () \begin{DoxyCompactList}\small\item\em Dynamically check if an E\+OT is minimizing. \end{DoxyCompactList}\item \mbox{\Hypertarget{group___selectors_ga5909359af83fec9efd8b122a934090d9}\label{group___selectors_ga5909359af83fec9efd8b122a934090d9}} {\footnotesize template$<$class E\+OT $>$ }\\bool \mbox{\hyperlink{group___selectors_ga5909359af83fec9efd8b122a934090d9}{minimizing\+\_\+fitness\+\_\+eo}} () \begin{DoxyCompactList}\small\item\em Statically check if an \mbox{\hyperlink{classeo_scalar_fitness}{eo\+Scalar\+Fitness}} is an eo\+Minimizing\+Fitness. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} Selectors are operators that select a subset of a population. Example\+: \begin{DoxyCodeInclude}{0} \end{DoxyCodeInclude} \doxysubsection{Function Documentation} \mbox{\Hypertarget{group___selectors_ga8347829fdfecf3586ffc2cb8079932ac}\label{group___selectors_ga8347829fdfecf3586ffc2cb8079932ac}} \index{Selection operators@{Selection operators}!minimizing\_fitness@{minimizing\_fitness}} \index{minimizing\_fitness@{minimizing\_fitness}!Selection operators@{Selection operators}} \doxysubsubsection{\texorpdfstring{minimizing\_fitness()}{minimizing\_fitness()}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ bool minimizing\+\_\+fitness (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Return true if the E\+OT targets a minimization problem. N\+O\+TE\+: if E\+OT has an atomic scalar fitness (e.\+g. double), it expects E\+OT to have an empty constructor.